FreeBSD 使用 GEOM 設定 Software raid1 步驟
原本想要使用預設的hardware raid但是有的老舊設備不支援,所以改用內建的Software raid,以下為安裝步驟怕哪天又會用到所以先計一下。
安裝步驟說明:
先使用一般的方式將FreeBSD先裝起來後,將其他的HD插入重開機就可以找到新的HD了,如果不想這樣用請參考前一篇的新增SCSI HD 的方式做也可以,請自行注意因為版本上的差異指令會不一樣請自己看一下man 就知道了。
# sysctl kern.geom.debugflags=16 # 開啟後就不會有錯誤訊息
kern.geom.debugflags: 0 -> 16
# gmirror label -v -b round-robin gm0 /dev/ad0 # 啟用 GEOM,如果有其他HD請一並加入
Metadata value stored on /dev/ad0
# gmirror label -v -b round-robin gm1 /dev/ad1
# gmirror label -v -b round-robin gm2 /dev/ad2
# echo geom_mirror_load="YES" > /boot/loader.conf # 設定開機自動啟動 GEOM
# cp /etc/fstab /etc/fstab.orig # 備份 fstab 檔
# vi /etc/fstab # 修改 fstab
#/dev/ad0s1b none swap sw 0 0
#/dev/ad0s1a / ufs rw 1 1
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
# reboot # 重開機後開機畫面會出現下面訊息
GEOM_MIRROR: Device gm0 created (id=2125638583).
GEOM_MIRROR: Device gm0: provider ad0 detected.
GEOM_MIRROR: Device gm0: provider ad0 activated.
GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.
GEOM_MIRROR: Device gm0 already configured.
Mounting root from ufs:/dev/mirror/gm0s1a
PS .提供給會跟我一樣手殘打錯字的人看一下,如果看到以下錯誤訊息就代表你的/etc/fstab 打錯了。
Manual root filesystem specification:
: Mount using filesystem
e.g. ufs:da0s1a
? List valid disk boot devices
Abort manual inputmountroot>
不過不用擔心你不知道你掛載的哪個磁區有錯,注意看一下上面的畫面會顯示,請將 / 、 /usr 、/tmp載入後在去修改檔案後再重開機吧。
以這台機器為例,應該鍵入ufs:/dev/mirror/gm0s1a,再mount /dev/mirror/gm0s1f /usr,以便把vi 編輯器載入。
ufs:/dev/mirror/gm0s1a
mount -u /dev/mirror/gm0s1a
mount /dev/mirror/gm0s1f /usr
mount /dev/mirrot/gm0s1d /tmp
之後在重開機就OK了,另外請特別注意如果剛剛有一並加了多個HD的要注意一並變更為 /dev/mirror/gm1s1a /aa,通通要改喔
# df # 查看磁碟
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 12057022 828486 10263976 7% /
devfs 1 1 0 100% /dev
# 加入另一顆硬碟,這邊不說方式了
可先用 sysinstall安裝命令中的磁區分割,將就分割區刪除。
gmirror insert gm0 /dev/da1
gmirror status,查看結果
Name Status Components
mirror/gm0 DEGRADED da0
da1 (21%)
正在同步中。
完成。
常用命令
產生磁碟陣列
gmirror label -vnb round-robin gm0 /dev/da0
開啟 gm0 自動同步功能
gmirror configure -a gm0
查看所掛載的 gm0 硬碟
gmirror list
查看狀態
gmirror status
加入第另一顆硬碟
gmirror insert gm0 /dev/da1
移除 mirror 中某個實體裝置
gmirror remove gm0 da1
停止 gmirror 運作
1. 修改 /etc/fstab
# vi /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1b none swap sw 0 0
#/dev/mirror/gm0s1b none swap sw 0 0
/dev/da0s1a / ufs rw 1 1
#/dev/mirror/gm0s1a / ufs rw 1 1
2. 修改 /boot/loader.conf
# vi /boot/loader.conf
# geom_mirror_load=YES
3. 重新開機。
4. 完成。
update 20120203
因為我用相同機型的機器,所以我懶的裝機,直接將對應的HD拔過去結果無法自動mirror,後來發現到是因為兩個問題,
A.DISK類型不對:因為我拿之前WINDOWS用的HD裝上去所以有問題,重新切割並FORMAT後正常。
B.部分HD抓不到:插新的HD後要重新在CAMCONTROL RESCAN一次後正常。
接下來進行相關的geom設定:
1.命令 gmirror 忽略 gm0 中沒有連線的實體裝置
#gmirror forget gm0
2.將新的硬碟(eg. sd3)重新加入 gm0
#gmirror insert gm0 /dev/sd3
註:如果沒有先下 gmirror forget 指令的話,
gmirror 會因為「 gm0 中已經有一個叫 sd3 的裝置」所以拒絕 insert sd3 的指令,
顯示 "Not all disks connected." 的錯誤訊息。
之後就OK了。