I needed to shrink a disk of a DRDB using instance. Each of my nodes has 10GB for / and the rest of the disk for LVM.
The official way seems to be gnt-backup export, then gnt-instance inport and manually specify the new smaller disk.
That seemed time intensive, and the export writes to the host filesystem and I didn't have enough room.
So the best I came up with, with some help from #ganeti (very helpful, thanks) is:
1) inside the guest resize the filesystem to the new size
2) shutdown instance, then activate disks
3) lvresize both halves
4) drbdsetup /dev/drbd<device id> -f
5) gnt-instance deactivate-disks
6) /etc/init.d/ganeti stop on the head node
7) edit config.data changing the old size for the disk to the new correct size.
8) /etc/init.d/ganeti start on the head node
9) gnt-instance start
Does anyone have something safer and/or cleaner that doesn't involve copying the entire device to a new device?