RHEL6_GFS_Web_HA實現

1.實驗環境
節點1: v1.domain.com 192.168.137.11
節點2: v2.domain.com 192.168.137.12
iscsi存儲/配置服務器:rhel6.domain.com 192.168.137.6
修改/etc/hosts文件或者搭建DNS服務器,三臺server的hosts文件如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.11 v1.domain.com v1
192.168.137.12 v2.domain.com v2
192.168.137.6 rhel6.domain.com rhel6
2.配置集羣之前
2.1.存儲配置
2.1.1.ISCSI服務器
1.rhel6.domain.com上sda1和sda2爲/分區和swap 分區,尚餘一部分磁盤空間未分配,用fdisk分出sda3一個分區(10G)準備用作iscsi共享存儲。
2.安裝scsi-target-utils軟件提供iscsi服務
[root@rhel6 ~]# yum install scsi-target-utils
3.修改/etc/tgt/targets.conf,添加:
<target iqn.2011-06.com.domain:server.target1>
backing-store /dev/sda3
< /target>
4.重啓tgtd服務,並將其設爲開機啓動:

[root@rhel6 ~]# /etc/init.d/tgtd restart
[root@rhel6 ~]# chkconfig tgtd on
5.查看服務狀態,可以看到已經提供了一個10G的ISCSI
LUN 1卷

6.打開防火牆端口3260或者關閉防火牆,具體設置自行解決。
2.1.2.ISCSI客戶機
1.安裝iscsi客戶端軟件iscsi-initiator-utils
[root@v1 ~]# yum install iscsi-initiator-utils
2.發現服務器rhel6.domain.com的iscsi共享卷
[root@v1 ~]# iscsiadm -m discovery -t sendtargets -p rhel6
Rhel6爲主機名,使用ip地址也可
3.登錄ISCSI存儲:
[root@v1 ~]# iscsiadm -m node -T iqn.2011-06.com.domain:server.target1 -p 192.168.137.6:3260 -l
使用iscsiadm -m node -T target名稱 -p targetIP地址:端口號 –login 命令
5.卸載ISCSI存儲命令
[root@v1 ~]# iscsiadm -m node -T iqn.2011-06.com.domain:server.target1 -p 192.168.137.6:3260 -u
6.在其他的節點上掛載ISCSI
7.將iscsi設爲開機啓動

2.2.集羣軟件包安裝
分爲集羣節點和配置管理器(Luci,RHCS的web管理工具,僅僅只是配置工具,集羣可脫離它正常運行)
2.2.1.集羣節點
1.配置好yum源後,安裝集羣軟件包
[root@v1 ~]# yum install ricci openais cman rgmanager lvm2-cluster gfs2-utils
2.打開防火牆相應端口
端口 協議 程序
5404,5405 UDP corosync/cman
11111 TCP ricci
21064 TCP dlm
16851 TCP modclusterd
3.或者直接禁用防火牆
[root@v1 ~]# /etc/init.d/iptables stop
[root@rhel6 ~]# chkconfig iptables off
4.關閉節點上的ACPI服務:
[root@v1 ~]# /etc/init.d/acpid stop
[root@v1 ~]# chkconfig acpid off
5.禁用NetworkManager
[root@v1 ~]# /etc/init.d/NetworkManager stop
[root@v1 ~]# chkconfig NetworkManager off
6.給軟件用戶ricci設置密碼:
[root@v1 ~]# passwd ricci
7.啓動ricci服務
[root@v1 ~]# /etc/init.d/ricci start

2.2.2.集羣配置管理器(luci)
可以安裝在節點上,我現在安裝在存儲服務器上,更利於監控集羣狀態。
1.配置好yum源後,安裝管理軟件:
[root@rhel6 ~]# yum install luci

2.打開軟件相應端口(iptables命令)
端口 協議 程序
8084 TCP luci
3.或者直接禁用防火牆
[root@rhel6 ~]# /etc/init.d/iptables stop
[root@rhel6 ~]# chkconfig iptables off
4.啓動luci:
[root@rhel6 ~]# /etc/init.d/luci start

3.創建集羣
1.登錄管理服務器的luci 界面,端口8084:

 

2.輸入用戶名root和密碼,登錄


