Yocto takes up a lot of space when it builds. If the /home partition is 30 GB or smaller, I am going to fill it up. The systems I get provisioned from Beaker are routinely splitting their disks between / and /home. These are both logical volumes in the same volume group. This is easy to merge.
In order to merge them I find myself performing the following steps.
umount /home/ mkdir /althome |
I then modify /etc/fstab so that the /home entry is now pointing to /althome. If I have done any work in /home/ayoung (almost always) I have to copy it to the new /home partition
mount /alhome/ cp /althome/ayoung /home/ayoung |
Once the home volume has been cleared, I can reclaim the space. The following lines will vary depending on the name of the machine.
lvremove /dev/rhel_hpe-moonshot-02-c07/home lvresize -L +32.48G /dev/rhel_hpe-moonshot-02-c07/root |
I am explicitly reclaiming the size of the /home volume, which in this case is 32.48 GB.
A little bit of foresight can obviously avoid this problem; properly allocate the disks according to the workload. Requesting a machine with more disk is also an option.
But sometimes we have to fix mistakes.
Note that I use the lvdisplay command to see the names of the volumes.
In order to make use of the new space, I have to resize the file system. Since it is XFS, I use the xfs_grow command. I want the full size, so I don’t need to pass a parameter.
xfs_growfs /dev/mapper/rhel_hpe--moonshot--02--c07-root |