Hard-Drive
複製 LVM 分區
我需要將 CentOS 安裝從使用 LVM 分區的 1TB 磁碟複製到幾台相同的機器上。磁碟大部分是空的,因為只安裝和配置了作業系統和一些軟體。
如果沒有 LVM,我會複製整個分區表,然後我會使用 partclone 一個一個地複製分區:
sfdisk -d /dev/sda | sed -e 's/sda/sdb/' | sfdisk /dev/sdb partclone.ext4 -c -s /dev/sda# -o - | partclone.ext4 -r -s - -o /dev/sdb#
但是我認為它不適用於LVM。
當然我可以
dd
用來複製整個磁碟:dd if=/dev/sda of=/dev/sdb
但與部分複製相比,它需要太多時間。
有沒有辦法更快地複製 LVM 分區?我認為一種可能的解決方案是使用 dd 將 LVM 分區複製到另一個磁碟中的正常分區,然後使用 partclone 將新磁碟複製到其他機器。但我不知道這樣的事情是否可行:
dd if=/dev/mapper/vg_node07-lv_root of=/dev/sdb1
它可以工作嗎?你能告訴我其他的解決方案嗎?
是的,您可以
dd
按照描述使用。我要做的是使用盡可能小的分區創建源映像,複製它們,然後擴大目標上的邏輯捲和文件系統。您的複製過程如下所示:
# <attach target for cloning, say, /dev/sdc> # CURRENT_LE=2000 (get exact "Current LE" value from lvdisplay) # NEW_SIZE="20G" # parted -a optimal /dev/sdc mklabel gpt mkpart p1 ext4 0% 100% # pvcreate /dev/sdc1 # vgcreate nodexx /dev/sdc1 # lvcreate -n lv_root -l $CURRENT_LE nodexx # dd if=/dev/node07/lv_root of=/dev/nodexx/lv_root bs=4M # lvresize /dev/vg_nodexx/lv_root -L $NEW_SIZE # fsck.ext4 -f -y /dev/vg_nodexx/lv_root # resize2fs /dev/vg_nodexx/lv_root
你會想要預訂 LVM 和文件系統工具,但這是一個很好的 shell 腳本候選者。