硬體:HP ProLiant BL685c G7 兩籠刀片機
ILO版本:ILO3
目的:通過IPMI軟體調用HP ILO3相關功能
原因:配置RHCS存儲叢集需要使用HP ILO裝置作為fence裝置
問題描述:
建議你也是遇到這樣的問題再來看這篇文章,因為如果你不是在自己很郁悶得遇到這些問題,而看到這篇文章的話,我覺得氣氛是不對的,因為這個問題在我整個項目中起着很大的作用,而這個問題困擾了我好幾天,簡直就是崩潰。
簡單描述一下我為何寫這篇文章,我現在的項目是CloudStack + KVM的實施項目,客戶提供了30TB的FC SAN 存儲,關于存儲的挂載以及RHEL識别這些裝置的問題已經成功解決,本文暫時不詳細闡述,這些問題會在整個項目結束之後進行相應的總結。
現在我準備好了:
1. 30TB的SAN存儲,30個1TB的LUN
2. 15片安裝了 QEMU/KVM的RHEL6U3作業系統,并且成功識别30個新裝置(30TB未格式化的"盤")
CloudStack 跟 KVM的集合,在進行主存儲建立的時候,需要選擇如下協定:
<a href="http://blog.51cto.com/attachment/201310/170936192.jpg" target="_blank"></a>
NFS協定:使用最簡單,但是有單點故障
CLVM: LVM的Cluster版本,是紅帽RHCS套件中的元件,之前接觸過,也比較好用,界面如下:
<a href="http://blog.51cto.com/attachment/201310/172049924.jpg" target="_blank"></a>
剩下的兩個就接觸不多了,RBD是什麼分布式塊裝置,這個我之前沒有搞過,也不去介紹了,反正就是分布式存儲相關的東東,大概解釋一下ShareMountPoint吧
ShareMountPoint文檔說的是所有的KVM節點都将共享存儲格式化成OCFS2檔案系統,當然GFS2估計也是沒有問題的,然後每個節點都将格式化之後的裝置都挂載到同一個名稱的目錄下面,然後選擇這個協定,填寫相關資訊,如:
<a href="http://blog.51cto.com/attachment/201310/171702152.jpg" target="_blank"></a>
3. 我現在需要做的就是将 所有的KVM主機(也就是RHEL6U3主機)加入到一個 RHCS存儲中,然後添加fence裝置,最終将CLVM提供給CloudStack進行納管。
現在問題出在fence裝置上面了,玩過RHCS的朋友知道我這邊說的fence裝置是用來對故障節點進行關機或者重新開機相關操作,将故障節點從叢集中剔除,使得其他節點照樣正常工作,否則,每個節點都會去不斷檢測叢集狀态,叢集中其他節點的狀态,産生所謂的“腦裂”狀态,本人測試,故障節點不能被成功fence掉【重新開機或者關機,一般來說會重新開機】,在其他節點上面執行lvs跟pvs,會被鎖定,一直不能執行成功,同時負載會變得超級大,通過uptime檢視,load average會持續飚,遠遠大于3了。
是以現在回到我們最初的讨論上面,需要一個fence節點,RHCS叢集可以使用HP的 ILO裝置作為fence節點,其他正常節點通過連接配接故障節點的ILO裝置将故障節點進行重新開機,将其從叢集中剔除,待其重新開機成功,再重新加入叢集。
怎麼通過RHCS添加節點,fence裝置在本文不作相關說明,本文現在去KVM主機上面安裝用于支援ILO裝置相關操作的軟體IPMI,我們再次将ILO裝置了解成IPMI協定的一種實作方式,因為ILO是屬于HP的裝置,DELL等其他伺服器有其他的實作方式。
1. 檢查主機是否有相關IPMI硬體支援
1
2
3
4
5
6
7
8
<code>[root@fence01 ~]</code><code># dmidecode |grep -C 6 IPMI |tail -n 7</code>
<code>IPMI Device Information</code>
<code> </code><code>Interface Type: KCS (Keyboard Control Style)</code>
<code> </code><code>Specification Version: 2.0</code>
<code> </code><code>I2C Slave Address: 0x10</code>
<code> </code><code>NV Storage Device: Not Present</code>
<code> </code><code>Base Address: 0x0000000000000CA2 (I</code><code>/O</code><code>)</code>
<code> </code><code>Register Spacing: Successive Byte Boundaries</code>
2.安裝軟體支援
OpenIPMI-2.0.16-12.el6.x86_64.rpm
OpenIPMI-devel-2.0.16-12.el6.x86_64.rpm
OpenIPMI-libs-2.0.16-12.el6.x86_64.rpm
ipmitool-1.8.11-13.el6.x86_64.rpm
以上三個需要去下載下傳,最後面一個ipmitool-1.8.11-13.el6.x86_64.rpm是RHEL6U3系統自帶的。
全部安裝完成之後,啟動服務
<code>[root@SJC42KVM01 ~]</code><code># service ipmi start ; service ipmievd start</code>
<code>[root@SJC42KVM01 ~]</code><code># chkconfig ipmi on ; chkconfig ipmievd on</code>
3. 檢查是否安裝啟動成功
本地檢測:
<code>[root@fence01 ~]</code><code># for i in `seq 1 14` \</code>
<code>do</code> <code>ipmitool lan print $i 2></code><code>/dev/null</code> <code>| </code><code>grep</code> <code>-q ^Set && </code><code>echo</code> <code>\</code>
<code>Channel $i; </code><code>done</code> <code>//</code><code>檢視有效channel</code>
<code>Channel 2</code>
9
10
11
12
<code>[root@fence01 ~]</code><code># ipmitool lan print 2 //檢視ilo相關配置</code>
<code>Set </code><code>in</code> <code>Progress : Set Complete</code>
<code>Auth Type Support :</code>
<code>IP Address Source : DHCP Address</code>
<code>IP Address : 10.197.202.43</code>
<code>Subnet Mask : 255.255.255.0</code>
<code>MAC Address : 38:ea:a7:a1:fd:76</code>
<code>BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled</code>
<code>Default Gateway IP : 10.197.202.254</code>
<code>802.1q VLAN ID : Disabled</code>
<code>802.1q VLAN Priority : 0</code>
<code>Cipher Suite Priv Max : Not Available</code>
13
14
15
16
17
<code>[root@fence01 ~]</code><code># ipmitool channel info 2</code>
<code>Channel 0x2 info:</code>
<code> </code><code>Channel Medium Type : 802.3 LAN</code>
<code> </code><code>Channel Protocol Type : IPMB-1.0</code>
<code> </code><code>Session Support : session-based</code>
<code> </code><code>Active Session Count : 63</code>
<code> </code><code>Protocol Vendor ID : 7154</code>
<code> </code><code>Volatile(active) Settings</code>
<code> </code><code>Alerting : disabled</code>
<code> </code><code>Per-message Auth : disabled</code>
<code> </code><code>User Level Auth : enabled</code>
<code> </code><code>Access Mode : always available</code>
<code> </code><code>Non-Volatile Settings</code>
遠端檢測:
<code>[root@fence02 ~]</code><code># ipmitool -H 10.197.202.43 -I lanplus -U Administrator -P password power status</code>
<code>Chassis Power is on</code>
說明:
從fence02主機上面進行遠端指令的執行
-H: 主機的IP位址或者被解析過得主機名
-I : 使用的接口類型
-U: 管理使用者名
-P: 管理使用者明碼
power status: 檢視電源狀态,可以是power start ,power reset 等操作
必須遠端檢測成功才能說明是真正的成功,因為故障節點總其他節點給fence的。
這個配置成功之後,在 RHCS中進行fence裝置的添加,才能真正起作用,否則,沒門!
祝各位好運!
本文轉自 暗黑魔君 51CTO部落格,原文連結:http://blog.51cto.com/clovemfong/1309300,如需轉載請自行聯系原作者