不過,利用晶片組所提供的 RAID 功能之硬碟組,當更換主機板時,可能會不相容,如此一來想保護硬碟資料的初衷就失敗了。幸好,Linux 支援「Software RAID (軟體 RAID)」的功能,不再受限於主機板及 BIOS (註),再加上 CPU 的運算能力已超過一般用途所需。因此,使用 Linux 的「軟體 RAID」就是一個不錯的選擇。
註:使用 Software RAID 在 BIOS 中的硬碟設定,只需設為 SATA 或 AHCI 模式即可,不可設為 RAID。
1. 安裝中切換至「終端機」
與一般安裝相同:下載 Fedora 的 ISO 檔,製做開機碟,開始安裝。經過一段時間,當顯示「選擇安裝語言」的畫面時,同時按【Ctrl】+【Alt】+【F2】三個鍵,切換到另一個「終端機」畫面,
[anaconda root@localhost /]#
2. 建立 RAID 硬碟組
這時可以開始建立一組 RAID 硬碟。不過,最好先確認將用於 RAID 的硬碟編號是否正確,免得用錯硬碟,這裏用 parted /dev/sdX print 顯示「第 X 個硬碟」的資訊。[anaconda root@localhost /]# parted /dev/sda print上例中,確認 /dev/sda 及 /dev/sdb 這兩顆硬碟是要用於 RAID 的硬碟編號。接著就可以下命令建立 RAID 硬碟,因為這個 RAID 碟碟要做為開機硬碟之用,目前只能設定為 RAID 1。
Error: /dev/sda: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
[anaconda root@localhost /]# parted /dev/sdb print
Error: /dev/sdb: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
[anaconda root@localhost /]# mdadm --create md127 --level=1 --raid-devices=2 --metadata=1.0 /dev/sda /dev/sdb其中各參數說明如下:
mdadm: array /dev/md/md127 started.
--create md127 | 建立名稱為 md127 的 RAID 硬碟組,完整名稱為 /dev/md127,以後查詢、修改皆以此名指定之。 |
--level=1 | 指定為 RAID 1 硬碟組,因為將此 RAID 硬碟組設為『開機』之用,一定要使用 RAID 1。 |
--raid-devices=2 | RAID 1 硬碟組至少要兩顆硬碟。 |
--metadata=1.0 | RAID 硬碟組中 Superblock 格式的版本,最近的測試中 1.0 的相容度比較好。 |
/dev/sda /dev/sdb | 要加入的硬碟之完整名稱。 |
3. 查詢 RAID 硬碟組之資訊
這時可以立即查詢是否建立成功,[anaconda root@localhost /]# mdadm --detail /dev/md127上例中,『State : clean, resyncing』表示正在建立鏡像(即:兩個硬碟內容完全相同),而『Resync Status : 3% complete』則是目前的進度。當 RAID 建立完成時,若再查詢則所顯示的訊息就不同了。
/dev/md127:
Version : 1.0 Creation Time : Sat Jan 12 09:22:27 2019 Raid Level : raid1 Array Size : 20971392 (20.00 GiB 21.47 GB) Used Dev Size : 20971392 (20.00 GiB 21.47 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Jan 12 09:22:27 2019 State : clean, resyncing Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : resync Resync Status : 3% complete Name : localhost:md127 (local to host localhost) UUID : ba2f781c:737529ac:d9dc7be1:0decd912 Events : 0
Number Major Minor RaidDevice State 0 8 0 0 active sync /dev/sda 1 8 16 1 active sync /dev/sdb
[anaconda root@localhost /]# mdadm --detail /dev/md127這時可以看到 RAID 的狀態已經變成 clean,表示正常運作中。
/dev/md127:
Version : 1.0 Creation Time : Sat Jan 12 09:22:27 2019 Raid Level : raid1 Array Size : 20971392 (20.00 GiB 21.47 GB) Used Dev Size : 20971392 (20.00 GiB 21.47 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Jan 12 09:24:13 2019 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : resync Name : localhost:md127 (local to host localhost) UUID : ba2f781c:737529ac:d9dc7be1:0decd912 Events : 17
Number Major Minor RaidDevice State 0 8 0 0 active sync /dev/sda 1 8 16 1 active sync /dev/sdb
4. 回到原來的安裝畫面,繼續安裝
同時按【Ctrl】+【Alt】+【F6】三個鍵,切換回原來的安裝畫面,選擇『安裝語言』後按【繼續】鈕。除了『安裝目標位置』這一項有些不同需要另外說明外,其它部份的安裝過程與一般無異。點選【安裝目標位置 (D)】,
雖然已經建立 RAID 硬碟組,但是「Fedora 安裝程式」似乎並未偵測,可能它是在建立 RAID 硬碟組之前就已經偵測硬碟了。沒關係,按一次右下方的【重整 (R)】,就可以再偵測一次硬碟
按【重新掃描磁碟 (R)】確認,「Fedora 安裝程式」即開始偵測硬碟。
掃描完成,需要再按【確定(O)】鈕,進行下一步驟。
這時就可以看到剛才建立的 RAID 硬碟組了,點選『MDRAID set (mirror)』這個 RAID 硬碟組,就如同一般安裝時點選「安裝目標磁碟」一樣。
接下來的步驟和一般安裝過程相同,就不再贅述。
已測試版本:
- Fedora: 27 (Superblock format v. 0.9)
- Fedora: 28, 29 (Superblock format v. 1.0)
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)