我有一台运行 CentOS 6.2 的服务器。它使用 LVM 映射进行配置,这是默认配置,而且我没有发现这样做有什么问题。
我现在有一个 500Gb 的驱动器,其中 54Gb 在根目录,而 442Gb 挂载到 /home
由于这是服务器,我刚开始将我需要共享的所有文件放在 /home/sharedFiles 中,并且运行良好。但是,我遇到了一点问题……或者我认为会是一个问题。
我最近一直在通过 KVM 安装一些机器进行实验,并拥有一台测试机器来更改配置,而不是更改主系统(或多或少是我想要的,删除所有额外的软件包等)。您可以想象,为这些机器分配 10gb 虚拟磁盘一直在占用我的空间。我宁愿不把它们放在 /home 中,因为我认为这是操作系统级别的事情,而不仅仅是我的文件。有没有办法移动/扩展/缩小 LVM 卷?实际上,我希望将大部分主硬盘驱动器拆分为操作系统内容、Web 服务器文件和其他不需要冗余的存储(安装 Linux 发行版的媒体,这些媒体保存在那里以方便使用等),而 RAID 阵列将处理我的个人数据。这种配置是否可以在不长时间使系统离线的情况下实现?
编辑:事实上,我试图将 KVM 图像放在 /home 中,但是失败了,所以这是我唯一的选择。
答案1
取决于您拥有的可用空间,以及 /home 上的 FS(我猜是 ext3)。一般来说,思路是:
- 缩小文件系统到您需要的 GB 数。
- 缩小 LVM 的逻辑卷
- 创建新的逻辑卷
- 格式化 LV
那么,让我们一步一步来:所有步骤都以 root 身份执行。我假设您的 /home 是 /dev/mapper/home 或 /dev/sda2。使用您机箱的设备。
收缩 FS:
umount /dev/mapper/home
或 /home 或者umount /dev/sda2
resize2f2 /dev/sda2 350G
350G 是新的尺寸。
缩小 LV
以 root 身份执行:
lvdisplay
它必须向你显示类似下面的内容:
LV Name /dev/system/home
这是您需要缩小的逻辑卷。因此,执行:
lvreduce -L 350g system/home
这会将 LV 减小到正确的大小。
创建新的 LV
现在,您有 92GB 的可用空间。因此,让我们创建一个该大小的新 LV:
lvcreate -l 100%FREE -n kvmlv system
kvmlv
该命令在卷组中创建一个新的逻辑卷system
。您可以通过/dev/mapper
或通过vgdisplay
命令现在,您可以创建新的 FS。我建议使用 ext4。
mkfs.ext4 /dev/mapper/system-kvmlv
现在您就可以安装它了。