2009年8月16日

將ArchLinux裝進SoftRAID

這篇只是紀錄我在VirtualBox內,將ArchLinux裝進SoftRAID的方法
不保證所有電腦都可以使用!
並且我在這裡都假設讀者是已經能夠獨自安裝ArchLinux的使用者

我安裝的硬碟為兩個5GiB的虛擬硬碟。
由於ArchLinux安裝光碟,建立RAID沒有圖形介面可以用,要使用指令完成工作。
首先先將要使用的硬碟分割好,這裡可以使用cfdisk來完成
cfdisk sda
cfdisk sdb
以下是我分割完的樣子
Name Flags Part Type FS Type [Lable] Size (MB)
sda1
PrimaryLinux Ext3
131.61
sda2
PrimaryLinux Ext3
5231.28
sdb1
PrimarySwap
131.61
sdb2
PrimaryLinux Ext3
5231.28
sda1將做為/boot
sdb1做為SWAP
而sda2和sdb2就是要做這次的主題,RAID

modprobe raid1
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
上面兩個指令就是重點啦!

modprobe raid1
是將raid的模塊載入,其中的raid1可以是raid0、raid1、raid5等等...分別對應不同的raid級別。RAID級別間的差異請看維基百科RAID

在ArchLinux建立RAID要用到mdadm這個程式
建立一個md0當作RAID邏輯磁碟
--level=1 指定RAID級別
--raid-devices=2 指定要使用的分區數量
/dev/sda2 /dev/sdb2就是要用到的硬碟分區,數量一定要與raid-devices指定的量相同

輸入完成後,系統會問你是否確定要繼續,回答Y就可以了
之後請稍等一段時間,系統正在進行md0的建立
等待時可以輸入mdadm --detail /dev/md0 查看進度

做到這裡,RAID磁碟就建立完成了
現在輸入/arch/setup 開始安裝ArchLinux
如果安裝時網路許可,套件來源建議選擇FTP/HTTP,免得裝完還要再系統升級。

注意,做到 Prepare Hard Drive時,不可以再次進行分割,要直接選擇3 Set Filesystem Mountpoints
這時候就可以在選單裡看到sda2和sdb2被當作同一個分區(md0)了。你可以選擇你喜歡的檔案系統格式。

設定檔方面,有幾個地方需要修改

/etc/mkinitcpio.conf:
MODULES="raid1"
#可以是raid0、raid1、raid5等等...依照你的需求添加
HOOKS="base udev autodetect pata scsi sata raid filesystems"
#這裡要注意, raid一定要加在 filesystems 的前面

/boot/grub/menu.lst:
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/md0 ro md=0,/dev/sda2,/dev/sdb2
#這裡依照之前mdadm建立md0時的設定填寫
initrd /kernel26.img

安裝完成後重新開機,ArchLinux就在RAID上面跑啦!


其他相關紀錄:
啟用已經存在的RAID:
mdadm --assemble /dev/md0 /dev/hda2 /dev/hdb2

當/boot在RAID內時,Grub安裝方法:
# cp -a /mnt/usr/lib/grub/i386-pc/* /mnt/boot/grub
# sync
# mount -o bind /dev /mnt/dev
# mount -t proc none /mnt/proc
# chroot /mnt /bin/bash
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

在RAID添加一個磁碟:
mdadm --manage /dev/md0 --add /dev/hdc2

從RAID移除一個磁碟:
mdadm --manage /dev/md0 --remove /dev/hda2

關閉RAID:
mdadm --stop /dev/md0
參考資料:
ArchWiki--Installing with Software RAID or LVM (英)
鳥哥的 Linux私房菜--第十五章、磁碟配額與 進階檔案系統管理

沒有留言:

張貼留言