交换 /dev/mapper/* 设备

交换 /dev/mapper/* 设备

我得到了一个将 /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

没有直接的方法可以交换两个设备,但这也不是您所需要的。保留rootas/homeas /home,缩小home到所需的较小尺寸,然后root使用释放的空间进行放大。

根据文件系统的不同,您可能需要也可能不需要卸载它们来调整它们的大小。 Ext4 文件系统在挂载时可以放大,但不能缩小;使用命令resize2fsBtrfs 文件系统在安装时可以在任一方向调整大小

要缩小 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.

相关内容