将 /usr 移动到它自己的文件系统/逻辑卷

将 /usr 移动到它自己的文件系统/逻辑卷

我的 Fedora 17(x64 - 在 VMware Workstation 8 上运行)根文件系统空间不足(这是使用 Fedora 安装程序建议的默认布局进行的安装):

# df-h
已使用的文件系统大小 可用 使用% 安装于
根文件系统 18G 17G 937M 95% /
devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs 1.5G 224K 1.5G 1% /dev/shm
tmpfs 1.5G 51M 1.5G 4% /运行
/dev/mapper/vg_bloss-lv_root 18G 17G 937M 95% /
tmpfs 1.5G 51M 1.5G 4% /运行
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
tmpfs 1.5G 0 1.5G 0% /媒体
/dev/sda2 485M 85M 376M 19% /boot

大部分空间被目录占用/usr。我已将 40GB 磁盘添加到虚拟机 ( /dev/sdb),并希望移动/usr到其自己的逻辑卷。

LVM 对我来说有点陌生,但我想我已经制定了使用 LVM 添加此磁盘的步骤:

fdisk /dev/sdb
#(使用所有磁盘创建新的 0x8e LVM 分区类型)

pvcreate /dev/sdb1
vgextend vg_bloss /dev/sdb1
lvcreate -l +100%FREE -n lv_usr vg_bloss /dev/sdb1
mkfs -t ext4 /dev/vg_bloss/lv_usr
# 挂载文件系统
mkdir /mnt/usr
挂载-t ext4 /dev/vg_bloss/lv_usr /mnt/usr

然后我将使用以下步骤转移/usr到这个新的文件系统:

cp -aR /usr/* /mnt/usr
卸载/mnt/usr
# 在/etc/fstab中添加相关挂载条目:
# /dev/mapper/vg_bloss-lv_usr /usr ext4 默认 1 1
mv /usr /usr_old
mkdir /usr
挂载-t ext4 /dev/vg_bloss/lv_usr /usr
重启

然后,当我很高兴它/usr看起来完好无损并且表现正常时,我将删除它以释放/.

这看起来理智吗?

答案1

您的说明顺序看起来是正确的,但请注意,我只是观察了它们,而不是测试了它们。

正如其他人所指出的,/usr并非所有发行版都支持分离,即使现在正式支持,该支持也可能会被放弃,因为现代磁盘大小对它的需求已经很少了。所以我不建议分手/usr。相反,扩大根文件系统。

我相信VMware可以让你扩大现有的磁盘。所以就这么做吧。然后在磁盘上创建一个新分区(主分区或逻辑分区,如您所愿);您可以使用fdiskgparted 或任何其他分区工具。将该分区的类型指定为 8e (Linux LVM)。假设新分区是/dev/sda9;在其上创建一个物理卷,并将其添加到现有卷组中:

pvcreate /dev/sda9
vgextend vg_bloss /dev/sda9

接下来,扩展逻辑卷,并扩大文件系统。

lvextend vg_bloss/lv_root /dev/sda9
resize2fs /dev/mapper/vg_bloss-lv_root

如果您无法扩大磁盘,我仍然建议扩大文件系统。将文件系统分布在多个物理磁盘上通常是一个坏主意,因为如果其中一个磁盘损坏,您就会丢失数据;在这里,通过虚拟磁盘,这并不重要。因此,将新的物理卷放入现有卷组中,并按上述方式增长逻辑卷和文件系统。

答案2

不要将 /usr 放入自己的卷或安装点中。

我们刚刚更改了标准文件系统布局,之前我们将 /usr 作为单独的 LV 安装。

由于使用 /usr 的 init 进程数量不断增加,问题变得越来越大。甚至有计划放弃 /bin 和 /sbin,转而使用 /usr/bin 和 /usr/sbin。

所以我们的解决方案是将 / 调整为比之前的 / 和 /usr 更大的新大小。

在安装了所有需要的 rpm 之后,/ 和 /usr 应该是相当静态的。

相关内容