1. 程式人生 > >linux RHCS集群 高可用web服務器

linux RHCS集群 高可用web服務器

讀寫操作 http pac 安裝 邏輯卷管理 同一文件 根據 hat reat

RHCS集群,高可用服務器

高可用
紅帽集群套件,提供高可用性,高可靠性,負載均衡,快速的從一個節點切換到另一個節點(最多16個節點)
負載均衡
通過lvs提供負載均衡,lvs將負載通過負載分配策略,將來自於客戶端的請求分配到服務器節點
當某個服務器節點無法提供服務,節點將被從集群中剔除
存儲集群功能
rhcs通過gfs文件系統提供存儲集群功能
gfs即global file system,允許多個服務同時讀寫一個單一的共享文件系統
通過gfs消除在應用程序間同步數據的麻煩
通過鎖管理機制來協調和管理多個服務節點對同一文件系統的讀寫操作

RHCS組件
核心組件:
cman:集群管理器
rgmanger:集群資源管理器
corosync:集群間通信軟件
rcci:集群遠程管理器
附加組件:
LVS
GFS:紅帽公司開發,gfs不能孤立存在,需要rhcs底層組支持
CLVM:集群邏輯卷管理,lvm的擴展,允許集群使用lvm來管理共享存儲
iSCSI:新型存儲技術
GNBD:全局網絡模塊,gfs的一個補充組件,用於rhcs分配和管理共享存儲

RHCS運行原理
分布式集群管理器CMAN
運行在全部節點上提供集群管理任務
用於管理集群成員,消息和通知
根據每個節點上的運行狀態統計法定節點數作為集群是否存活的依據
分布式鎖管理器DLM
是rhcs的一個底層基礎構建,為集群提供了一個公用的鎖運行機制
運行在每個節點上,gfs通過dlm的鎖機制來同步訪問文件系統的元數據
clvm通過dlm來同步更新數據到lvm卷和卷組
避免了單個節點失敗需要整體恢復的性能瓶頸
柵設備FENCE
集群中必不可少的一個組成部分,避免因不可預知的情況下造成的腦裂現象
腦裂指由於節點間不能獲知對方信息,都認為自己是主節點,從而出現資源競爭的情況
主節點異常或宕機時,備機首先調用fence設備,將異常節點重啟或從網絡上隔離
fence機制可通過電源fence或存儲fence實現


——————————————————————————————————————————————————————————————————————


實例:搭建rhcs服務器
環境:兩個節點參與集群,第三個節點提供共享存儲
服務器:jiedian1
eth0:192.168.4.1
eth1:192.168.2.1
eth2:201.1.1.1(對外提供服務)
eth3:201.1.2.1
服務器:jiedian2
eth0:192.168.4.2
eth1:192.168.2.2
eth2:201.1.1.2(對外提供服務)
eth3:201.1.2.2
存儲節點需要額外的硬盤,不需要配置對外提供服務的ip
服務器:cunchu
eth0:192.168.4.3
eth1:192.168.2.3
eth3:201.1.2.3
qemu-img create -f qcow2 /var/lib/libvirt/images/iscsi1.img 20G

