Increase Google Cloud virtual machine instance disk size without service interruption.
Google Cloud
Use gcloud
command-line utility to increase available disk space.
$ gcloud compute disks resize personal-instance-1 --size 200G --zone europe-west1-b --project personal-project This command increases disk size. This change is not reversible. For more information, see: https://cloud.google.com/sdk/gcloud/reference/compute/disks/resize Do you want to continue (Y/n)? Updated [https://www.googleapis.com/compute/v1/projects/personal-project/zones/europe-west1-b/disks/personal-instance-1]. --- creationTimestamp: '2019-05-31T01:37:32.808-07:00' id: '1336862165669075235' kind: compute#disk labelFingerprint: 42WmSpB8rSM= lastAttachTimestamp: '2019-05-31T01:37:32.809-07:00' licenseCodes: - '1000207' licenses: - https://www.googleapis.com/compute/v1/projects/centos-cloud/global/licenses/centos-7 name: personal-instance-1 physicalBlockSizeBytes: '4096' selfLink: https://www.googleapis.com/compute/v1/projects/personal-project/zones/europe-west1-b/disks/personal-instance-1 sizeGb: '200' sourceImage: https://www.googleapis.com/compute/v1/projects/personal-project/global/images/lpp-elastic-base-image-20190531073519 sourceImageId: '4276414890599343955' status: READY type: https://www.googleapis.com/compute/v1/projects/personal-project/zones/europe-west1-b/diskTypes/pd-standard users: - https://www.googleapis.com/compute/v1/projects/personal-project/zones/europe-west1-b/instances/personal-instance-1 zone: https://www.googleapis.com/compute/v1/projects/personal-project/zones/europe-west1-b To take a quick anonymous survey, run: $ gcloud alpha survey
You are halfway through, now you need to update instance configuration.
Debian
Inspect available and allocated disk space.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─sda1 8:1 0 100G 0 part /
$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.8G 0 1.8G 0% /dev tmpfs 371M 11M 360M 3% /run /dev/sda1 99G 1.1G 94G 2% / tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
I will use growpart
utility. It is provided by the cloud-guest-utils
package.
$ dpkg-query -S growpart cloud-guest-utils: /usr/share/man/man1/growpart.1.gz cloud-guest-utils: /usr/bin/growpart
Expand disk partition.
$ sudo growpart /dev/sda 1 CHANGED: partition=1 start=4096 old: size=209711071 end=209715167 new: size=419426271,end=419430367
Inspect allocated disk space.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─sda1 8:1 0 200G 0 part /
Inspect filesystem type.
$ sudo blkid /dev/sda1 /dev/sda1: UUID="1e33928a-82a6-4e67-62f3-1b7b9b2603d7" TYPE="ext4" PARTUUID="5b8988ba-01"
Resize filesystem.
$ sudo resize2fs /dev/sda1 resize2fs 1.43.4 (31-Jan-2017) Filesystem at /dev/sda1 is mounted on /; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 25 The filesystem on /dev/sda1 is now 52428283 (4k) blocks long.
Inspect available disk space.
$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.8G 0 1.8G 0% /dev tmpfs 371M 11M 360M 3% /run /dev/sda1 197G 1.1G 188G 1% / tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
Done.
CentOS
Inspect available and allocated disk space.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─sda1 8:1 0 100G 0 part /
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 61G 40G 61% / devtmpfs 6,3G 0 6,3G 0% /dev tmpfs 6,3G 0 6,3G 0% /dev/shm tmpfs 6,3G 121M 6,2G 2% /run tmpfs 6,3G 0 6,3G 0% /sys/fs/cgroup tmpfs 1,3G 0 1,3G 0% /run/user/1052
I will use growpart
utility.
Notice,
growpart
utility is provided by the gce-disk-expand
package.$ rpm -qf /bin/growpart gce-disk-expand-1.0.5-1505406172.el7.x86_64
Expand disk partition.
$ sudo growpart /dev/sda 1 CHANGED: partition=1 start=2048 old: size=209710462 end=209712510 new: size=419422972,end=419425020
Inspect allocated disk space.
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─sda1 8:1 0 200G 0 part /
Inspect filesystem type.
$ sudo blkid /dev/sda1 /dev/sda1: LABEL="/" UUID="43e9328e-3216-47e6-82fe-1b709b26b3d7" TYPE="xfs"
Resize filesystem.
$ sudo xfs_growfs /dev/sda1 meta-data=/dev/sda1 isize=512 agcount=41, agsize=655296 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=26213807, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Inspect available disk space.
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 200G 61G 140G 31% / devtmpfs 6.3G 0 6.3G 0% /dev tmpfs 6.3G 0 6.3G 0% /dev/shm tmpfs 6.3G 121M 6.2G 2% /run tmpfs 6.3G 0 6.3G 0% /sys/fs/cgroup tmpfs 1.3G 0 1.3G 0% /run/user/1052
Additional information
Inspect Google Cloud image packages and Google Cloud images.