
我目前的所有備份都在/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
。
- 從中建立一個實體磁碟區:
pvcreate /dev/sdb
. - 建立一個磁碟區組:
vgcreate <name of the VG> /dev/sdb
. - 從 VG 建立 LV:
lvcreate --extents %FREE --name <name of the LV> <name of the VG>
。 - 假設您的首選檔案系統類型是 ext4:
mkfs.ext4 -m 0 /dev/mapper/<name of the VG>-<name of the LV>
。 - 將新建立的 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。 - rsync 完成後:
umount /dev/sda6
、umount /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
以測試它)。 - 此時,新磁碟機上將有 /home,且 /dev/sda6 可以自由加入 LVM 配置。您需要將其新增至 LVM。更改分區的系統類型:
fdisk /dev/sda
,然後t-6-L-8e-w-q
(我相信這是順序,但不確定現在有多需要)。 - 將 /dev/sda6 加到 VG:
pvcreate /dev/sda6
、vgextend、lvextendresize2fs -p /dev/mapper/<name of the VG>-<name of the LV>
、. - 完畢!
答案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