鏡映磁區
使用磁區鏡映時,磁區可以有兩個實體副本。每一個磁區副本可以屬於不同的儲存區,而每一個副本的虛擬容量都和磁區相同。在管理 GUI 中,星號 (*) 指出鏡映磁區的主要副本。主要副本指出讀取要求的偏好磁區。
當伺服器寫入鏡映磁區時,系統會將資料寫入兩個副本中。 當伺服器讀取鏡映磁區時,系統會挑選讀取其中一個副本。如果其中一個鏡映磁區副本暫時無法使用(例如,因為提供儲存區的儲存體系統無法使用),磁區仍然可供伺服器存取。 系統會記住寫入磁區的哪些區域,當兩個副本都可用時,會將這些區域重新同步化。
您可以建立具有一個或兩個副本的磁區,也可以新增副本來將非鏡映磁區轉換成鏡映磁區。 這樣新增副本時,系統會同步處理新的副本,而變成與現有的磁區相同。在此同步化過程中,伺服器可以存取該磁區。
您可以經由刪除一個副本,或分割一個副本來建立新的非鏡映磁區,就能將鏡映磁區轉換為非鏡映磁區。
磁區副本可以是任何類型:映像檔、分段或循序。磁區副本可以使用精簡供應或壓縮來節省容量。 如果副本位於資料縮減儲存區中,您也可以對磁區副本使用刪除重複,以節省更多容量。 如果您要建立新的磁區,兩個副本可以是不同類型,但若要使用刪除重複,則兩個副本都必須位於資料縮減儲存區中。 您可以將刪除重複資料的磁區副本新增至有副本在標準儲存區中的現有磁區。 您可以利用此方法將現有的磁區副本移轉至資料移轉儲存區。
使用磁區鏡映時,請考量如何配置仲裁候選磁碟。磁區鏡映會將部分狀態資料保存在仲裁磁碟上。如果無法存取仲裁磁碟,而磁區鏡映又無法更新狀態資訊,則可能需要讓鏡映磁區離線,才能維護資料完整性。 為了確保系統的高可用性,務必將多個仲裁候選磁碟分散到不同儲存體系統上分配和配置。
當磁區鏡映已同步時,如果鏡映副本離線且需要處理寫入 I/O 要求,或如果發生鏡映快速失效接手,則鏡映副本會變成不同步。 快速失效接手會將主機系統與暫時緩慢執行的鏡映副本隔離,這會導致系統短暫失去備援性。
寫入快速失效接手
透過寫入快速失效接手,在處理主機寫入 I/O 期間,系統會將寫入提交(逾時值為 10 秒)到兩個副本。 如果一個寫入成功,而另一個寫入耗時超過 10 秒,則較慢的要求會逾時並結束。慢速副本 I/O 的結束序列會持續多久,取決於從中配置鏡映副本的後端。比方說,如果是透過光纖通道網路進行 I/O,則 I/O 結束序列通常會在 10 到 20 秒內完成。但在罕見的情況下,此序列也可能超過 20 秒才完成。當 I/O 結束序列完成時,將會更新磁區鏡映配置,以記錄慢速副本現在不再同步。配置更新完成時,寫入 I/O 就可以在主機系統上完成。
磁區鏡映會停止使用慢速副本 4 到 6 分鐘;後續的 I/O 要求會交由剩餘的已同步副本來處理。 在此期間,同步化會暫停。此外,磁區的同步化進度會顯示低於 100%,並於磁區收到更多主機入寫時降低。副本暫停完成之後,磁區鏡映同步化會回復,而慢速副本會開始同步化。
在同步化期間,如果未同步的副本上有另一個 I/O 要求逾時,則磁區鏡映會再次停止使用該副本 4 到 6 分鐘。如果副本始終很慢,磁區鏡映會每隔 4 到 6 分鐘再次試圖同步化副本,而又發生另一次 I/O 逾時。該副本不會在另一次 4 到 6 分鐘內使用,而且會逐漸變成不同步。同步化進度將隨著寫入磁區的更多區域而逐漸變慢。
如果寫入快速失效接手經常發生,表示可能有基本的效能問題出現在儲存體系統,而它正在處理已變成不同步的鏡映副本的 I/O 資料。 如果一個副本因為儲存體系統效能而變慢,則會影響不同磁區上的多個副本。 用於配置這些副本的儲存區可能有一或多個相關聯的儲存體系統。 這種狀況表示可能超載或有其他後端效能問題。
輸入 mkvdisk 指令來建立新磁區時,依預設,mirror_write_priority 參數會設為 latency。快速失效接手已啟用。但是,您可以變更 chvdisk 指令的 mirror_write_priority 參數值,以控制快速失效接手。如果 mirror_write_priority 設為 redundancy,則會停用快速失效接手。系統會對所有鏡映寫入 I/O 套用完整的 SCSI 起始器層錯誤回復程序 (ERP)。如果一個副本變慢,則 ERP 可能需要將近 5 分鐘。如果寫入作業仍然失敗,則副本會離線。請認真考慮,是否想要保持備援性,還是失效接手和主機回應時間(代價是暫時失去備援性),何者較為重要。
讀取快速失效接手
讀取快速失效接手會影響系統如何處理 I/O 要求。讀取快速失效接手會決定系統最先對磁區的哪個副本嘗試讀取作業。優先讀取的副本是系統最先嘗試讀取 I/O 的副本;這是由使用者指明的讀取演算法所決定。
系統每次會將主機讀取 I/O 要求提交至磁區的一個副本。如果該要求成功,系統會傳回資料。如果不成功,系統會對另一個副本磁區重試要求。
透過讀取快速失效接手,當優先讀取的副本處理讀取 I/O 變慢時,系統會交給另一個副本進行失效接手。這表示在接下來的 4 - 6 分鐘內,系統會先嘗試對另一個副本執行讀取 I/O。之後,系統會回復為讀取原始優先讀取的副本。在此期間,如果對另一個副本的讀取 I/O 也變慢,則系統會立即回復。此外,如果優先讀取的副本發生變更,系統會回復為嘗試新的優先讀取的副本。當系統拓撲或者主要或本端副本發生變更時,就發生這種情況。例如,在標準拓撲中,系統通常會先嘗試讀取主要副本。如果您在讀取快速失效接手期間變更磁區的主要副本,系統會立即回復為讀取新設定的主要副本。
系統上一律啟用讀取快速失效接手功能。在此過程中,系統不會暫停磁區或造成副本不同步。
在儲存體系統維護期間保持鏡映磁區的資料完整性
即使其中一個後端儲存體系統故障,磁區鏡映仍可讓主機對磁區繼續執行 I/O,因而改善資料可用性。 不過,此鏡映並不會影響資料完整性。如果任一後端儲存體系統上的資料毀損,就像讀取其他任何磁區一樣,主機也可能會讀取到毀損的資料。 因此,在對儲存體系統執行維護而可能影響一個副本的資料完整性之前,務必檢查兩個磁區副本都已同步。然後,在開始維護之前,移除該磁區副本。 比方說,如果您需要將儲存體系統所提供的磁碟資料歸零,請採取這種作法。