本帖最後由 rabbit82047 於 2014-12-4 14:01 編輯
啱啱係 vm 試過 work, 下面講下我自己既做法
初始狀態, Ubuntu server 14.04, 20G hdd
Partitions:
/dev/sda1 150M /boot
/dev/sda2 9G /
/dev/sda3 8G /data
/dev/sda4 2G swap
新開兩個 20G, hdd, sdb & sdc, 用 gparted 界 partition
sdb partitions
sd[bc]1 100M, result size: 200M, mount as /boot
sd[bc]2 5G, result size: 10G, mount as /
sd[bc]3 ~14G, result size: 28G, mount as /data
sd[bc]4 1G, swap 可以唔洗 raid, 不過今次 swap 都落埋 raid
boot 返入 ubuntu, 用 mdadm create raid 5 array, /dev/md[01234], 其中一個用 missing 代替- sudo mdadm --create /dev/md0 --metadata 1.2 --level 5 --raid-devices 3 /dev/sdb1 /dev/sdbc1 missing
- ...
- sudo mdadm --create /dev/md3 --metadata 1.2 --level 5 --raid-devices 3 /dev/sdb4 /dev/sdbc4 missing
複製代碼 Boot 入 clonezilla, 直接入 shell, 因為 wizard 讀唔到 mdadm arrays, 要用 partclone clone 原有 partition 入去 raid partitions- partclone.[fstype] -b -s /dev/sda1 -O /dev/md/[hostname]\:0
- partclone.[fstype] -b -s /dev/sda2 -O /dev/md/[hostname]\:1
- partclone.[fstype] -b -s /dev/sda3 -O /dev/md/[hostname]\:2
複製代碼 boot 返入 ubuntu, 因為 partclone 會連 UUID 都 clone 埋,
boot 入去果時, ubuntu 既 /boot, root, /data, 會直接 mount 左新既 raid partitions, /dev/md124 ~ md126
如果唔係, 可以用 blkid check 返 uuid, 再 mount 新既 root partition, 對返 /etc/fstab 有無分別就得- sudo blkid /dev/md/[hostname]\:x
複製代碼 用 mkswap 起返個 swap partition, check 返 uuid 再改 /etc/fstab- sudo mkswap /dev/md/[hostname]\:3
複製代碼 因為 ubuntu 14.04 boot 入 soft raid, 會出 diskfilter 問題
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1274320
所以順便改埋 /etc/grud.d/10_linux, disable quick_boot- sudo vim /etc/grud.d/10_linux
- # edit quick_boot="1" to 0 to get rid of diskfilter was not supported error message
複製代碼 Update-grub 再 install 落 sdb & sdc, 因為有 missing disk, 所以會出 warning, 但只要無 error 就得- # just ignore physic volume not found warnings
- sudo update-grub
- sudo grub-install /dev/sdb
- sudo grub-install /dev/sdc
複製代碼 Poweroff, 拆舊 hdd 試 boot
Boot 到 Ubuntu, 就 update 返 /etc/mdadm/mdadm.conf- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
- # You should check mdadm.conf and delete any duplicate/invalid entries from mdadm.conf
- sudo update-initramfs -u
- sudo update-grub # not required but just did it
複製代碼 最後洗舊 hdd, 跟返 sdb/c 個 partition table, 界好 partition 就加返入條 array, 等佢 rebuild 完就大功告成- sudo mdadm --manage /dev/md0 -a /dev/sda1
- ...
- sudo mdadm --manage /dev/md3 -a /dev/sda4
- sudo grub-install /dev/sda
- # done
複製代碼 Edit: Correct some command typos |