Skip to content

Instantly share code, notes, and snippets.

@carlsverre
Created July 15, 2020 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carlsverre/3ac03d4be0e14bfcfb08af8837db63b6 to your computer and use it in GitHub Desktop.
Save carlsverre/3ac03d4be0e14bfcfb08af8837db63b6 to your computer and use it in GitHub Desktop.
Setup & merge all ephemeral drives on an EC2 instance
#!/usr/bin/env bash
set -eux
DEVICES=$(ls /dev | egrep -o nvme.n1 | sort -u | grep -v $(df -h | egrep -o nvme.n1) | sed 's_\<_/dev/_g')
echo "Setting up the following devices:"
echo ${DEVICES}
read -p "Are you sure? " -n 1 -r
echo
if [[ "${REPLY}" =~ ^[Yy]$ ]]
then
pvcreate ${DEVICES}
vgcreate vg-ephemeral ${DEVICES}
lvcreate -n swap -L 128G vg-ephemeral
lvcreate -n temp -L 512G vg-ephemeral
lvcreate -n data -l 100%FREE vg-ephemeral
mkswap /dev/vg-ephemeral/swap
swapon /dev/vg-ephemeral/swap
mkfs.ext4 -E nodiscard /dev/vg-ephemeral/temp
mount /dev/vg-ephemeral/temp /tmp
chmod 777 /tmp
mkfs.xfs -K /dev/vg-ephemeral/data
mkdir -p /data
mount /dev/vg-ephemeral/data /data
chown -R ec2-user:ec2-user /data
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment