Related Posts Plugin for WordPress, Blogger...

1、前言

當實體伺服器建立好 RAID 並安裝 VMware vSphere ESXi 之後,因為不管是透過 VMware vSphere Client 連接單台 ESXi Host,或者是透過 vCenter Server 將 ESXi Host 納管進來後,都無法看到「RAID 或電池的運作狀態」,甚至當有硬碟損壞時,你可能只能看伺服器前方面板的燈號而以。

本文便是實作為 VMware vSphere ESXi 5.5 安裝 VIB,之後便可以在 VMware vSphere Client 中看到 RAID 狀態,您也可以安裝 MegaRAID Storage Manager 進行更詳細的資訊查看,以及相關的進階設定。

文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.下載 MegaRAID SMIS Provider
          步驟2.開啟 ESXi Host 遠端連線服務 SSH
          步驟3.上傳 VIB 檔案至 ESXi Host
          步驟4.安裝 VIB 檔案
          步驟5.下載 MegaRAID Storage Manager (MSM)
          步驟6.確認 MSM 客戶端及 ESXi Host 名稱解析
          步驟7.使用 MSM 工具搜尋 ESXi Host
          步驟8.使用 MSM 工具管理 MegaRAID
          步驟9.以 MSM 工具設定告警通知機制
4、硬碟故障測試
          步驟1.模擬硬碟故障
          步驟2.硬碟故障時 MSM 工具看到的狀態
          步驟3.RAID 重建 (Rebuild)
          步驟4.查看 Rebuild 進度
          步驟5.確認 RAID 重建完畢
5、參考

2、實作環境

  • 實體伺服器: IBM xSeries x3550 M4 Server
  • RAID 卡: IBM ServerRAID M5110 (LSI SAS 9266-8i)
  • 虛擬化平台: VMware vSphere ESXi 5.5 (Build Number 1331820)

3、安裝及設定

步驟1.下載 MegaRAID SMIS Provider

連結到 LSI 官網 Documents & Downloads 頁面,在搜尋列中輸入關鍵字「MegaRAID SMIS」後按下搜尋鍵,便會顯示搜尋結果「Management Software and Tools」。
將 Management Software and Tools 項目展開後,找到「Latest MageRAID SMIS Provider」項目並且在 OS 欄位選擇適用於「VMware 5.x」的項目,確認後按下「下載圖示」,下載後解開 ZIP 檔案會發現有 VIB 檔案,此次實作檔案名稱為「vmware-esx-provider-lsiprovider.vib」。

在下載項目中按下「Read Me」再次確認一下,此下載的套件是否適用於你所使用的 RAID Card,此次實作環境為「IBM ServerRAID M5110 (LSI SAS 9266-8i)」,而在 Read Me 檔案 中有條列所支援的 RAID Card 型號,請務必再次確認此 VIB 套件是否支援!!
MegaRAID SAS 9240-4i、9240-8i
MegaRAID SAS 9260-4i、9260CV-4i、9260-8i、9260CV-8i、9260DE-8i、9260-16i、9261-8i
MegaRAID SAS 9265-8i、9266-4i、9266-8i
MegaRAID SAS 9270-8i、9271-4i、9271-8i、9271-8iCC
MegaRAID SAS 9280-4i4e、9280-8e、9280DE-8e、9280-24i4e、9280-16i4e
MegaRAID SAS 9285-8e、9285CV-8e、9286-8e、9286CV-8e、9286CV-8eCC
MegaRAID SAS 9341-8i、9341-4i
MegaRAID SAS 9361-8i、9361-4i


步驟2.開啟 ESXi Host 遠端連線服務 SSH

您可以到 ESXi Host 的 Console 面前使用 DCUI 開啟 SSH 服務 (詳請參考 VMware KB 2004746),或者依照本文在 vSphere Client 下開啟 SSH 服務,請依序點選【ESXi Host > Configuration > Security Profile > Services > Properties > SSH > Options > Start > OK】。


步驟3.上傳 VIB 檔案至 ESXi Host

將先前下載及解開後的 VIB 檔案,透過 Datastore Browse 或 WinSCP 上傳至 ESXi Host 當中。接著開啟 SSH Client 登入 ESXi Host 後,將剛才上傳的 VIB 檔案移動至「/tmp」路徑下。
/tmp # ls -l
total 7408
-rw-------  1 root   root       36 Dec 11 06:10 probe.session
-rw-------  1 root   root  7575334 Dec 11 06:09 vmware-esx-provider-lsiprovider.vib
drwx------  1 root   root      512 Dec 11 06:04 vmware-root


