在Sun Fire V440 服務器上,可以使用板載Ultra-4 SCSI 控制器來配置硬件磁盤鏡像。它的性能比使用卷管理軟件的常規軟件鏡像的性能更高。RAID 1 提供了最高級別的數據保護,但是,由於所有的數據都要存儲兩遍,因此增加了存儲成本,而且,它與RAID 0 或RAID 5 相比,寫操作性能有所降低。 在Sun Fire V440 服務器上, Ultra-4 SCSI 控制器支持使用Solaris 操作環境raidctl實用程序來進行內部硬件磁盤鏡像。使用raidctl 實用程序創建的硬件磁盤鏡像,與使用卷管理軟件創建的硬件磁盤鏡像稍有不同。使用軟件的鏡像中,每個驅動器在虛擬設備樹中都有其自己的條目,並且對兩個虛擬設備都可以執行讀 / 寫操作。在硬件磁盤鏡像中,設備樹中只出現一個設備(主設備)。鏡像的設備(從設備)對操作系統是不可見的,只能通過Ultra-4 SCSI 控制器進行訪問。
一.如何創建硬件磁盤鏡像 執行此過程可以在系統上創建內部硬件磁盤鏡像配置。 1.開始之前,驗證磁盤驅動器與邏輯設備名稱及物理設備名稱之間的對應關系。 代碼: 磁盤插槽號 邏輯設備名稱* 物理設備名稱 0號插槽 c1t0d0 /devices/pci@1f,700000/scsi@2/sd@0,0 3號插槽 c1t1d0 /devices/pci@1f,700000/scsi@2/sd@1,0 2號插槽 c1t2d0 /devices/pci@1f,700000/scsi@2/sd@2,0 3號插槽 c1t3d0 /devices/pci@1f,700000/scsi@2/sd@3,0 注:邏輯設備名稱在您的系統上的顯示方式可能有所不同,這取決於所安裝的附加磁盤控制器的數量和類型。 2.要驗證硬件磁盤鏡像尚未存在,請鍵入: 代碼: # raidctl No RAID volumes found. 3.創建內部硬件磁盤鏡像: 代碼: # raidctl -c c1t0d0 c1t1d0 創建RAID 鏡像之後,從屬驅動器(在本例中為c1t1d0)將從Solaris 設備樹中消失。 4.檢查RAID 鏡像的狀態: 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status -------------------------------------------------------- c1t0d0 RESYNCING c1t0d0 OK c1t1d0 OK 上面的示例表示RAID 鏡像仍然正在與備份驅動器重新同步。 下面的示例表示RAID 鏡像已完全恢復並且聯機。 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status -------------------------------------------------------- c1t0d0 OK c1t0d0 OK c1t1d0 OK
二.如何刪除硬件磁盤鏡像 執行此過程可從系統中刪除硬件磁盤鏡像配置。 1. 確定鏡像卷的名稱: 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status -------------------------------------------------------- c1t0d0 OK c1t0d0 OK c1t1d0 OK 在本例中,鏡像卷為c1t0d0。 2. 刪除卷: 代碼: # raidctl -d c1t0d0 RAID Volume ’c0t0d0’ deleted 3. 確認已經刪除了RAID 陣列: 代碼: # raidctl No RAID volumes found.
三.如何恢復硬件磁盤鏡像 執行此過程可從系統中恢復硬件磁盤鏡像配置。 1.確認發生故障的磁盤: 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status ---------------------------------------------------------- c1t1d0 DEGRADED c1t0d0 OK c1t1d0 DEGRADED 表示由於磁盤c1t1d0 上出現故障而導致磁盤鏡像失效。 2.執行鏡像磁盤熱插拔操作: 代碼: # cfgadm -x unconfigure /dev/rdsk/c0t0d0 注意 – 確保磁盤驅動器“可以拆卸” LED 已亮,表示該磁盤驅動器處於脫機狀態。如果磁盤驅動器仍處於聯機狀態,在讀 / 寫操作時拆卸磁盤就存在著丟失數據的危險。 3.更換新硬盤後執行: 代碼: # cfgadm -x configure /dev/rdsk/c0t0d0 4.檢查RAID鏡像的狀態: 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status -------------------------------------------------------- c1t0d0 RESYNCING c1t0d0 OK c1t1d0 OK 上面的示例表示RAID 鏡像仍然正在與備份驅動器重新同步。 下面的示例表示RAID 鏡像已完全恢復並且聯機。 代碼: # raidctl RAID RAID RAID Disk Volume Status Disk Status -------------------------------------------------------- c1t0d0 OK c1t0d0 OK c1t1d0 OK
四.如何執行非鏡像磁盤熱插拔操作-------附加 1.查看SCSI 設備的狀態: 代碼: # cfgadm -al Ap_Id Type Receptacle Occupant Condition c0 scsi-bus connected configured unknown c0::dsk/c0t0d0 CD-ROM connected configured unknown c1 scsi-bus connected configured unknown c1::dsk/c1t0d0 disk connected configured unknown c1::dsk/c1t1d0 disk connected configured unknown c1::dsk/c1t2d0 disk connected configured unknown c1::dsk/c1t3d0 disk connected configured unknown c2 scsi-bus connected configured unknown c2::dsk/c2t2d0 disk connected configured unknown usb0/1 unknown empty unconfigured ok usb0/2 unknown empty unconfigured ok usb1/1 unknown empty unconfigured ok usb1/2 unknown empty unconfigured ok # 注 – 邏輯設備名稱在您的系統上的顯示方式可能有所不同,這取決於所安裝的附加磁盤控制器的數量和類型。 -al 選項返回所有SCSI 設備(包括總線和USB 設備)的狀態。(在此示例中,系統沒有連接USB 設備。) 注意:雖然您可以使用Solaris 操作環境cfgadm install_device 和cfgadm remove_device 命令來執行磁盤驅動器的熱插拔過程,但是,如果您在包含系統磁盤的總線上調用這些命令,那麼,這些命令會發出如下的警告消息: 代碼: # cfgadm -x remove_device c1::dsk/c1t1d0 Removing SCSI device: /devices/pci@1f,4000/scsi@3/sd@1,0 This operation will suspend activity on SCSI bus: c1 Continue (yes/no)? y dev = /devices/pci@1f,4000/scsi@3/sd@1,0 cfgadm: Hardware specific failure: failed to suspend: Resource Information ------------------ ------------------------- /dev/dsk/c1t0d0s0 mounted filesystem "/" /dev/dsk/c1t0d0s6 mounted filesystem "/usr" 發布此警告是因為這些命令試圖使Ultra-4 SCSI 總線停止活動,但是Sun Fire V440 服務器固件不讓它停止活動。在Sun Fire V440 服務器上,可以安全地忽略此警告消息,而下面的過程可以避免出現這一警告消息。 2.從設備樹中刪除該磁盤驅動器: 代碼: # cfgadm -c unconfigure c1::dsk/c1t3d0 此示例從設備樹中刪除c1t3d0。藍色“可以拆卸” LED 發光。 3.驗證已從設備樹中刪除該設備: 代碼: # cfgadm -al Ap_Id Type Receptacle Occupant Condition c0 scsi-bus connected configured unknown c0::dsk/c0t0d0 CD-ROM connected configured unknown c1 scsi-bus connected configured unknown c1::dsk/c1t0d0 disk connected configured unknown c1::dsk/c1t1d0 disk connected configured unknown c1::dsk/c1t2d0 disk connected configured unknown c1::dsk/c1t3d0 unavailable connected unconfigured unknown c2 scsi-bus connected configured unknown c2::dsk/c2t2d0 disk connected configured unknown usb0/1 unknown empty unconfigured ok