有三個系統成分可以實現磁盤鏡像,它們是:
運行在主機系統的軟件。
外部磁盤子系統。
主機I/O控制器。
有時,討論磁盤鏡像技術好比討論軟件和硬件方案。硬件方面由兩個極不相同的技術所組成,即主機控制器技術和磁盤子系統技術。
在三種方法的優劣比較中,很重要一點是更換鏡像對中失敗磁盤驅動器的難易程度。對于磁盤驅動器來說,服務器一般不考慮用作即插即用系統。在I/O總線上插拔磁盤連接器時,插拔操作將影響傳輸的電信號,由此損壞數據的傳輸,使I/O路徑處于不可互操作狀態。即當服務器負荷很重時,它所產生的結果并不完全是所希望的。但是,支持熱插拔的外部磁盤子系統是一個例外,它能夠提供安全的磁盤即插即用功能。
軟件鏡像
正如大多數軟件情形一樣,磁盤鏡像也存在幾種軟件的實現方法。軟件磁盤鏡像既可以使用內部驅動器(位于服務器機柜中),也可以使用外部JBOD機柜中的磁盤,JBOD(just a bunch of disk )是一個簡單的磁盤子系統,能為外部機柜中的多個磁盤驅動器提供電源和I/O連接。JBOD磁盤驅動器雖然可以單獨由主機進行訪問,但通常情況下,總是與軟件和基于I/O控制器的鏡像協同工作。
大多數主流服務器操作系統和文件系統都提供基本的磁盤鏡像功能,為了易于安裝,一般都省略了性能、遠程管理和配置靈活性等,因此,操作系統的鏡像功能提供了一個既廉價,又省事的選擇。
卷管理軟件也提供了鏡像功能。像第3章討論的那樣,卷管理功能已經被集成到許多操作系統和文件系統中,每一種情況下,鏡像器都位于I/O路徑上。顯示了卷管理器中的鏡像器,以及它是如何利用單個或雙主機I/O控制器和I/O總線的。
1.軟件鏡像的性能和管理
軟件鏡像是一個系統的管理應用,它運行在主機系統上,并利用主機的處理器周期和內存資源執行自己的作業。因此,軟件磁盤鏡像給主機系統增加了負荷,在大多數情況下,這并不成為一個問題。但對于服務器而言,由于已經承擔了大量過載的任務,因此,軟件鏡像將影響服務器的性能。
同時,鏡像作業本身也必須在獲得自己的時間片后,才能在主機上運行,因此,軟件磁盤鏡像比其他方法的鏡像速度更慢。一般情況下,這個問題并不大,但在服務器滿負荷運行時,磁盤的失敗導致未完成寫操作可能性將稍大一些。
然而,由于它是運行在主機上的一個應用,因而,比起控制器和子系統鏡像,軟件鏡像更容易集成到各種服務器和網絡存儲環境。此外,修改和更新鏡像軟件也相當容易,相比而言,修改硬件和主機I/O控制器或磁盤子系統中固件鏡像方案困難得多。
2.用軟件鏡像替代失敗的磁盤
假如使用軟件磁盤鏡像,那么在更換失敗的驅動器時,應該關掉服務器。雖然小心地、輕輕地從正在運行地服務器撤去磁盤驅動器似乎也是合理的,但不要嘗試這樣做。因為這種設備更換方法除了對I/O路徑的電氣信號有影響外,也是許多操作系統所不支持的,如NetWare 和Windows NT。即使成功地更換了磁盤,而沒有使系統崩潰,如果不重新起動系統,也不能使用這個磁盤。