擴充/home分區

擴充/home分區

我目前的所有備份都在/home.我在機器中添加了一個新的 2 TB 磁碟,並希望擴展我的目前的 /home按 2 TB 分割區(可能使用 LVM)。但是,由於顯而易見的原因,我不想丟失我的數據/home

最好的方法是什麼?在 2 TB 磁碟上建立新的 LVM 群組,然後將舊/home分割區新增到其中?或者有其他辦法嗎?

編輯

我目前的分區表:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              39G   11G   27G  28% /
/dev/sda2              99M   31M   64M  33% /boot
/dev/sda5             2.0G   68M  1.9G   4% /tmp
/dev/sda6             876G  474G  357G  58% /home

答案1

假設您的 2 TB 硬碟是/dev/sdb

  1. 從中建立一個實體磁碟區:pvcreate /dev/sdb.
  2. 建立一個磁碟區組:vgcreate <name of the VG> /dev/sdb.
  3. 從 VG 建立 LV: lvcreate --extents %FREE --name <name of the LV> <name of the VG>
  4. 假設您的首選檔案系統類型是 ext4: mkfs.ext4 -m 0 /dev/mapper/<name of the VG>-<name of the LV>
  5. 將新建立的 LV 安裝在某處(例如/mnt):mount /dev/mapper/<name of the VG>-<name of the LV> /mnt並從那裡複製內容/home。我將使用 rsync 來實現此目的:rsync -av /home/ /mnt/.這將花費您一段時間,並且您希望 /home 保持掛載狀態,以便您的日常備份順利運行。 rsync 完成後,重新運行它以捕獲變更。為了絕對確保您獲得了從 /home 到 /mnt 的所有數據,您可以將 /dev/sda6 重新掛載為唯讀並再次執行 rsync。
  6. rsync 完成後:umount /dev/sda6umount /dev/mapper/<name of the VG>-<name of the LV>mount /dev/mapper/<name of the VG>-<name of the LV> /home並相應地修復 /etc/fstab (運行mount -a以測試它)。
  7. 此時,新磁碟機上將有 /home,且 /dev/sda6 可以自由加入 LVM 配置。您需要將其新增至 LVM。更改分區的系統類型:fdisk /dev/sda,然後t-6-L-8e-w-q(我相信這是順序,但不確定現在有多需要)。
  8. 將 /dev/sda6 加到 VG:pvcreate /dev/sda6、vgextend、lvextend resize2fs -p /dev/mapper/<name of the VG>-<name of the LV>、.
  9. 完畢!

答案2

您可以將主目錄匯出到額外的分割區,而不是擴充主資料夾。這也將使遷移到新系統變得更加容易,而無需移動主目錄。

建立一個新分割區並使用您選擇的檔案系統(即 ext4)對其進行格式化。將主資料夾中的所有內容複製到新分區,然後透過向 /etc/fstab 添加相應的行來告訴系統在啟動期間將新分區掛載到主目錄中:

UUID=<some UID of your new partition>  /home/username  ext4  nodev,nosuid  0  1

根據檔案系統和安裝選項,您可能需要變更此行。

編輯 - 啊明白了。您確實想要兩個驅動器。在這種情況下,LVM 可以做到這一點,但是在建立分割區時您必須將資料儲存在某個地方...

sudo vgcreate vol_grp1 /dev/sda7
sudo lvcreate -n logical_vol1 vol_grp1
sudo  mkfs.ext3 /dev/vol_grp1/logical_vol1

然後將其安裝到某個位置並將資料複製到其中。卸載目前的主磁碟並在其位置安裝新的 VG 磁碟。此後,您將能夠使用 lvextend 將其擴展到原始驅動器。

vgextend logical_vol1 /dev/sda?
lvextend  /dev/logical_vol1/logical_vol1

相關內容