步驟4.安裝 VIB 檔案

請執行「esxcli software vib install -v /tmp/vmware-esx-provider-lsiprovider.vib」指令安裝 VIB 檔案,你應該會看到安裝成功的關鍵字「The update completed successfully」,接著請將 ESXi Host 重新啟動
# esxcli software vib install -v /tmp/vmware-esx-provider-lsiprovider.vib
Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: LSI_bootbank_lsiprovider_500.04.V0.38-0005
   VIBs Removed:
   VIBs Skipped:

重新啟動 ESXi Host 之後,您可以再次使用 vSphere Client 登入後查看,你可以發現到在「Configuration > Health Status」項目中「Storage」選項內,在安裝 VIB 檔案「前 / 後」的差異: (若看不到硬體健康狀態,請確認 CIM Server 服務是否啟動)

安裝 VIB 檔案 Storage 內容

安裝 VIB 檔案 Storage 內容

此時,再次使用 SSH Client 登入 ESXi Host 並鍵入如下指令,確認 MageRAID SMIS Provider 是否真的安裝完成。
# esxcli software vib list | head
Name              Version                       Vendor  Acceptance Level  Install Date
----------------- ----------------------------  ------  ----------------  ------------
lsiprovider       500.04.V0.50-0006             LSI     VMwareAccepted    2014-03-25
ata-pata-amd      0.3.10-3vmw.550.0.0.1331820   VMware  VMwareCertified   2014-03-25
ata-pata-atiixp   0.4.6-4vmw.550.0.0.1331820    VMware  VMwareCertified   2014-03-25
ata-pata-cmd64x   0.2.5-3vmw.550.0.0.1331820    VMware  VMwareCertified   2014-03-25


步驟5.下載 MegaRAID Storage Manager (MSM)

請至 IBM 網站下載 MegaRAID Storage Manager (MSM) 管理工具,本文實作所採用的版本為 13.01.04

步驟6.確認 MSM 客戶端及 ESXi Host 名稱解析

雖然 MegaRAID Storage Manager (MSM) 管理工具,屆時將會採用「IP Address」進行搜尋 ESXi Host 的動作 (採用 SLP with Multicast 方式),但是根據實測結果在搜尋及溝通時會用到「DNS 解析」,所以請確認下列事項:

MSM 管理工具主機:
1. Firewall 必須要允許 MSM 管理工具通行 (OpenJDK Platform binary)。
2. MSM 管理工具執行時,必須要確認有帶起「UDP Port 3071 / 5571 (javaw.exe 帶起)」,否則 MSM 工具無法正常運作。
3. 安裝 MSM 管理工具主機,必須要能「正確解析」ESXi Host,如果區網中沒有 DNS 伺服器進行解析的話,可以在 MSM 客戶端主機設定自行解析,例如 採用 Windows 作業系統的話,便修改 「C:\Windows\System32\drivers\etc\hosts」內容。若 DNS 名稱解析的動作未正確完成的話,稍後使用 MegaRAID Storage Manager (MSM) 管理工具,嘗試搜尋 ESXi Host 時便可能會發生「找不到 或 找到 0.0.0.0」的情況,而導致無法順利連接管理。

vSphere ESXi 主機:
1. ESXi Host 必須設定「主機名稱 Hostname」,請勿使用預設的「localhost」,並確認「/etc/hosts」檔案內容中有名稱解析記錄。
2. 確認「CIM Server、CIM SLP」服務必須啟動 (因為後續有使用 Port 5989 在通訊),否則屆時將會找得到但是無法連入管理。

步驟7.使用 MSM 工具搜尋 ESXi Host

開啟 MSM 工具後,請按下「Configure Host」鈕調整搜尋主機的方式。
開啟 Configure Host 視窗後,點選「Display all systems in the network of local server」選項後,按下「Save Settings」鈕套用設定。

完成後,在 IP Address 欄位輸入安裝 MSM 管理工具的 IP 位址此實作為「192.168.113.13」,完成後按下「Discover Host」鈕,搜尋完成後便會出現在下方 Remote servers 當中。(若未正確搜尋到或為 0.0.0.0,則應該是前述步驟中所說明未正確處理名稱解析)。