3.轉到manage cluster界面


4.點擊Create,創建集羣


5.此處密碼爲ricci密碼


6.集羣創建成功


7.轉到Fence Devices創建fence設備,因爲不是用的服務器,沒有fence設備,我隨意建了一個SRF,實際生產環境中,必須使用fence硬件設備。


8.回到nodes菜單下,點擊v1.domain.com,出現節點詳情後點擊add fence method添加一個method,
9.點擊add fence instance,添加剛纔設定的SRF。

 

 

 

 

4.建立GFS文件系統
4.1.創建LVM卷
1.創建物理卷
[root@v1 ~]# pvcreate /dev/sda
2.查看物理卷
[root@v1 ~]# pvdisplay
3.創建卷組v g1
[root@v1 ~]# vgcreate vg1 /dev/sda
4.查看卷組
[root@v1 ~]# vgdisplay
5.創建邏輯卷lv1
[root@v1 ~]# lvcreate -L 10G -n lv1 vg1
-L 10G指定大小 –n lv1指定名稱 vg1指定所在卷組
6.現在在兩臺節點上手動重啓/etc/clvmd服務:
[root@v1 ~]# /etc/init.d/clvmd restart
7.在兩邊主機上都可以看到新建的lvm卷

4.2.創建GFS2文件系統
1.在將lvm卷 lv1格式化成GFS2文件系統
[root@v1 ~]# mkfs.gfs2 -p lock_dlm -t mycluster:data1 -j 4 /dev/vg1/lv1
-p指定lock參數,-t指定
集羣名:文件系統名 –j 指定可以連接的節點數
2.節點上掛載GFS2文件系統
[root@v1 ~]# mkdir /mnt/data1
[root@v1 ~]# mount /dev/vg1/lv1 /mnt/data1/
[root@v2 ~]# mkdir /mnt/data1
[root@v2 ~]# mount /dev/vg1/lv1 /mnt/data1/
3.測試GFS2文件系統是否正常運行,在v1和v2上分別新建文件,在雙方查看是否同步
4.讓GFS2文件系統開機自動掛載
查看mount
[root@v1 ~]# mount
。。。。。。
/dev/mapper/vg1-lv1 on /mnt/data1 type gfs2 (rw,relatime,hostdata=jid=0)
[root@v2 ~]# mount

。。。。。。
/dev/mapper/vg1-lv1 on /mnt/data1 type gfs2 (rw,relatime,hostdata=jid=1)
分別修改節點/etc/fstab文件,加入
/dev/mapper/vg1-lv1 /mnt/data1 gfs2 defaults 0 0
重啓節點驗證
[root@v1 ~]# df -h
5.建立Web高可用服務
5.1.配置web服務器
兩個節點上建立web服務器,實際使用中網站根目錄均應使用/mnt/data1/下的相同目錄,測試中爲了更好的驗證,分別使用/mnt/data1/www1和/mnt/data1/www2.
1.修改兩個節點上的/etc/httpd/conf/httpd.conf
[root@v1 ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"改爲
DocumentRoot "/mnt/data1/www1"
[root@v2 ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"改爲
DocumentRoot "/mnt/data1/www2"
2.新建目錄及網頁文件index.html
[root@v2 ~]# mkdir /mnt/data1/www1
/mnt/data1/www2
root@v2 ~]# vim /mnt/data1/www1/index.html
This is v1 !
root@v2 ~]# vim /mnt/data1/www2/index.html
This is v2 !
3.啓動http服務
[root@v1 ~]# /etc/init.d/httpd start
[root@v2 ~]# /etc/init.d/httpd start
4.訪問192.168.137.11和192.168.137.12得到:

 


5.2.集羣中創建服務組
1.創建Web高可用需要的兩個資源:
(1) ip地址:192.168.137.10/24
(2) httpd腳本:/etc/init.d/httpd

 


2.新建故障倒換域


3.新建服務組,添加剛纔新建的兩個資源進服務組

 


4.啓動服務組


顯示運行在v2上,訪問192.168.137.10有:


5.3.高可用性驗證
1.手動切換

 


刷新192.168.137.10頁面


2.模擬宕機,關閉V1(現實生產應用中必須使用Fence設備!!!)


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章