如何在 CentOS 5 上設置一個軟件磁碟陣列

這篇文章探討如何於安裝時,在沒有真實磁碟陣列*控制器的系統上建立一個軟件(mdraid)RAID1。這意味著控制器會將原始塊裝置直接暴露給操作系統。這文章亦假設所涉及的裝置是頭兩個 SATA 碟盤 /dev/sda 及 /dev/sdb。若果是頭兩個平衡 ATA 碟盤,請將 /dev/sda 及 /dev/sdb 改為 /dev/hda 及 /dev/hdb(或者 /dev/sdc,如果是第二個主碟盤)。假如是其它裝置,請適切地調整碟盤稱謂。請按你的處境小心修改指令,切勿盲目地遵從下面的步驟。

要正確開機,/boot 必須位於非磁碟陣列,或者位於 RAID1 的分割區。/boot 不能採用 RAID0、RAID5 或其它 RAID 類型,而 RAID0(沒有冗餘的條紋)不建議給重要的分割區使用。只要滿足了 /boot 的限制,主目錄及其它分割區便可以採用 RAID5 或其它類型,然而,這個範例不會涵蓋那些選擇。**

<!> 這篇文章所描述的行動可以損毀現有的檔案系統。請先在一個測試裝置上進行實驗,並建立最新及可靠的備份,然後才正式執行。請勿盲目地剪貼指令,尤其是以 root 身份來執行,除非你清楚瞭解它們的效用。

dd 這個指令及下面所描述的步驟將會毀滅碟盤上的所有資料。如果碟盤上藏有需用的資料,請將它們備份。

1. 第一部份

  1. 停用主機板或 RAID 控制器 BIOS 上的任何模擬的磁碟陣列,令它成為一個正常的控制器 —— 多數是 ATA 或 SATA,也有可能是 SCSI。假如之前採用的是模擬磁碟陣列,你或許須要蓋過分割區列表。切勿載入 RAID 驅動程式。以下指令可以於圖像安裝分割硬盤前在第二個虛擬控制台(Ctrl-Alt-F2)內執行;或者在安裝媒體的修復模式中執行;又或者透過 LiveCD 來執行。裝置內的分區表將會被清除,而碟盤上的所有資料將會被遺失!
    • {{{dd if=/dev/zero of=/dev/sda bs=512 count=64

dd if=/dev/zero of=/dev/sdb bs=512 count=64}}}

  1. 開始以圖像介面安裝 CentOS。你可能需要用 "boot: linux nodmraid" 或在首個安裝選單按 [Tab] 來加入 nodmraid 這個開機指令。
  2. 自訂分割區並移除所有分割區,包括 LVM,來作個新開始
  3. 在 sda 及 sdb 上為 /boot 建立一個 ~100MB 的軟件磁碟陣列分割區
  4. 在 sda 及 sdb 上為 swap 建立一個軟件磁碟陣列分割區。這個分割區的大小視乎記憶體數量及個人喜好。這個範件採用 1GB。這將會是個磁碟陣列式的 swap***
  5. 在 sda 及 sdb 上為 / 建立一個軟件磁碟陣列分割區並用盡所有空間
  6. 點擊 RAID 鍵來建立一個磁碟陣列裝置
  7. 選取那兩個 100MB 的分割區,設定掛載點為 /boot,檔案系統類型為 ext3,磁碟陣列類型為 RAID1(預設裝置名稱是 md0),點擊 OK
  8. 點擊 RAID 鍵來建立一個磁碟陣列裝置
  9. 選取那兩個 1GB 的分割區,設定檔案系統類型為 swap,磁碟陣列類型為 RAID1(預設裝置名稱是 md1),點擊 OK
  10. 點擊 RAID 鍵來建立一個磁碟陣列裝置
  11. 選取那兩個大的分割區,設定掛載點為 /,設定檔案系統類型為 ext3,磁碟陣列類型為 RAID1(預設裝置名稱是 md2),點擊 OK
  12. 你的分割區已經建立好。你的畫面應該看似以下樣子:
    • RAID 裝置

      /dev/md0 ext3 [選取了] 100
      /dev/md1 swap [選取了] 1024
      /dev/md2 ext3 [選取了] [很多 GB]

      硬磁

      /dev/sda
         /dev/sda1 /dev/md0 software RAID [未被選取] 100
         /dev/sda2 /dev/md1 software RAID [未被選取] 1024
         /dev/sda3 /dev/md2 software RAID [未被選取] [很多 GB]
      /dev/sdb
         /dev/sdb1 /dev/md0 software RAID [未被選取] 100
         /dev/sdb2 /dev/md1 software RAID [未被選取] 1024
         /dev/sdb3 /dev/md2 software RAID [未被選取] [很多 GB]
  13. 點擊 Next 進到 GRUB 啟動程式畫面
  14. 預設 GRUB 會安裝到 /dev/sda,點擊 Next
  15. 繼續安裝 CentOS,選取所需的套件
  16. 當 CentOS 安裝完成後,用 root 的指令行進到第二部份。切勿更新 CentOS;切勿做其它事情!

2. 第二部份

這部份會確保 RAID1 /boot 的兩個成員都可以用來開機。請在碟盤失效/更替後重複這個部份。

2.1. 方法一 —— 開機時用 GRUB

在 GRUB 選單輸入 "c" 選項進到 GRUB 的提示行,接著:

按 ESC 鍵返回 GRUB 選單,然後正常開機。進行方法二裡面的 1 及 5-8 步。

2.2. 方法二 —— 在運作中的系統用 GRUB

  1. 確定你是 [:zh-tw/TipsAndTricks/BecomingRoot:root]。

  2. 輸入 "/sbin/grub" 這個指令,按 Enter
  3. 在 GRUB 的指令殼輸入以下指令:
    • grub> device (hd0) /dev/sdb
      grub> device (hd1) /dev/sda
      grub> root (hd0,0)
      grub> setup (hd0)
      grub> root (hd1,0)
      grub> setup (hd1)
      grub> quit
  4. 祝你好運。輸入 "reboot",按 Enter。
  5. 當開機完成後,進行系統更新。
  6. 如果內核或 glibc 更新了,請重新開機。
  7. 如果有新的內核,輸入 "uname -a" 後按 Enter 來檢查你的確在運用最新的內核。
  8. 完成了!



Translation of revision 28

zh-tw/HowTos/SoftwareRAIDonCentOS5 (last edited 2010-01-20 02:49:09 by TimothyLee)