此時 MSM 管理工具搜尋主機的動作,其實是透過「SLP with Multicast」方式 (因此區網若未支援此方式,將無法正確搜尋到!!)。

正確搜尋到 ESXi Host 之後,點選 IP Address 連結便會跳出驗證視窗,請輸入 ESXi Host 的管理帳號及密碼後,按下 Login 鈕便可登入 MSM 管理工具。

找不到 ESXi Host 之故障排除
如果你依照上述方式,仍然無法順利找到 ESXi Host 時,有三種下列故障排除方式:

解法1. 將 MSM 管理工具安裝於「VM 虛擬主機」 (運作於 ESXi Host 當中),並且將 VM 虛擬主機的虛擬網路,連接至 ESXi Host 的「Management Network (vmk0)」即可。

解法2. 因為 ESXi Firewall 預設並不允許 Multicast 封包通行,但是 MSM 管理工具便是採用 SLP with Multicast 方式來尋找,所以當 MSM 管理工具安裝至「實體機」時,你可以將 ESXi Firewall 關閉並且確認是否收到 SLP with Multicast 封包。
# esxcli network firewall set --enabled false
# tcpdump-uw -v port not 22 and port not 53 and port not 80 and port not 443 | grep 192.168.113.13
tcpdump-uw: listening on vmk0, link-type EN10MB (Ethernet), capture size 96 bytes
    192.168.113.13.50018 > 239.255.255.253.svrloc: UDP, length 55
    esxi55.weithenn.org.svrloc > 192.168.113.23.50018: UDP, length 73
    192.168.113.13.50019 > 239.255.255.253.svrloc: UDP, length 80
    esxi55.weithenn.org.svrloc > 192.168.113.23.50019: UDP, length 727
    192.168.113.13.50020 > 239.255.255.253.svrloc: UDP, length 94
    esxi55.weithenn.org.svrloc > 192.168.113.23.50020: UDP, length 727
    192.168.113.13.50021 > 239.255.255.253.svrloc: UDP, length 108
    192.168.113.13.50022 > 239.255.255.253.svrloc: UDP, length 108
    192.168.113.13.50023 > 239.255.255.253.svrloc: UDP, length 108
tcpdump-uw: pcap_loop: recvfrom: Interrupted system call
214 packets captured
214 packets received by filter
0 packets dropped by kernel


解法3. 第二種方式將 ESXi Host Firewall 停用,雖然可以順利找到但會有安全性疑慮。 你可以透過由 Alex 所撰寫的第三方程式,簡單來說便是建立 Multicast to Unicast Proxy 機制,以便順利找到 ESXi Host (Firewall 不須停用)。
     (1) 在 MSM 工具主機中,下載由 Alex 所撰寫的  Multicast to Unicast Proxy 工具 - slp_helper.zip
     (2) 解開 slp_helper.zip 後,編輯 slp_helper.php 內容,在 $unicast_ips = array 填入 ESXi 的 IP 位址 (約第8行),若是單筆的話為 「$unicast_ips = array('192.168.1.1');」,若是多筆的話為「$unicast_ips = array('192.168.1.1', '192.168.1.2');」,修改完畢後存檔離開。
     (3) 執行 runme.cmd 並確認沒有發生任何訊息,應該只會看到提示訊息「Using Unicast IPs:」,此時主機也會看到有「php.exe 帶起的 UDP Port 427」。
     (4) 再次開啟 MSM 工具按下 Discover Host,進行搜尋 ESXi Host 的動作,此時在 runme.cmd 視窗中應該會看到封包轉送資訊。

步驟8.使用 MSM 工具管理 MegaRAID

順利使用 MSM 管理工具登入 MegaRAID 管理視窗,在 Dashboard 頁籤中便可以看到整個 RAID 概況。(此時在 MSM 管理工具端,將會在「C:\Program Files (x86)\MegaRAID Storage Manager\MonitorPlugin」中,產生以連接主機為名稱的 .xml 檔案。)

切換到 Physical 頁籤,可以看到整個 RAID Group 內有多少所屬的 HDD,點選到「電池 (BBU)」項目後,也可以看到 RAID Card 電池的整個健康狀態,點選到 Logical 頁籤則是看到 RAID 的邏輯狀態。

