我可以用一台設備創建軟體 RAID 1
我有一個要創建鏡像的磁碟;我們稱之為磁碟
sda
。我剛剛購買了另一個相同大小的磁碟,我們可以將其稱為sdb
.sda
並有一個分別稱為和sdb
的分區。sda1``sdb1
創建團隊時,我不想擦
sda
乾淨然後重新開始,我只想讓它開始鏡像sdb
。我的構想是:mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=1 /dev/sda1
…創建沒有
sdb
磁碟的陣列,然後執行類似的東西(我正在大聲思考以下命令,因為我不知道如何實現這一步)mdadm /dev/md0 --add /dev/sdb1
假設註釋
sdb1
的格式類似於sda1
這可能嗎?
標題中問題的簡單答案是“是”。但您真正想做的是下一步,即對現有數據進行鏡像。
可以轉換現有磁碟,但如上所述,由於元數據位置,這是有風險的。用新磁碟創建一個空(損壞的)鏡像並將現有數據複製到上面要好得多。然後,如果它不起作用,您只需啟動回未鏡像的原始文件。
首先,用缺少的驅動器初始化
/dev/sdb1
為新/dev/md0
的並初始化文件系統(我假設是 ext3,但選擇權在你)mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 missing mkfs -text3 /dev/md0
現在,
/dev/sda1
很可能是您的根/
文件/dev/sda1
系統/dev/md0
(將文件系統的全部內容複製
/dev/sda1
到/dev/md0
. 例如:mount /dev/sda1 /mnt/a # only do this if /dev/sda1 isn't mounted as root mount /dev/md0 /mnt/b cd /mnt/a # or "cd /" if it's the root filesystem cp -dpRxv . /mnt/b
編輯
/etc/fstab
或以其他方式確保在下次啟動時,/dev/md0
已安裝而不是/dev/sda1
. 您的系統可能設置為從啟動,/dev/sda1
並且啟動參數可能將其指定為根設備,因此在重新啟動時您應該手動更改它以便根是/dev/md0
(假設/dev/sda1
是根)。重新啟動後,檢查/dev/md0
現在是否已掛載 (df
) 並且它正在作為降級鏡像 (cat /proc/mdstat
) 執行。添加/dev/sda1
到數組:mdadm /dev/md0 --add /dev/sda1
由於重建將覆蓋
/dev/sda1
,您使用的元數據版本無關緊要。與往常一樣進行重大更改時,請進行完整備份(如果可能)或至少確保無法重新創建的任何內容都是安全的。您將需要重新生成引導配置以
/dev/md0
用作 root(如果/dev/sda1
是 root),並且可能需要重新生成mdadm.conf
以確保/dev/md0
始終啟動。