Fedora

移動 /usr 到它自己的文件系統/邏輯卷

  • September 5, 2012

我的 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
#掛載fs
mkdir /mnt/usr
mount -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
mount -t ext4 /dev/vg_bloss/lv_usr /usr
重啟

然後當我很高興它/usr看起來完好無損並且表現正常時,我會刪除它以釋放/.

這看起來很正常嗎?

您的說明順序看起來是正確的,但請注意,我只是觀察它們,沒有測試它們。

正如其他人所指出的,/usr並非所有發行版都支持分離,即使現在正式支持,也可能會放棄支持,因為現代磁碟大小對它的需求已經很少了。所以我不建議拆分/usr。相反,擴大根文件系統。

我相信 VMware 可以讓您擴大現有磁碟。就這樣做吧。然後在磁碟上創建一個新分區(主分區或邏輯分區,如您所願);您可以使用fdisk或 gparted 或任何其他分區工具。為分區指定類型 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

如果你不能擴大磁碟,我仍然建議增加文件系統。將文件系統分佈在多個物理磁碟上通常不是一個好主意,因為如果任何一個磁碟損壞,您就會失去數據;在這裡,通過虛擬磁碟,沒關係。所以把新的物理卷放在現有的捲組中,並像上面一樣增長邏輯捲和文件系統。

引用自:https://unix.stackexchange.com/questions/47025