There is no more space in root filesystem. How could I increase the size?

10 réponses [Dernière contribution]
myrcy

I am a member!

Hors ligne
A rejoint: 10/30/2021

Hello everyone,
I am having a bit of an issue with my Trisquel system. My root file system appears to be out of space. However, my `home` directory shows around 297.4 Gigabyte (GB) of free space.

How can I expand the amount of space on the root file system?

Avron

I am a translator!

Hors ligne
A rejoint: 08/18/2020

How is your system partitioned? The output of "lsblk --fs" should provide the useful information.

Magic Banana

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/24/2010

Indeed. If /home is on an XFS filesystem, another large-enough disk will be needed, because XFS cannot be shrunk, only deleted.

myrcy

I am a member!

Hors ligne
A rejoint: 10/30/2021

`lsblk --fs` returns the following:


NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1

├─sda2
│ vfat FAT32 BA36-E39B 511.7M 0% /boot/efi
├─sda3
│ ext4 1.0 ea98336a-83c5-4c95-83f7-3786a9d0e409 1.3G 10% /boot
└─sda4
crypto 2 17bc0f8d-1316-4deb-ae0b-f50cb16ca241
└─sda4_crypt
LVM2_m LVM2 1NWtsQ-LXoL-UVgR-S3Q8-qL3S-BfN7-PvzZ29
├─vgtrisquel-root
│ ext4 1.0 2d164f68-c84f-4173-a786-8598d999b6da 245.4M 94% /
├─vgtrisquel-swap_1
│ swap 1 b4313d31-1405-4c28-9ed3-f50f069ccc68 [SWAP]
└─vgtrisquel-home
ext4 1.0 55030d2c-b19c-48ce-bd98-849e5c9c06ae 276.9G 30% /home

myrcy

I am a member!

Hors ligne
A rejoint: 10/30/2021

Thank you so much for all of your help.
I'm not the most familiar with this. I believe the main partition is `ext4` but am somewhat unfamiliar with `xfs`.

Magic Banana

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/24/2010

By definition, the root partition is the one whose mount point (last column of lsblk's output) is /. The filesystem type (second column of lsblk's output) where your /home is ext4, not XFS. Ext4 can be shrunk. Moreover, LVM manages your partition. That is supposed to ease the operation: no need to use a live system, I believe. Nevertheless, I have never learnt to use LVM. You may want to wait for the help of somebody knowledgeable about LVM.

EDIT: here he is: Avron! :-)

eric23
Hors ligne
A rejoint: 06/30/2017

I would not do it on the mounted disk. I used the live usb to resize. Another thing that helps is to remove unneeded kernels and other packages:

apt autoremove

Before attempting to resize you should back up your important files.

To resize the filesystem you will probably have to do a fsck first and the system will tell you to do so.

The mount command should tell you what is mounted:

mount
fsck.ext4 -f /dev/vgtrisquel/root
fsck.ext4 -f /dev/vgtrisquel/home

Then you can resize the home filesystem and lvm volume
If you want increase your root by 30G, you may shrink your home by 30G with the command, where /dev/vgtrisquel/home is your home volume and your /dev/sda4_crypt is your physical volume:

lvresize --resizefs -L -30G /dev/vgtrisquel/home /dev/sda4_crypt

And then resize the root.

lvresize --resizefs -L +30G /dev/vgtrisquel/root /dev/sda4_crypt

That's at least how I do it. I think according to the documentation the physical volume is also required. That's without opening the crypt device which I if you follow Avron's post you will know how to do.

Avron

I am a translator!

Hors ligne
A rejoint: 08/18/2020

You need to boot on a live USB.

Then, in a terminal:
sudo cryptsetup luksOpen /dev/sda4 sda4_crypt
sudo lvresize -L -10G --resize-fs vgtrisquel/home
sudo lvresize -l +100%FREE --resize-fs vgtrisquel/root

After that, you can ask to reboot. I used such commands several times and never had any problem but updating your backup of your home volume before doing this is a good idea.

The first command opens the encrypted physical volume.
The second command reduces your home logical volume by 10G (-10G) and resizes the file system accordingly.
The third command enlarges your root logical volume to take all the unused space. lvresize -L +10G --resize-fs vgtrisquel/root would probably do the same, I just selected the command to take all free space in case there would be some extra unused space.

vgtrisquel is called the "volume group" (hence "vg" I guess) and root and home are the "logical volumes" in it.

I rechecked the commands from https://wiki.archlinux.org/title/LVM#Resizing_the_logical_volume_and_file_system_in_one_go

Ark74

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/15/2009

Just out of the oven:

https://trisquel.info/en/wiki/how-resize-trisquels-default-encrypted-partitions

Please check it, test it and improve it at will.

Regards.

Magic Banana

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/24/2010

That is a nice manual you wrote here: thank you!

However, doesn't Avron and eric23's suggestion to use lvresize --resizefs work? It is simpler: one single command to resize (extend or reduce) the logical volume and the underlying filesystem.

Ark74

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/15/2009

I'll let the community improve it in ways they know are better.

Maybe even add some images for it =)