準備四臺KVM虛擬機,其三臺做爲集羣節點,一臺安裝luci並配置iSCSI存儲服務,實現以下功能:node
使用RHCS建立一個名爲tarena的集羣linux
集羣中全部節點均須要掛載iSCSI共享存儲vim
使用集羣中任意節點對iSCSI設置進行分區格式化瀏覽器
安裝luci的虛擬主機要求額外添加一塊20G硬盤服務器
物理主機IP地址爲192.168.4.1,主機名稱爲desktop1.example.comide
使用4臺虛擬機,1臺做爲luci和iSCSI服務器、3臺做爲節點服務器,拓撲結構如圖-1所示。ui
圖-1url
全部主機的主機名及對應的IP地址如表-1所示。spa
表-1 主機名稱及對應IP地址表firefox
實現此案例須要按照以下步驟進行。
步驟一:安裝前準備
1)爲全部節點配置yum源,注意全部的虛擬主機均須要掛載安裝光盤。
[root@node1 ~]# mount /dev/cdrom /media
[root@node1 ~]# rm -rf /etc/yum.repos.d/*
[root@node1 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=red hat
baseurl=file:///media/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=file:///media/ScalableFileSystem
enabled=1
gpgcheck=0
[root@node1 ~]# yum clean all
[root@node2 ~]# mount /dev/cdrom /media
[root@node2 ~]# rm –rf /etc/yum.repos.d/*
[root@node2 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=red hat
baseurl=file:///media/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=file:///media/ScalableFileSystem
enabled=1
gpgcheck=0
[root@node2 ~]# yum clean all
[root@node3 ~]# mount /dev/cdrom /media
[root@node3 ~]# rm -rf /etc/yum.repos.d/*
[root@node3 ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=red hat
baseurl=file:///media/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=file:///media/ScalableFileSystem
enabled=1
gpgcheck=0
[root@node3 ~]# yum clean all
[root@luci ~]# mount /dev/cdrom /media
[root@luci ~]# rm -rf /etc/yum.repos.d/*
[root@luci ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=red hat
baseurl=file:///media/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=file:///media/ScalableFileSystem
enabled=1
gpgcheck=0
[root@luci ~]# yum clean all
2)修改/etc/hosts並同步到全部主機。
[root@luci ~]# vim /etc/hosts
192.168.4.1 node1.example.com
192.168.4.2 node2.example.com
192.168.4.3 node3.example.com
192.168.4.4 luci.example.com
[root@luci ~]# for i in {1..3};do scp /etc/hosts 192.168.4.$i:/etc/;done
3)全部節點關閉NetworkManager、SELinux服務。
[root@luci ~]# service NetworkManager stop
[root@luci ~]# chkconfig NetworkManager off
[root@luci ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux
[root@luci ~]# setenforce 0
[root@luci ~]# iptables -F; service iptables save
[root@node1 ~]# service NetworkManager stop
[root@node1 ~]# chkconfig NetworkManager off
[root@node1 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux
[root@node1 ~]# setenforce 0
[root@node1 ~]# iptables -F; service iptables save
[root@node2 ~]# service NetworkManager stop
[root@node2 ~]# chkconfig NetworkManager off
[root@node2 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux
[root@node2 ~]# setenforce 0
[root@node2 ~]# iptables -F; service iptables save
[root@node3 ~]# service NetworkManager stop
[root@node3 ~]# chkconfig NetworkManager off
[root@node3 ~]# sed -i '/SELINUX=/s/enforcing/permissive/' /etc/sysconfig/selinux
[root@node3 ~]# setenforce 0
[root@node3 ~]# iptables -F; service iptables save
步驟二:部署iSCSI服務
1)在luci主機上部署iSCSI服務器,將/dev/sdb使用iSCSI服務共享。
提示:服務器IQN名稱爲: iqn.2015-06.com.example.luci:cluster。
[root@luci ~]# yum -y install scsi-target-utils //安裝軟件
.. ..
[root@luci ~]# rpm -q scsi-target-utils
scsi-target-utils-1.0.24-10.el6.x86_64
[root@luci ~]# vim /etc/tgt/targets.conf
<target iqn.2015-06.com.example.luci:cluster>
# List of files to export as LUNs
backing-store /dev/sdb //定義存儲設備
initiator-address 192.168.4.0/24 //定義ACL
</target>
[root@luci ~]# service tgtd start //啓動服務
Starting SCSI target daemon: [ OK ]
[root@luci ~]# chkconfig tgtd on
2)全部節點服務器掛載該iSCSI共享。
[root@node1 ~]# yum -y install iscsi-initiator-utils //安裝軟件
[root@node1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260
[root@node1 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 -l //掛載iSCSI共享
[root@node1 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 -l
[root@node2 ~]# yum -y install iscsi-initiator-utils //安裝軟件
[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260
[root@node2 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 –l //掛載iSCSI共享
[root@node2 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 -l
[root@node3 ~]# yum -y install iscsi-initiator-utils //安裝軟件
[root@node3 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.4.4:3260
[root@node3 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 -l //掛載iSCSI共享
[root@node3 ~]# iscsiadm -m node -T \
>iqn.2015-06.com.example.luci:cluster \
>-p 192.168.4.4:3260 –l
步驟三:安裝集羣軟件
1)在luci.example.com主機上安裝luci,並啓動服務。
[root@luci ~]# yum –y install luci
[root@luci ~]# service luci start;chkconfig luci on
2)在全部的集羣節點中安裝ricci,並啓動服務。
[root@node1 ~]# yum -y install ricci
[root@node1 ~]# echo "11111" |passwd --stdin ricci
[root@node1 ~]# service ricci start;chkconfig ricci on
[root@node2 ~]# yum -y install ricci
[root@node2 ~]# echo "11111" |passwd --stdin ricci
[root@node2 ~]# service ricci start;chkconfig ricci on
[root@node3 ~]# yum -y install ricci
[root@node3 ~]# echo "11111" |passwd --stdin ricci
[root@node3 ~]# service ricci start;chkconfig ricci on
步驟四:配置集羣
1)瀏覽器訪問luci,任意主機使用瀏覽器訪問便可。
[root@luci ~]# firefox https://luci.example.com:8084
2)建立集羣。
使用瀏覽器訪問luici頁面後,點擊「Manage Clusters「頁面,點擊」Create「按鈕建立一個新的集羣,如圖-2所示。
圖-2
接下來,在彈出的回話框中,輸入集羣的名稱「tarena「,勾選」Download Packages「、「Reboot Nodes Befor Joining Cluster」、「Enable Shared Storage Support」,效果如圖-3所示。
圖-3
等待全部的節點重啓以後,在luci頁面將顯示如圖-4所示的頁面,表明全部節點以及加入到了tarena集羣中。
圖-4
提示:若是節點重啓後,有部分節點沒法自動加入集羣中,能夠將正常的節點系統中/etc/cluster/cluster.conf文件同步到其餘失敗的節點中,並確保失敗節點的cman和rgmanager服務爲啓動狀態便可。