步驟9.以 MSM 工具設定告警通知機制

接著以 MSM 工具設定告警機制,以便發生故障狀況時 (如 HDD 損壞)便可以進行告警的動作,請點選 MSM 工具列【Tools > CIMOM Configure Alerts】。

在彈出視窗中切換到 Mail Server 頁籤,便可以設定「寄件者及 SMTP Server」等相關資訊。

切換到 Email 頁籤後,便可以設定「收件者 Email 信箱」後按下 Add 鈕,然後按下 Test 鈕進行發信測試。

4、硬碟故障測試

步驟1.模擬硬碟故障

透過 MSM 工具了解 RAID 狀態後,我們來測試看看當硬碟發生故障時,相關的 RAID 狀態會有什麼改變,以及剛才設定的告警機制是否能順利運作。此測試實作中我把「第四顆硬碟 (Slot 3)」拔掉,此時因為在通知機制中有「Popup」通知,所以在安裝 MSM 工具的主機當中便會彈出下列告警視窗。(請尊重 Weithenn 的辛勞!!)

先前設定的 告警 Mail 也收到故障通知郵件,在郵件內容中也可以明確看到說 PD 3 發生失敗的問題。
From: <alert@weithenn.org> Date: 2013/12/10 Subject: Critical | Event occured on: Alerts-Host
To: service@weithenn.org

Controller ID:  0 Event From : 192.168.113.23  Diagnostics failed on PD:   -:-:3 Event ID:401 Generated On: Wed Dec 10 16:01:31 CST 3913
System Details--- IP Address: 192.168.113.117 OS Name: OS Version: Driver Name: Driver Version:
Image Details--- BIOS Version : 5.38.00_4.12.05.00_0x05270000 Firmware Package Version: 23.12.0-0016 Firmware Version : 3.240.45-2530


在 vSphere Client 中看到的狀態,下列為伺服器硬碟發生故障時,是否安裝 VIB 檔案的相關狀態:

安裝 VIB 檔案,硬碟發生故障時 Storage 內容 (Drive 3: Drive Fault - Assert)。

安裝 VIB 檔案,硬碟發生故障時 Storage 內容 (Drive 3: Drive Fault - Assert)。

步驟2.硬碟故障時 MSM 工具看到的狀態

開啟 MSM 工具並登入後,便可以看到 Status 欄位由先前的「Optimal」變成「Need attention」狀態。

切換到 Physical 頁籤中,可以看到原本有 八 顆硬碟,現在模擬一顆硬碟損壞 (Slot 3) 所以只剩下 七 顆硬碟。

切換到 Logical 頁籤中,可以看到 Virtual Drive 狀態由先前的「Optimal」 變成了 「Degraded」。

此時若使用 vSphere Client 登入的話,也會看到 RAID 的狀態為「DEGRADED」。

步驟3.RAID 重建 (Rebuild)

將新的硬碟進行更換後,便會執行「Rebuild」的動作,此時切換到 Physical 頁籤可以看到新硬碟 Slot 3 已經接手,進行 RAID 重建的動作。

切換到 Logical 頁籤,也可以看到進行 RAID 重建的動作。

步驟4.查看 Rebuild 進度

切換至 Dashboard 頁籤,按下「More details」連結便可以查看 Rebuild 進度。

在彈出的 Group Show Progress 視窗中,便可以看到 Rebuild 進度百分比,以及花費多少時間 (Elapsed time) 跟剩下多少時間 (Estimated time left),以便你掌握整個 Rebuild 進度,甚至線上若有 Storage IOPS 任務繁重正在執行,還可以按下 Suspend 鈕暫停 Rebuild 動作。

步驟5.確認 RAID 重建完畢

待 RAID Rebuild 作業執行完畢之後,建議再次查看相關資訊以確保 RAID 已重建完畢,回到 Dashboard 頁籤,可以看到狀態由先前重建時的「Degraded」 變成了 「Optimal」。

切換到 Physical 頁籤,可以看到 Slot 3 已經由先前重建時的「Rebuild」 變成了 「Online」狀態。

切換到 Logical 頁籤,可以看到 Virtual Drive 已經由先前重建時的「Rebuild」 變成了 「Optimal」狀態。

回到 vSphere Client 視窗,可以看到 RAID 狀態也變成「OPTIMAL」。

5、參考

文章標籤: ,