Created
August 31, 2017 20:51
-
-
Save israelshirk/dc1d3acb55aaa5fa14e99c7bb1ddcdd0 to your computer and use it in GitHub Desktop.
Snippets for copying and formatting GCE disks to and from XFS.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute disks snapshot "$disk" --snapshot-names "$disk" --zone=us-west1-a | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute disks create $(echo $disk | sed "s/^.../old/") --source-snapshot=$disk --zone=us-west1-a | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute disks delete "$disk" --zone=us-west1-a | |
gcloud compute disks create $(echo $disk | sed "s/^.../old/") --source-snapshot=$disk --zone=us-west1-a | |
gcloud compute disks create "$disk" --size=15GiB --zone=us-west1-a | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
ssh -t [email protected] -- sudo 'bash -x -c "mkfs.ext4 /dev/sdb || mkfs.ext4 /dev/sdc || mkfs.ext4 /dev/sdd || mkfs.ext4 /dev/sde"' | |
gcloud compute instances detach-disk transfer-instance --disk="$disk" | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute instances attach-disk transfer-instance --disk=$(echo $disk | sed "s/^.../old/") | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
ssh -t [email protected] -- sudo 'bash -x -c "mkdir -p /mnt/src && mkdir -p /mnt/dest && mount /dev/sdb /mnt/src && mount /dev/sdc /mnt/dest && cp -a /mnt/src/* /mnt/dest/; umount /dev/sdb; umount /dev/sdc"' | |
gcloud compute instances detach-disk transfer-instance --disk=$(echo $disk | sed "s/^.../old/") | |
gcloud compute instances detach-disk transfer-instance --disk="$disk" | |
done | |
gcloud compute disks snapshot "$disk" --snapshot-names "$disk" --zone=us-west1-a | |
gcloud compute instances attach-disk transfer-instance --disk=$(echo $disk | sed "s/^.../old/") | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
gcloud compute snapshots delete "$disk" | |
gcloud compute disks create "$disk" --source-snapshot=$disk --size=15GiB --zone=us-west1-a | |
gcloud compute disks delete "$disk" | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data; do | |
gcloud compute instances attach-disk transfer-instance --disk="$disk"-old | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
ssh -t [email protected] -- sudo 'bash -x -c "mount /dev/sdb /mnt/src && mount /dev/sdc /mnt/dest && cp -a /mnt/src/* /mnt/dest/; umount /dev/sdb; umount /dev/sdc"' | |
gcloud compute instances detach-disk transfer-instance --disk="$disk"-old | |
gcloud compute instances detach-disk transfer-instance --disk="$disk" | |
gcloud compute disks create "$disk" --source-snapshot=$disk --size=15GiB --zone=us-west1-a | |
gcloud compute disks delete "$disk" | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute disks snapshot "$disk" --snapshot-names "$disk" | |
gcloud compute disks delete $(echo $disk | sed "s/^.../old/") | |
gcloud compute disks delete "$disk" | |
gcloud compute disks create $(echo $disk | sed "s/^.../old/") --source-snapshot=$disk --zone=us-west1-a | |
gcloud compute disks create "$disk" --size=15GiB --zone=us-west1-b | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
ssh -t [email protected] -- sudo 'bash -x -c "mkfs.ext4 /dev/sdb || mkfs.ext4 /dev/sdc || mkfs.ext4 /dev/sdd || mkfs.ext4 /dev/sde"' | |
gcloud compute instances detach-disk transfer-instance --disk="$disk" | |
done | |
for disk in gitlab-data postgresql-data redis-data redis-disk sentry-data gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e; do | |
gcloud compute instances attach-disk transfer-instance --disk=$(echo $disk | sed "s/gke/old/") | |
gcloud compute instances attach-disk transfer-instance --disk="$disk" | |
ssh -t [email protected] -- sudo 'bash -x -c "mount /dev/sdb /mnt/src && mount /dev/sdc /mnt/dest && cp -a /mnt/src/* /mnt/dest/; umount /dev/sdb; umount /dev/sdc"' | |
gcloud compute instances detach-disk transfer-instance --disk=$(echo $disk | sed "s/gke/old/") | |
gcloud compute instances detach-disk transfer-instance --disk="$disk" | |
done | |
for disk in gke-core-b414f88f-dyna-pvc-444be9f4-5d32-11e7-97ab-42010a8a012e gke-core-b414f88f-dyna-pvc-8e70f528-4bc2-11e7-97ab-42010a8a012e gitlab-data postgresql-data redis-data redis-disk sentry-data; do | |
gcloud compute snapshots delete "$disk" | |
gcloud compute disks snapshot "$disk" --snapshot-names "$disk" | |
gcloud compute disks delete "$disk" | |
gcloud compute disks create "$disk" --source-snapshot=$disk --size=15GiB --zone=us-west1-a | |
done | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment