diff --git a/pages/ExpandLinuxDisk.md b/pages/ExpandLinuxDisk.md new file mode 100644 index 0000000..a53b283 --- /dev/null +++ b/pages/ExpandLinuxDisk.md @@ -0,0 +1,104 @@ +# Expanding a Linux Disk on a VM + +If a VM is getting a bit tight for disk space, you can expand the size of a drive. This example is the more difficult one of expanding the primary drive. The example uses the instance name rpki.dfw.rg.net, which should be replaced by your own, of course. + +## Tell Ganeti to Grow the Disk + +**Unless you want the glow-disk to take a very long time, turn off drbd for the instance and turn it back on at the end of all this.** + +``` +gnt-instance stop rpki.dfw.rg.net +gnt-instance modify -t plain --no-wait-for-sync rpki.dfw.rg.net +gnt-instance start rpki.dfw.rg.net +``` + +First you need to make the Ganeti disk allocation larger. + +``` +gnt-instance grow-disk rpki.dfw.rg.net 0 8G +``` + +grows the priimary drive by 8G. + +This allocates more disk in Ganeti and creates a larger partition. But it does not tell Linux that the disk is bigger. + +Also, like many gnt-instance modify commands, it will not take effect until the next Ganeti start, not reboot within the VM, but a real Ganeti instance reboot or shutdown/start. + +## Increasing the Linux Partition Size + +You can not grow the primary partion while running it. So stop the instance + +``` +gnt-instance shutdown rpki.dfw.rg.net +``` + +You will need the VNC console, so get the port number + +``` +gnt-instance info rpki.dfw.rg.net | grep console + console connection: vnc to vm3.dfw.rg.net:11014 (display 5114) + serial_console: True +``` + +11014 in this example + +You will also need the cluster VNC password, which is in `/etc/ganeti/vnc-cluster-password` + +Boot from an appropriate CD ROM. Note that you need a desktop ISO, not a server + +``` +gnt-instance start -H boot_order=cdrom,cdrom_image_path=/ISOs/ubuntu-16.04.1-desktop-amd64.iso rpki.dfw.rg.net +``` + +And then start VNC to the console. + +- Choose Try Ubuntu +- Choose the File Drawer +- Choose the Computer Device +- Click on the Search Magnifying Glass +- Type 'gparted' +- There will be a 'gparted' icon, click it to run gparted +- [ there must be an easier way to do this ] + +To expand the /dev/vda1 ext4 partition, you have to get the swap and extended partitions out of the way. + +- Right click swap and turn Swapoff +- Right click the swap partition again and delete it +- Right click the exttended partition and delete it +- Click Edit in the menu bar and Apply All Operations +- Confirm, and when it's done, say thank you + +You now should have the /dev/vda1 ext4 partition and a big unused partition. Now you can grow the /dev/vda1. But remember to leave room to create a new swap partition. + +N.B. If you have a disk with LVM2 partitions, gparted will automatically activate them. This will prevent you from resizing the partition with grow/resize. You can turn the LogicalVolumes off with 'vgchange -a n'. + +Now + +- Right click /dev/vda1 and select Resize/Move +- You can drag the bar or crank numbers in +- Be sure to leave room for a swap partition +- Click Resize/Move +- Right click the unallocated partition and select New +- Create as: Primary Partition +- File system: linux-swap +- Add the all the remaining unallocated disk space (unless you had other plans) +- Click Edit in the menu bar and Apply All Operations +- Confirm, and when it's done, say thank you + +You should now have /dev/vda1 with an increased size and /dev/vda2 as a linux-swap partition. + +Quit gparted and shut-down the linux desktop system. + +You should now be able to start the VM + +``` +gnt-instance reboot rpki.dfw.rg.net +``` + +and find that it has been resized. It may take a while to restart. I suspect drbd, but really have no idea. + +Once it has booted, ssh in as root and + +``` +resize2fs +``` \ No newline at end of file