天天看點

如何将 Linux 系統轉移至 LVM 卷

<a target="_blank"></a>

<code>dd</code> 指令用于複制一個裝置/分區,原樣輸出到另外一個檔案/裝置/分區。

<code>dump</code> 指令用于備份 ext2 或者 ext3 檔案系統。可将目錄或整個檔案系統備份至指定的裝置,或備份成一個大檔案。 

<code>restore</code> 指令是 <code>dump</code> 指令的逆過程,用于還原 <code>dump</code> 指令生成的備份檔案。 

首先要求有一個可以正常啟動的分區,然後要有剩餘空間!(這裡有兩種情況:一個是某分區,一個是新磁盤。兩者類似,為了友善本文使用的是新磁盤的方式。)

使用虛拟機模拟了伺服器的真實情況:<code>/dev/sda1</code> 是正常系統啟動分區、<code>/dev/sdb1</code> 是新的磁盤分區。(必須注意 <code>/dev/sdb1</code> 的容量大于 <code>/dev/sda1</code>)

虛拟機設定及分區情況:

如何将 Linux 系統轉移至 LVM 卷
如何将 Linux 系統轉移至 LVM 卷
如何将 Linux 系統轉移至 LVM 卷

<code>dd if=/dev/sda1 of=/mnt/lvm/mbr.bin bs=512 count=1</code>

如何将 Linux 系統轉移至 LVM 卷

首先解除安裝 <code>/dev/sdb1</code>,然後在其上用 <code>pvcreate</code> 建立實體卷和 <code>vgcreate</code> 建立卷組 vgtest:

<code>umount /dev/sdb1 pvcreate /dev/sdb1</code>

<code>vgcreate vgtest /dev/sdb1</code>

如何将 Linux 系統轉移至 LVM 卷

卷組建立好之後,可以用 <code>vgs</code> 指令檢視卷組。

用 <code>lvs</code> 指令檢視邏輯卷,這個時候我們還沒有任何邏輯卷。開始建立邏輯卷和檔案系統:

<code>lvcreate -l 25g -n lvtest vgtest</code>

<code>mkfs.ext4 /dev/mapper/vgtest-lvtest</code>

如何将 Linux 系統轉移至 LVM 卷

首先備份 / 目錄。在 <code>dump</code> 指令前後輸入的 <code>date</code> 指令是為了檢視備份使用的時長。

<code>date &amp;&amp; dump -0f /mnt/lvm/rootfs-20160824.bak / &amp;&amp; date</code>

如何将 Linux 系統轉移至 LVM 卷

保險起見我們也備份一下 <code>/boot</code> 目錄:

<code>date &amp;&amp; dump -0f /mnt/lvm/boot-20160824.bak /boot &amp;&amp; date</code>

如何将 Linux 系統轉移至 LVM 卷

<code>restore -rf rootfs-20160828.bak boot-20160824.bak</code>

如何将 Linux 系統轉移至 LVM 卷

注意:這裡根分區(啟動分區)需要更改成實際要啟動的磁盤。否則不更改的話系統會出現應該使用<code>/dev/sdb1</code> lvm ,卻使用了原來的 <code>/dev/sda1</code> 的情況! 

首先通過 <code>blkid</code> 檢視分區的 uuid:

<code>blkid</code>

然後修改 <code>/mnt/lvm/etc/fstab</code> 檔案(切換了跟分區之後将變成 <code>/etc/fstab</code>)中的根分區指向:

<code>vim /mnt/lvm/etc/fstab</code>

如何将 Linux 系統轉移至 LVM 卷

chroot 到新的分區裡面,然後檢查相應的分區設定。

<code>chroot /mnt/lvm</code>

注意:要 <code>chroot</code> 進入目錄檢視是否正确!并且确定防火牆 selinux 等的設定,最最最重要的是 openssh 要打開的!  

<code>dd if=./mbr.bin of=/dev/mapper/vgtest-lvtest </code>

如何将 Linux 系統轉移至 LVM 卷

這樣可以讓新磁盤可以脫離源磁盤的引導。

chroot 進入新磁盤。并重建 /boot 目錄:

<code>chroot /mnt/lvm ls /boot/ rm -rf /boot/* yum install grub -y</code>

如何将 Linux 系統轉移至 LVM 卷

然後輸入:

<code>root (hd1,0)</code>

<code>setup (hd1)</code>

<code>quit</code>

如何将 Linux 系統轉移至 LVM 卷

這樣就将 grub 引導指向了新的磁盤。

重新開機可以看看是否有問題。

原文釋出時間為:2016-08-26

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