我有一台计算机,其中有一个约 58GB 的分区保留给 Fedora 30。我刚刚收到一条警告,说空间不足/home
。
我跑了一下df -h
,得到了这个:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 167M 3.7G 5% /dev/shm
tmpfs 3.9G 1.9M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/fedora_localhost--live-root 35G 13G 20G 40% /
tmpfs 3.9G 20M 3.9G 1% /tmp
/dev/mapper/fedora_localhost--live-home 17G 15G 847M 95% /home
/dev/sda8 976M 164M 746M 18% /boot
/dev/sda2 256M 140M 117M 55% /boot/efi
tmpfs 789M 11M 778M 2% /run/user/1000
我知道/
和/home
实际上并不在单独的分区上,但为什么要将它们分开呢?我该如何为分配更多空间呢/home
?
编辑:
pvdisplay:
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
--- Physical volume ---
PV Name /dev/sda9
VG Name fedora_localhost-live
PV Size <57.79 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 14793
Free PE 0
Allocated PE 14793
PV UUID YnWhfZ-jzxO-1QbU-k756-YisP-qjuW-Cnf0oC
vgdisplay:
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
--- Physical volume ---
PV Name /dev/sda9
VG Name fedora_localhost-live
PV Size <57.79 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 14793
Free PE 0
Allocated PE 14793
PV UUID YnWhfZ-jzxO-1QbU-k756-YisP-qjuW-Cnf0oC
lvdisplay:
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
--- Logical volume ---
LV Path /dev/fedora_localhost-live/swap
LV Name swap
VG Name fedora_localhost-live
LV UUID JGCKLU-3O7s-lNZU-HjZi-mTn2-HV3J-u376VH
LV Write Access read/write
LV Creation host, time localhost-live, 2019-07-21 19:25:06 -0700
LV Status available
# open 2
LV Size 5.88 GiB
Current LE 1506
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
--- Logical volume ---
LV Path /dev/fedora_localhost-live/home
LV Name home
VG Name fedora_localhost-live
LV UUID QJpqdd-ZzT3-QJ2P-8E6d-oIlW-LiDI-T9KafK
LV Write Access read/write
LV Creation host, time localhost-live, 2019-07-21 19:25:06 -0700
LV Status available
# open 1
LV Size <17.03 GiB
Current LE 4359
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
--- Logical volume ---
LV Path /dev/fedora_localhost-live/root
LV Name root
VG Name fedora_localhost-live
LV UUID AtjCQZ-a26R-RR8c-IRmo-INqb-rzad-sDuJ9O
LV Write Access read/write
LV Creation host, time localhost-live, 2019-07-21 19:25:09 -0700
LV Status available
# open 1
LV Size <34.88 GiB
Current LE 8928
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
答案1
您有一个物理卷/dev/sda9
、一个卷组、fedora_localhost-live
和三个逻辑卷root
、home
和swap
。
前两个逻辑卷安装在/
并且/home
您的交换没有安装在任何地方,因为交换没有安装点,但它仍在使用分配给它的空间。
从中df -h
,您可以看到 root 的逻辑卷/dev/mapper/fedora_localhost--live-root
总空间为 35G,其中有 20GB 可用空间,而 home 的逻辑卷/dev/mapper/fedora_localhost--live-home
总空间为 17G,其中只有 847MB 可用空间,因此它几乎已满。您还可以通过以下行看到卷组中的空间已全部用完vgdisplay
:
Total PE 14793
Free PE 0
Allocated PE 14793
话虽如此,您无法增加其大小/home
,因为其卷组中没有空间可分配给它。您唯一能做的事情是:
如果该机器上的另一个物理磁盘上有空间,则可以使用它
fdisk
来创建另一个分区和逻辑卷,然后将其添加到卷组并将空间扩展到逻辑卷home
。如果逻辑卷上的文件系统是
ext4
,那么您可以缩小root
逻辑卷,然后将额外的空间分配给home
逻辑卷。您可以使用命令lsblk -f
或查找文件系统的类型findmnt -o source,fstype
。如果文件系统类型是,xfs
那么这将不起作用。您可以为您的机器添加另一个物理磁盘,使用 fdisk 进行设置,然后创建物理卷,将其添加到卷组,并将空间扩展到逻辑卷
home
。
由于您选择采用第二种方案:
开始之前,请备份您的数据。这很重要,以防万一出现问题。我再怎么强调也不为过。
您需要从 Fedora Live USB 或 CD/DVD 启动。
进入实时会话后,如果尚无
root
lvm2 包,则安装它。dnf install lvm2
运行
lvs
以确保根逻辑卷已显示。如果没有,请运行vgchange -a y fedora_localhost-live
并lvs
再次运行。使用 检查根逻辑卷是否存在错误
e2fsck -f /dev/mapper/fedora_localhost--live-root
。由于它不会被挂载,因此您可以使用 减小根逻辑卷的大小,
resize2fs /dev/mapper/fedora_localhost--live-root 25G
然后使用 缩小它lvresize -L 25G /dev/mapper/fedora_localhost--live-root
。运行
vgs
后您现在应该会看到fedora_localhost-live
卷组有 10G 的可用空间。接下来,使用 将主逻辑卷扩展到剩余空间,
lvresize -l +100%FREE /dev/mapper/fedora_localhost--live-home
并使用 调整其大小resize2fs /dev/mapper/fedora_localhost--live-home
。再次运行
lvs
,您将能够看到具有 10G 可用空间的主逻辑卷。重启。