本文包含以下幾個知識點:
1、rhel6中配置Oracle ASM。
2、KVM中安裝配置RHCS。
3、RHCS中註冊oracle資源。
4、禁用IPV6。
環境介紹:
這裏的共享存儲使用的是KVM的共享存儲功能,分別使用了三個10G大小的虛擬磁盤。
主機名 | IP | 內存 | 硬盤 | 註釋 |
server.exmaple.com | 192.168.1.10 | 16G | /dev/vda系統盤,/dev/vd{b,c,d}共享磁盤,用於創建ASM磁盤 | DNS服務器,管理RHCS節點,KVM |
cs01.example.com | 192.168.2.11 | 2G | /dev/vda系統盤,/dev/vd{b,c,d}共享磁盤,用於創建ASM磁盤 | RHCS節點1 |
cs02.example.com | 192.168.2.12 | 2G | /dev/vda系統盤,/dev/vd{b,c,d}共享磁盤,用於創建ASM磁盤 | RHCS節點2 |
oracle.example.com | 192.168.2.20 | N/A | /dev/vda系統盤,/dev/vd{b,c,d}共享磁盤,用於創建ASM磁盤 | oracle邏輯主機名 |
一、KVM的配置:
具體的KVM安裝配置過程請參考我的另一篇博文:RHEL6之KVM的安裝配置。這裏操作系統使用的是rhel6.1系統。這裏具體描述下創建共享存儲以及虛擬網絡。
1、創建共享存儲:
首先在虛擬系統管理器界面,右鍵點擊localhost(QEMU),選擇詳情,會出現物理主機詳情的界面:
然後,點擊存儲,在存儲池中創建卷,如圖所示創建了三個ASM卷,接着打開任意一個虛擬機,在虛擬硬件詳情裏點擊”添加硬件”,將上述的三個卷添加進去,如圖:
點完成之後,在新添加的磁盤選項中,在”可共享”選項中打勾。在另外一臺上,按照上述方法添加新硬盤,點完成後,會彈出以下對話框:
選擇”是”即可,完成之後,共享存儲就設置完畢,兩節點開機後,就可以看到新加的三塊虛擬硬盤。
在KVM虛擬機中,可以在線添加硬盤,添加完畢後,不用重啓系統就可以立即被識別。
2、創建虛擬網絡:
在上圖中點擊”+”,出現創建新的虛擬網絡畫面:
最後,點擊完成即可。
最後,ifconfig下會出現新的虛擬網絡接口:
3、禁用IPV6:
首先編輯/etc/sysconfig/network文件,加入以下內容:
IPV6INIT=no
接着在/etc/modprobe.d目錄下,創建disable-ipv6.conf文件,加入以下內容:
最後重啓系統使其生效即可。關於上述幾個語句的具體含義,請參考/usr/share/doc/initscripts-9.03.23/sysconfig.txt文件。
二、RHCS的安裝:
在rhel6.1中,安裝luci之後,不用再使用luci_admin命令執行初始化操作了,默認的訪問地址還是https://ip:8084,直接使用root帳號登錄即可。這裏先建個cluster框架,暫時不註冊oracle資源,待oracle安裝完了之後,再向rhcs中註冊oracle資源。
1、server上安裝luci軟件:
這個組裏就一個luci軟件包,所以在cs01和cs02上不需要安裝。
2、cs01和cs02上安裝集羣軟件:
3、編輯hosts文件,將三個節點的名稱及IP加進去:
4、如果防火牆啓用,則需要啓用以下端口:
5、使用luci創建一個cluster:
(1)、構建cluster框架:
啓動luci並登錄rhcs的web管理界面,開始配置rhcs:
點擊上圖中的Create按鈕,創建集羣:
在點擊Create Cluster之前,確保兩個節點上的ricci處於運行狀態,否則會出現以下報錯:
還有就是在初次使用的時候,必須在集羣節點上設置ricci用戶的密碼,否則會出現以下錯誤:
經過一系列的配置重啓節點後,如下圖所示:
點擊任意一個節點,就可以看到所有的cluster服務已經啓動:
(2)、創建Failover Domain:
點擊”Failover Domain”選項卡,然後點擊”Add”按鈕:
Failover domain name:定義Failover域名稱。
Prioritized:是否在Failover domain 中啓用域成員優先級設置。
Restrict Failover to this domain’s member:是否在失敗轉移域成員中啓用服務故障切換限制。
Do not fail back services in this domain:表示在這個域中使用故障切回功能,也就是說,主節點故障時,備用節點會自動接管主節點服務和資源,當主節點恢復正常時,集羣的服務和資源會從備用節點自動切換到主節點。最後,在Failover domain membership的Member複選框中,選擇加入此域的節點,在“priority”處將cs01的優先級設置爲1,cs02的優先級設置爲5。對於“priority”的值設置爲1代表優先級最高的,隨着數值的增加,節點優先級也依次降低。
(3),配置Fence設備:
點擊Fence Devices選項卡再點擊Add,如圖:
這裏使用的是SCSI_Fence,使用的是裸設備。
接着在各個節點中關聯fence設備:
點擊節點名稱,然後選擇Add Fence Method,設置名稱,完成之後,再添加fence實例:
使用命令行查看fence設備信息:
(4)、使用命令查看rhcs相關信息:
三、Oracle的安裝:
1、RHEL6中ASMlib的安裝:
對於rhel6,oracle已經不提供ASMlib支持了。oracle只對自己的Oracle Enterprise Linux提供Oracle支持。在oracle linux中,默認已經將ASM模塊編譯進內核了,只需安裝oracleasm-support軟件即可使用。由於oracle提供的Unbreakable Enterprise Kernel內核與rhel6的內核完全兼容,所以在rhel6中只需安裝kernel-uek開頭的內核文件,然後再安裝oracleasm-support軟件即可使用ASM。
Oracle ASM軟件以及Unbreakable Enterprise Kernel內核下載站點:http://public-yum.oracle.com/repo/OracleLinux/OL6/1/base/x86_64/,主要下載下圖中的幾個軟件包,兩個節點都進行安裝:
對/dev/vd{b,c,d}進行分區操作:
完成之後,在其中一個節點上使用oracleasm進行初始化並創建ASM磁盤:
最後,在另外一個點上掃描下asm磁盤即可:
2、Oracle數據庫軟件的安裝:
這裏不使用ASM磁盤組,安裝的數據庫版本是11.2.0.2。共享存儲使用的是LVM。Oracle軟件安裝過程、監聽創建過程以及建庫過程全省略,請參考其他博文。
3、創建共享文件系統:
使用/dev/vd{b,c,d}三個虛擬硬盤創建LVM卷組oradata。
接着,創建了一個邏輯卷組u02用於存放oracle數據。
四、註冊oracle資源:
1、創建IP資源:
這個IP就是Oracle監聽器的地址,對應的主機名是oracle.example.com.
2、創建LVM HA資源:
對這個做個解釋:用於LVM HA的vg是oradata,其中劃分了一個15G大小的u02用於存放oracle數據文件。
LVM的HA切換是這樣的,當前oradata存在於cs02上面,首先系統卸載u02文件系統,接着將/dev/oradata/u02設置爲未激活狀態,然後執行vgexport將oradata導出。在cs01上面,首先執行vgimport將oradata導入,接着將/dev/oradata/u02設置爲激活狀態,最後掛載到指定點。
3、創建文件系統資源:
這個資源依賴於上面的LVM-HA資源。
4、創建監聽器資源:
這個agent調用的是/usr/share/cluster/oralistener.sh腳本。
5、oracle數據庫實例資源:
這個agent調用的是/usr/share/cluster/orainstance.sh。
6、創建服務組:
這裏創建了一個oracle服務組,上述創建的5個資源將其添加到oracle組裏構成一個服務組。這個不好截取web界面,所以使用命令行界面:
上述的資源所調用的腳本都位於/usr/share/cluster目錄下。創建完服務組之後,系統會自動啓動它。當前oracle服務組已處於online狀態:
針對於oracle.example.com這個IP地址,不能使用ifconfig查看,要使用下面的ip命令進行查看:
五、RHCS的命令行管理:
1、查看RHCS服務組狀態:
2、切換服務組:
當前oracle運行於cs02上,將其切換至cs01上:
3、ccs命令的相關使用:
查看資源以及服務組信息:
查看當前的cluster配置信息:
這個命令實質上就是查看cluster.conf文件。
查看Failoverdomain信息:
查看fence信息:
查看節點信息:
ccs這個命令也可以創建cluster,增加節點,創建資源、刪除資源、修改資源等操作,其類似於在web管理界面的操作。
參考文獻: