我得到了一个将 /dev/mapper/root 安装为 / 并映射到 /dev/dm-0 的盒子。它已将 /dev/mapper/home 安装为 /home 并映射到 /dev/dm-2。 dm-0设备是5G,dm-2设备是2T。我被要求交换它们:make / 2T 和 /home 5G。我已调整大小、删除并添加了逻辑卷。有没有办法交换逻辑卷?
万一它很重要......他们想用它作为数据库服务器。数据库在/var/lib/mysql,在/下,只有5G,已经满了80%。 /home 已满 1%。
答案1
没有直接的方法可以交换两个设备,但这也不是您所需要的。保留root
as/
和home
as /home
,缩小home
到所需的较小尺寸,然后root
使用释放的空间进行放大。
根据文件系统的不同,您可能需要也可能不需要卸载它们来调整它们的大小。 Ext4 文件系统在挂载时可以放大,但不能缩小;使用命令resize2fs
。Btrfs 文件系统在安装时可以在任一方向调整大小。
要缩小 LVM 逻辑卷,请使用lvreduce
。确保您不会意外地将其缩小到小于文件系统——这是错误操作可能导致数据丢失的一步(如果您弄错了数字,很可能会导致数据丢失)。请注意,对于 LVM,小写后缀 ( k
, m
, g
, ...) 使用 1024 的幂,但大写后缀 ( K
, M
, G
, ...) 使用 1000 的幂。要扩大 LVM 逻辑卷,请使用lvextend
。
例如,对于 ext4:
umount /home
resize2fs /dev/mapper/home 5G
lvreduce -L 5g /dev/mapper/home # note lowercase g
lvextend 2t /dev/mapper/root
resize2fs /dev/mapper/root
请注意,如果/home
确实是 2TB 并且已满 1%,则无法放入 5GB。相应地调整尺寸。
或者,您可能希望将数据库移动到它自己的文件系统。对于操作系统和大型数据集使用单独的卷通常是一个好主意,因为它们可以具有不同的存储策略(关于冗余、性能、备份等)。如果该服务器只是一个数据库服务器,那么它有两个文件系统是有意义的:(/
包括/home
仅包含管理员配置文件的目录)和/var/lib/mysql
.