配置yum
[[email protected] ~]# cat /etc/yum.repos.d/rhel6.repo(把所有的倉庫做成yum,並把配置文件拷貝到其它主機的yum配置下)
[rhel-6]
name=Linux NSD
baseurl=file:///root/myiso/
... ... ...
[hig]
name=Linux NSD
baseurl=file:///root/myiso/HighAvailability/
... ... ...
[loa]
name=Linux NSD
baseurl=file:///root/myiso/LoadBalancer
... ... ...
[res]
name=Linux NSD
baseurl=file:///root/myiso/ResilientStorage
... ... ...
[sca]
name=Linux NSD
baseurl=file:///root/myiso/ScalableFileSystem
... ... ...
[[email protected] ~]# scp /etc/yum.repos.d/rhel6.repo xxx.xxx.x.x:/etc/yum.repos.d/
在存儲端配置iSCIS
[[email protected] ~]# parted /dev/vdb(為存儲磁盤分區)
(parted) mklable gpt
(parted) mkpart primary ext4 1M -1
[[email protected] ~]# yum -y install scsi-target-utils
[[email protected] ~]# vim /etc/tgt/targets.conf
<target iqn.2017-09.org.hydra.hydra007>
backing-store /dev/vdb1
initiator-address 192.168.4.1
initiator-address 192.168.4.2
initiator-address 192.168.2.1
initiator-address 192.168.2.2
</target>
[[email protected] ~]# /etc/init.d/tgtd start; chkconfig tgtd on
[[email protected] ~]# tgt-admin -s
... ...
LUN: 1(有lun1就可以)
... ...
在兩個集群節點配置iSCSI客戶端和多路徑(兩臺做相同的操作)
[[email protected] ~]# yum -y install iscsi-initiator-utils
[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.3 --discover
[[email protected] ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.3 --discover
[[email protected] ~]# service iscsi restart
[[email protected] ~]# lsblk (查看塊硬盤)
sdb 8:16 0 20G 0 disk
sda 8:0 0 20G 0 disk
[[email protected] ~]# chkconfig iscsid on
[[email protected] ~]# yum -y install device-mapper-multipath(安裝多路徑包)
[[email protected] ~]# mpathconf --user_friendly_names n(生成配置文件)
[[email protected] ~]# scsi_id --whitelisted --device=/dev/sda(獲取wwid信息)
1IET 00010001
[[email protected] ~]# vim /etc/multipath.conf
defaults {
user_friendly_names no
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
... ...
multipaths {
multipath {
wwid "1IET 00010001"(填寫wwid-硬件信息)
alias mpatha(別名)
}
}
[[email protected] ~]# /etc/init.d/multipathd start;chkconfig multipathd on
如果集群節點上安裝著NetworkManager服務則需要關閉NetworkManager服務
為三臺服務器都配置名稱解析
[[email protected] ~]# vim /etc/hosts
201.1.1.1 jiedian1.public.hydra.cn
201.1.2.1 jiedian1.private.hydra.cn jiedian1
201.1.1.2 jiedian2.public.hydra.cn
201.1.2.2 jiedian2.private.hydra.cn jiedian2
201.1.2.3 jiedian3.private.hydra.cn jiedian3
201.1.2.254 host.private.hydra.cn host
在兩臺集群節點上安裝ricci(在兩臺節點都做相同的操作)
[[email protected] ~]# yum -y install ricci
[[email protected] ~]# echo ‘redhat‘ | passwd --stdin ricci(ricci是鏈接集群的工具,設置密碼比較安全)
[[email protected] ~]# /etc/init.d/ricci start;chkconfig ricci on
安裝luci(隨便在哪一臺裝都可以,最好不要安裝到集群節點上)
[[email protected] ~]# yum -y install luci
[[email protected] ~]# /etc/init.d/luci start;chkconfig luci on
web browser to https://cunchu:8084(啟動後會給一個url地址,在哪臺裝的主機名就是哪臺,訪問web頁面輸入ip就可以)
[[email protected] ~]# firefox https://201.1.2.3:8084
頁面出來後,輸入此臺服務器的root及密碼
點擊manage cl usters》create》
集群發生的錯誤
Authentication failed 身份驗證錯誤,ricci密碼有問題
ssl connection 連接錯誤,檢查ricci服務是否運行,防火墻,selinux
安裝完畢後,有些節點異常,顯示紅色,把cman和rgmanager設置為開機自啟後reboot
安裝完畢後,web頁面中無任何顯示,在web頁面中add
在物理機配置fence,並生成配置文件後啟動服務
fence-virtd fence-virtd-libvirt fence-virtd-multicast
[[email protected] ~]# yum -y install fence-virtd fence-virtd-libvirt fence-virtd-multicast
[[email protected] ~]# fence_virtd -c
...
Interface [none]: public2(改為public2)
Backend module [checkpoint]: libvirt(改為libvirt)
...
[[email protected] ~]# mkdir /etc/cluster(創建密鑰文件)
[[email protected] ~]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1(創建密鑰文件隨機碼)
[[email protected] ~]# scp /etc/cluster/fence_xvm.key 201.1.2.1:/etc/cluster/
[[email protected] ~]# scp /etc/cluster/fence_xvm.key 201.1.2.2:/etc/cluster/
[[email protected] ~]# /etc/init.d/fence_virtd start; chkconfig fence_virtd on
在web頁面配置
[[email protected] ~]# firefox https://201.1.2.3:8084
點擊 fence devices》add》下拉列表選擇自己的fence
點擊 nodes》選擇主機》add fence method》創建好後點擊add fence instnce
Domain這裏要填全名rh6_node01
點擊 failover domains

搭建高可用web集群
資源:apache,只需要安裝即可 不要啟動,共享存儲 使用iSCSI提供的共享存儲,ip地址 對外提供服務 201.1.1.100

安裝apache(兩臺節點做相同的操作,分區格式化在單獨一臺做即可,它會共享出去)
[[email protected] ~]# yum -y install httpd
[[email protected] ~]# parted /dev/mapper/mpatha
(parted) mklabel gpt
(parted) mkpart primary ext4 1M 1024M
[[email protected] ~]# partprobe(加載分區)
[[email protected] ~]# mkfs.ext4 /dev/mapper/mpathap1
[[email protected] ~]# mount /dev/mapper/mpathap1 /var/www/html/
[[email protected] ~]# vim /var/www/html/index.html
hydra
[[email protected] ~]# umount /var/www/html/(寫上頁面後要卸載,誰掛載由集群決定)
在web頁面配置
[[email protected] ~]# firefox https://201.1.2.3:8084
點擊resources》add》apache》naem隨便寫,其他的都刪除,最後一行寫3
點擊resources》add》ip addres》netmask必須寫24
點擊resources》add》filesystem
點擊service groups》add》
firefo http://201.1.1.100/(測試驗證)
——————————————————————————————————————————————————————————————————————————————————————————

linux RHCS集群 高可用web服務器