2011年1月2日 星期日

Ubuntu 10.10 軟體陣列2TB Raid1實作


自從去年底tomy誤刪了自家中的資料中心後,就一直在規劃新環境的磁碟陣列,事實上包含AMD主機板內建的FakeRaid SB710晶片、HighPoint硬體陣列卡與Linux軟體RAID都是列入考慮的方案,首先是介於硬體與軟體之間的主機板內建Raid(俗稱FakeRaid),tomy-NAS一代機就是採用Nvidia的n430晶片來做資料保全的Raid1陣列,使用兩顆當時市面上容量最大的WD 1TB來做,很幸運的Ubuntu9.10就有支援,在辨認上沒有遇到任何障礙,因此很輕鬆的就建置完成,經過測試拔除其中一顆成員後資料碟仍可正常存取,不過畢竟只是主機板半買半送的FakeRAID,在功能上過於簡陋,也無法提供使用者更進階的功能,所以打算藉由這次的環境重建來學習體驗其他可行的磁碟陣列方案。

再來是硬體陣列卡的方案,經過tomy一番審慎的評估後,認為HighPoint是最佳的解決方案,不論是VM平台的ESX/ESXi、Windows Server或是各家Linux Distro的驅動支援都非常良好,而其附加的監控軟體更是以Web介面設計,通吃各個平台,只可惜tomy看上眼的這塊HighPoint RocketRAID 2680要價台幣7000元左右!

好吧! 屈就於金錢的壓力之下,這次就使用網路上風評不錯、連中小企業也願意採用的Linux SoftRAID來做為2011年tomy資料中心建置的解決方案!




軟體陣列建置

tomy-NAS二代資料中心的硬體方面,CPU採行AMD Athlonx2 5050E節能處理器,配備DDR2-4G記憶體,以ECS 780GM-A Ultra全固態電容主機板為基底,使用1顆Seagate320GB當作系統碟,並加裝兩顆WD 2TB黑牌硬碟做為Raid1的資料碟,安裝的作業系統是64位元的Ubuntu 10.10,其實不管是哪一家的Linux Distro做法都是相同的,步驟都是先將兩顆即將要操作軟體磁碟陣列的硬碟做相同分割區處理、mdadm指令整合磁碟陣列成員並加入dev中的MD裝置,最後針對該MD裝置格式化。

由於本次LAB使用的是2TB硬碟,因此在分割表的部分不再使用fdisk工具,Ubuntu上提供的是Gparted工具可以讓我們切割出超越2TB的GPT分割表,以下的sdb與sdc就是即將要做Raid1的兩顆實體硬碟,我們要將它們做一模一樣的Partition切割,各位只要專注於sdc的處理即可,因為是相同的處理手法因此sdb的部分我已經做完囉!


首先對sdc做分割表的建立

這裡要點選進階選項的GPT類型才能分割2TB以上的硬碟

在此可以定義新分割區的容量大小

Partion切割完畢後要按下綠色勾勾才能套用設定

切割的同時一併做mkfs.ext4的格式化,以2TB的硬碟來說大概花費了6分鐘的時間

格式化完畢後將接下來要做Raid1的硬碟Partition做旗標設定

選raid標籤就對了!




MDADM指令操作

分割區與檔案系統建置完畢後,接下來就是重頭戲MDADM指令的操作,由於我們設定的是Raid1兩顆硬碟的鏡相mirror,合併後的裝置名稱為md0,並且是由sdb2與sdc2這兩個Partition所組成,所以在參數部分設定如下 ↓

軟體磁碟陣列建置完畢後我們可以用下方的兩個指令來觀看RAID狀態,目前我的兩顆硬碟正在做同步的Rebuild,大約跑了四個小時才Complete !!

同步完畢後還需要將該MD裝置進行格式化 (mkfs.ext4)
最後,別忘了將我們辛辛苦苦建立的raid資訊寫入MDADM的設定檔之中



手動掛載或自動掛載陣列裝置

經過一段漫長的程序後,我們的裝置/dev/md0已經擁有了Raid1資料保全的能力了,只是別忘了我們還需要將它做mount掛載才能夠確實的於系統中使用它,這裡tomy是建議直接將這個部分寫進/etc/fstab裡面,讓系統在每次重開機後都會自動掛載。


0 意見: