我的根/主 LV 之间的平衡很差。请注意,我对磁盘管理和 Linux 的总体理解还很陌生,所以我可能会说一些不正确的事情。
我的目标是将一些存储空间从 /home 移动到 / (根目录)。该磁盘是一个 16GB 闪存卡,有两个分区 - 一个 250MB 引导卷和一个包含两个逻辑卷的约 14GB LVM 物理卷。
我想取出主分区的 9 GB 空间并将其添加到根目录。
以下是我的服务器的一些输出(由于存在大量磁盘,因此删除了一些驱动器详细信息):
(nice-rack) stagl [~] > df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/nice--rack--vg-root ext4 3.8G 3.6G 0 100% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
udev devtmpfs 7.9G 8.0K 7.9G 1% /dev
tmpfs tmpfs 1.6G 6.5M 1.6G 1% /run
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 7.9G 12K 7.9G 1% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 228M 71M 146M 33% /boot
/dev/mapper/nice--rack--vg-home ext4 9.6G 212M 8.9G 3% /home
/home/stagl/.Private ecryptfs 9.6G 212M 8.9G 3% /home/stagl
(nice-rack) stagl [~] > sudo lvmdiskscan
/dev/ram0 [ 64.00 MiB]
/dev/nice-rack-vg/root [ 3.90 GiB]
/dev/ram1 [ 64.00 MiB]
/dev/sda1 [ 243.00 MiB]
/dev/nice-rack-vg/swap_1 [ 512.00 MiB]
/dev/ram2 [ 64.00 MiB]
/dev/nice-rack-vg/home [ 9.84 GiB]
/dev/ram3 [ 64.00 MiB]
/dev/mapper/cryptswap1 [ 512.00 MiB]
/dev/ram4 [ 64.00 MiB]
/dev/ram5 [ 64.00 MiB]
/dev/sda5 [ 14.26 GiB] LVM physical volume
...
2 disks
37 partitions
0 LVM physical volume whole disks
1 LVM physical volume
(nice-rack) stagl [~] > sudo pvscan
PV /dev/sda5 VG nice-rack-vg lvm2 [14.26 GiB / 16.00 MiB free]
Total: 1 [14.26 GiB] / in use: 1 [14.26 GiB] / in no VG: 0 [0 ]
(nice-rack) stagl [~] > sudo lvdisplay
--- Logical volume ---
LV Path /dev/nice-rack-vg/root
LV Name root
VG Name nice-rack-vg
LV UUID Ghsdz2-PxqH-03GM-3xgB-Ex4k-f4h5-hZ8xiB
LV Write Access read/write
LV Creation host, time ,
LV Status available
# open 1
LV Size 3.90 GiB
Current LE 998
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/nice-rack-vg/swap_1
LV Name swap_1
VG Name nice-rack-vg
LV UUID NxV2xj-0Crj-9DYQ-5h9z-zIdP-FxDH-MjxxJB
LV Write Access read/write
LV Creation host, time ,
LV Status available
# open 1
LV Size 512.00 MiB
Current LE 128
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Logical volume ---
LV Path /dev/nice-rack-vg/home
LV Name home
VG Name nice-rack-vg
LV UUID Mxx3fp-PfxE-NFxi-Z5eC-B8oS-UXCZ-r7xjbq
LV Write Access read/write
LV Creation host, time ,
LV Status available
# open 1
LV Size 9.84 GiB
Current LE 2520
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
请注意,我的根分区已满。这会导致服务器出现各种问题。我什至无法在提示符下完成制表符。 :(
答案1
LVM 旨在允许在您所描述的情况下轻松调整大小和重新分配空间。然而,兰伯特的回答并不完整,因为它没有提到几件事。
您需要遵循的大纲流程是:
- 用于减小文件系统
resize2fs
的大小/home
- 用于减小卷
lvresize
的大小/dev/mapper/nice--rack--vg-home
- 用于增加卷
lvresize
的大小/dev/nice-rack-vg/root
- 用于
resize2fs
增加根文件系统的大小 (/
)
一般来说,您可以在线扩展文件系统,但在安装时无法收缩它们 - 因此您必须卸载所有内容才能/home
收缩它,但可以扩展/
(root)没有问题。
您的情况的主要警告是您的加密家庭。您需要卸载加密的主目录,然后卸载底层/home
文件系统,然后继续执行其余步骤。根据 ecryptfs 是否使用循环设备(我不认为它使用循环设备,但我不熟悉它),您可能还需要卸载该设备 - 此时从 Live CD 启动并执行操作可能会更容易那里的工作。
答案2
看一下lvresize
。用于man lvresize
阅读有关选项的信息。
以下命令应首先将home
逻辑卷的大小减少 3GB,然后将逻辑卷扩展root
3GB:
lvresize -r -L -3G /dev/nice-rack-vg/home
lvresize -r -L +3G /dev/nice-rack-vg/root
必须home
卸载逻辑卷才能调整其大小。