#language zh-tw = 如何在 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. 停用主機板或 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 這個開機指令。 1. 自訂分割區並移除所有分割區,包括 LVM,來作個新開始 1. 在 sda 及 sdb 上為 /boot 建立一個 ~100MB 的軟件磁碟陣列分割區 1. 在 sda 及 sdb 上為 swap 建立一個軟件磁碟陣列分割區。這個分割區的大小視乎記憶體數量及個人喜好。這個範件採用 1GB。這將會是個磁碟陣列式的 swap*** 1. 在 sda 及 sdb 上為 / 建立一個軟件磁碟陣列分割區並用盡所有空間 1. 點擊 RAID 鍵來建立一個磁碟陣列裝置 1. 選取那兩個 100MB 的分割區,設定掛載點為 /boot,檔案系統類型為 ext3,磁碟陣列類型為 RAID1(預設裝置名稱是 md0),點擊 OK 1. 點擊 RAID 鍵來建立一個磁碟陣列裝置 1. 選取那兩個 1GB 的分割區,設定檔案系統類型為 swap,磁碟陣列類型為 RAID1(預設裝置名稱是 md1),點擊 OK 1. 點擊 RAID 鍵來建立一個磁碟陣列裝置 1. 選取那兩個大的分割區,設定掛載點為 /,設定檔案系統類型為 ext3,磁碟陣列類型為 RAID1(預設裝置名稱是 md2),點擊 OK 1. 你的分割區已經建立好。你的畫面應該看似以下樣子: . '''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]}}} 1. 點擊 Next 進到 GRUB 啟動程式畫面 1. 預設 GRUB 會安裝到 /dev/sda,點擊 Next 1. 繼續安裝 CentOS,選取所需的套件 1. 當 CentOS 安裝完成後,用 root 的指令行進到第二部份。切勿更新 CentOS;切勿做其它事情! == 第二部份 == 這部份會確保 RAID1 /boot 的兩個成員都可以用來開機。請在碟盤失效/更替後重複這個部份。 === 方法一 —— 開機時用 GRUB === 在 GRUB 選單輸入 "c" 選項進到 GRUB 的提示行,接著: . {{{ grub> root (hd1,0) grub> setup (hd1) grub> root (hd0,0) grub> setup (hd0)}}} 按 ESC 鍵返回 GRUB 選單,然後正常開機。進行方法二裡面的 1 及 5-8 步。 === 方法二 —— 在運作中的系統用 GRUB === 1. 確定你是 [:zh-tw/TipsAndTricks/BecomingRoot:root]。 1. 輸入 "/sbin/grub" 這個指令,按 Enter 1. 在 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}}} 1. 祝你好運。輸入 "reboot",按 Enter。 1. 當開機完成後,進行系統更新。 1. 如果內核或 glibc 更新了,請重新開機。 1. 如果有新的內核,輸入 "uname -a" 後按 Enter 來檢查你的確在運用最新的內核。 1. 完成了! ---- . 這份指引是根據 [http://www.centos.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=19853&forum=37 CentOS 論壇議題]引述 TimVerhoeven 在 irc.freenode.net 上的 #centos 頻道所提供的資料,吸納了論壇用戶及 [http://lists.centos.org/mailman/listinfo/centos-docs centos-docs] 上的回饋作出多番修飾而寫成的。 . 以上程序假設一個圖像化的安裝。在文字模式下建立 RAID-1 裝置是可行的,但頗為冗長及苛刻。你首先要在碟盤上建立每個 RAID 成員分割區,並且指定採用單一個碟盤。如果你不為分割區個指定單一的碟盤(例如 sda 或 sdb),Disk Druid 似乎會在建立 RAID 裝置時修改你的配置。在建立 RAID 裝置的過程中,請確定你在每個碟盤上單單選取所需的 RAID 分割區。 . 同一個方法應該可以應用在位於 RAID1 上的 /,而不須 /boot。這個 [http://www.texsoft.it/index.php?c=hardware&m=hw.storage.grubraid1&l=it Fedora 指南]的連結就採用了這個方法,它應該頗合用。這篇 Fedora 文章亦為了如何用 mdadm 進行修復提供了很好的指引。 . 本 Wiki 內其它有關 RAID 的文章包括 [:zh-tw/HowTos/CentOS5ConvertToRAID:如何利用修復光碟將一個 CentOS 5 系統轉換成 RAID1] 及 [:zh-tw/HowTos/Install On Partitionable RAID1:如何在一個可分割的軟件 RAID1 上安裝 CentOS 5]。 . 一般有關軟件磁碟陣列的文章: [http://tldp.org/HOWTO/Software-RAID-HOWTO.html] [http://en.wikipedia.org/wiki/Mdadm] . 這頁的英文版由 PhilSchaffner 建立及維護。歡迎其他擁有編輯權限的 Wiki 貢獻者作出更正或添加。其他有意見的讀者可以在我的 Wiki 頁內找到聯絡資料。 ---- * * 有些控制器聲稱是硬件磁碟陣列,但仿似 winmodem 般須要用驅動程式來運作。這些控制器就是所謂的「模擬 RAID」或「冒牌貨」,它們在 CentOS 上停用 RAID 功能會更佳。這篇[http://www.brandonchecketts.com/archives/disabling-dmraid-fakeraid-on-centos-5 外置文章]頗詳細地探討這些議題。 * ** 欲得到有關磁碟列件的解釋,請閱讀 [http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks Wikipedia 文章],或在 google 上搜尋其它精彩描述。要得更多針對企業級 Linux 5 的資訊,請參閱部署指南的[http://www.centos.org/docs/5/html/5.2/Deployment_Guide/ch-raid.html 「冗餘磁碟陣列(RAID)」]部份或 CentOS 5 常見問題集內的[http://wiki.centos.org/zh-tw/FAQ/CentOS5#head-d9e6f2383c8c976a90228b4e680814f86e218e4e 「我如何在 CentOS 5 上安裝一個軟件磁碟陣列?」]。 * *** 另一個捨棄冗餘來換取更佳效能和雙倍調換空間,但沿用相同分割區大小的做法,就是採用兩個非磁碟陣列的分割區。這樣做的效能與 RAID0 相若,但就算一個碟盤壞了仍能捱得住,雖然只會剩下一半的調換空間。 * 選擇二:把剩餘的空間放在另一個 RAID1,然後在 /dev/md1 上建立一個 LVM 磁區,把 /、swap、甚至 /home 或其它檔案系統以邏輯磁區的型式建立在 LVM 內。請跳過第 1 分段餘下的指引。 ~-Translation of revision 28-~