根據我的理解,RAID 控制器負責管理 RAID 陣列的讀取/寫入操作,因為某些配置(例如 5 和 10)的資料可以跨多個磁碟機進行分片。我知道許多高階伺服器將包含一個獨立的 RAID 卡,其唯一目的是進行此管理,如果該卡出現故障……您就有麻煩了。但是,我不確定如何透過 Linux 軟體 raid 追蹤這些資訊。
我將首先提供一個引發我的問題的硬體設定範例。
- PC001 包含四個驅動器:drive001、drive002、drive003 和drive004
- drive001 在非 raid 配置中作為作業系統磁碟機(Linux 的某種風格)存在
- drive002、drive003和drive004透過Linux軟體RAID配置為使用RAID 5的array001
問題:
- linux 運行 array001 所需的資訊儲存在哪個磁碟機上?驅動器001還是陣列001?
- 如果drive001發生故障,您是否能夠使用新版本的linux安裝新的作業系統磁碟機(drive005)並繼續使用array001,就像什麼都沒發生一樣?
答案1
我已經進行了完全相同的設置,但實際上丟失了作業系統驅動器,並且透過移動到新硬體等來恢復的能力是我真正喜歡 mdadm/軟體 raid 的事情之一。
raid 陣列的配置位於 Drive001 上(作為作業系統的一部分,檔案實際上是/etc/mdadm.conf
)。
如果作業系統驅動器失效,請更換驅動器,重新安裝作業系統,更新,安裝mdadm
工具,使用陣列定義重新創建/etc/mdadm.conf
,並告訴系統啟動它/重新組裝它。您將很快恢復並運行。
根據我的記憶,當我的驅動器壞掉時,我只是使用 apt-get 安裝 mdadm 管理內容,dpkg 配置步驟詢問啟動、自動啟動等所需的捲。只能假設它運行了類似的掃描...
還有關於從手冊頁掃描和組裝的註釋 - 特別是第二句話...
什麼時候- 集合與使用- 掃描如果沒有列出任何設備,mdadm 將首先嘗試組裝設定檔中列出的所有陣列。如果配置中沒有列出任何陣列(標記為 的陣列除外),它將在可用設備中尋找可能的陣列,並嘗試組裝它找到的任何陣列。標記為屬於給定主主機的陣列將被正常組裝和啟動。顯然不屬於該主機的數組的名稱不應與本地任何內容衝突,並且以“自動讀取”方式啟動,以便在寫入數組之前不會將任何內容寫入任何設備。即自動重新同步等被延遲。