Hard-Drive

需要有關硬碟複製的建議

  • February 19, 2019

我的 cent os 伺服器的主硬碟驅動器 sda 有許多“離線不可糾正扇區”,因此我打算複製驅動器。但是複製整個驅動器並不是一個可行的解決方案,因為它是一個擁有 450G 數據的實時伺服器。驅動器也響應緩慢。

我需要找到一個解決方案,這將有助於最大限度地減少停機時間。我計劃對另一個與主磁碟相同的磁碟進行分區。然後只複製 mbr。rsync 所有分區中的數據。然後刪除主磁碟並從第二個驅動器啟動。

我不確定它是否有效。請讓我知道您的建議。也讚賞任何替代解決方案。

謝謝,阿喬

詳細假設:

-/dev/sda 是活動磁碟,/dev/sdb 是替代品(您可以通過在 USB 機箱/機箱中安裝 sdb 並通過它進行所有格式化/同步來進一步減少停機時間)

-sdb 的大小至少與sda

請務必查看並調整。我這樣做之前不知道您的分區是如何佈置的以及您的掛載點是什麼等。同步後文件的改組等將是必要的。密切注意 rsync 行,因為我假設 / 是 sda1 並且您希望它在 sdb1 上。

 
# 複製 mbr。這比 sfdisk 有額外的好處,因為
# bootloader 也被複製過來 
dd if=/dev/sda of=/dev/sdb bs=512 count=1

#OPTIONAL: 增加 sdbX 的分區,其中 X 是目標分區號 
#parted /dev/sdb 
#(分開)列印
#(parted) 調整 X 大小

# 創建新的文件系統並掛載 
for i in $(ls -1 /dev/sdb?);do mkfs.ext3 $i;done 
for i in $(ls -1 /dev/sdb? | cut -f3 -d"/");mkdir -p /mnt/$i;\
umount /dev/$i;mount /dev/$i /mnt/$i;完成 

# 開始同步。排除我們不需要節省時間/空間的東西。 
echo -e "+ /dev/console\n+ /dev/initctl\n+ /dev/null\n+ /dev/zero\n\n- /tmp/*\n- \
/proc/*\n- /dev/*\n- /sys/*\n- /tmp/*\n- /mnt/*\n- /media/*" >> /tmp/exclude.rsync.lst 
rsync -az --exclude-from=/tmp/exclude.rsync.lst /。/mnt/sdb1/. 

#在此處插入同步後調整。仔細檢查文件/路徑位置等。

恭喜!完畢。重要的部分是排除並確保在修改分區表之前 dd mbr。

引用自:https://serverfault.com/questions/268075