HAhtml
實驗環境node
server1 172.25.23.1 ricci ( 集羣配置 ) 客戶端mysql
server2 172.25.23.2 ricci 客戶端linux
server3 172.25.23.3 luci ( 管理集羣 ) 服務端sql
注意 iptables selinux 關掉apache
三臺機器所有加上解析 vim
Rhel6.5瀏覽器
###############################################負載均衡
一安裝軟件dom
1.配置yum源 server1 server2 server3
[root@server1 ~]# cat /etc/yum.repos.d/rhel-source.repo
[Server]
name=localserver
baseurl=http://172.25.23.23/rhel
gpgcheck=0
[HighAvailability]------ 高可用
name=localserver
baseurl=http://172.25.23.23/rhel/HighAvailability
gpgcheck=0
[LoadBalancer]------ 負載均衡
name=localserver
baseurl=http://172.25.23.23/rhel/LoadBalancer
gpgcheck=0
[ResilientStorage]------ 存儲
name=localserver
baseurl=http://172.25.23.23/rhel/ResilientStorage
gpgcheck=0
[ScalableFileSystem]------ 大型文件系統
name=localserver
baseurl=http://172.25.23.23/rhel/ScalableFileSystem
gpgcheck=0
[root@server1 ~]# yum repolist ----- 列出可用的包
--> 可查看到有3819可用
2.安裝軟件
server1 server2
[root@server1 ~]# yum list ricci
[root@server1 ~]# yum install ricci -y
[root@server1 ~]# chkconfig ricci on
[root@server1 ~]# id ricci
[root@server1 ~]# echo westos | passwd --stdin ricci
[root@server1 ~]# /etc/init.d/ricci start
server3
[root@server3 ~]# yum install luci -y
[root@server3 ~]# /etc/init.d/luci start
二建立集羣
1.在瀏覽器中打開 https://172.25.23.3:8084
密碼爲172.25.23.3的密碼
2.建立集羣
集羣名字不可超過15個字符其餘選項如圖所示
3.建立成功後會生成相應的配置文件/etc/cluster/cluster.conf
三建立fense
1.fence_xvm.key
在物理機上(物理機中有虛擬機管理器物理機控制虛擬機可讓虛擬機強制斷電有force off , shutdown ...)
[root@foundation23 ~]# yum search fence
[root@foundation23 ~]# yum install fence-virtd-libvirt.x86_64 -y
[root@foundation23 ~]# yum install fence-virtd.x86_64 -y
[root@foundation23 ~]# yum install fence-virtd-multicast.x86_64 -y
[root@foundation23 ~]# systemctl start fence_virtd
[root@foundation23 ~]# netstat -antlpe | grep fence_virtd
# 查不到由於fence_virtd是udp通訊
[root@foundation23 ~]# netstat -anulpe | grep fence_virtd
# 可看到端口是1229
[root@foundation23 ~]# fence_virtd -c (主要修改br0)
Module search path [/usr/lib64/fence-virt] ...
Listener module [multicast]...
Multicast IP Address [225.0.0.12]...
Multicast IP Port [1229]...
Interface [br0]
Key File [/etc/cluster/fence_xvm.key]
Backend module [libvirt]
Replace /etc/fence_virt.conf with the above [y/N]? y
[root@foundation23 ~]# mkdir -p /etc/cluster
[root@foundation23~]# dd if=/dev/urandom of=fence_xvm.key bs=128 count=1
# fence_xvm.key是截取的不是自動生成
[root@foundation23 ~]# scp fence_xvm.key root@172.25.23.1:/etc/cluster/
[root@foundation23 ~]# scp fence_xvm.key root@172.25.23.2:/etc/cluster/
[root@foundation23 ~]# systemctl restart fence_virtd.service
2.在瀏覽器中打開圖形界面https://172.25.23.3:8084
(1) Fence Devices -> Add -> Fence virt (Multicast Mode) -> Name=vmfence
Fence類型虛擬型fence
(2) 作映射
Domain 能夠是base1也能夠是base1的UUIDUUID惟一性最好
(3) server2同上
3.測試
[root@server1 ~]# clustat
[root@server1 ~]# fence_node server2.example.com
# 殺死server2即斷電重啓
[root@server1 ~]# clustat
# server2啓動以後恢復正常再次加入到集羣中
四添加http服務
1.server1 server2
[root@server1 ~]# yum install httpd -y
2.server3的圖形界面
(1) 添加Failover Domains
Restricted:是否在失敗轉移域成員中啓用服務故障切換限制
No failback:主節點故障備節點會自動接管相關業務當主節點恢復正常不恢復到主節點
(2) 添加Resources
IP設爲未使用 (未被佔用) 的IP ,VIP
(3) 添加Service Groups
Add Resource 先加IP再加httpd ( 加的順序就是啓動的順序 )
3.測試 訪問 172.25.23.100
(1) 會先訪問server1的 (優先級高 ) server1的服務掛掉以後 會自動訪問 server2 , 而且系統會將server1的httpd 重啓將server1再次加入集羣
/etc/init.d/httpd stop
Server1的服務掛掉能夠是 /etc/init.d/httpd stop, /etc/init.d/network stop ......
(2)
[root@server1 ~]# clusvcadm -r apache -m server2.example.com
將httpd服務轉移到server2
(3)
server1 echo c > /proc/sysrq-trigger ------ 使內核崩掉
server1 崩掉後fence機制force重啓
五存儲分離 部署iscsci
server3 中 創建存儲分離的服務端
server 1 , server2 中爲存儲分離的客戶端
1.server3
(1) 先新建一個新的磁盤
(2) 新的磁盤建立分區
[root@server3 ~]# fdisk /dev/vda
....
[root@server3 ~]# partx -d /dev/vda
[root@server3 ~]# partx -a /dev/vda
(3) 分享出新的分區
[root@server3 ~]# yum install scsi-target-utils.x86_64 -y
[root@server3 ~]# vim /etc/tgt/targets.conf
....
<target iqn.2016-07.com.example:storage1>
backing-store /dev/vda1
initiator-address 172.25.23.1
initiator-address 172.25.23.2
</target>
....
[root@server3 ~]# /etc/init.d/tgtd start
[root@server3 ~]# tgt-admin -s 查看是否配置好
2. server1 server2鏈接共享設備
[root@server1 ~]# yum install iscsi-* -y
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.23.3
[root@server1 ~]# iscsiadm -m node -l
# server2同時進行
[root@server1 ~]# fdisk -l
[root@server1 ~]# fdisk /dev/sdb
.... ( 注意修改標籤爲8e )
[root@server1 ~]# cat /proc/partitions
[root@server1 ~]# partprobe
[root@server1 ~]# pvcreate /dev/sdb1
[root@server1 ~]# vgcreate clustervg /dev/sdb1
[root@server1 ~]# lvcreate -L 2G -n data1 clustervg
[root@server1 ~]# mkfs.ext4 /dev/clustervg/data1
3.將新建的加入到集羣中 (先將服務disabled 而且注意前後順序)
[root@server1 ~]# clusvcadm -d apache
訪問https://172.25.23.3:8084
-> 添加resources
-> 修改Service Groups
先加IP Addr 再 Filesystem 最後httpd (scripts)
4.測試
(1) [root@server1 ~]# echo hello > /var/www/html/index.html
(2) 訪問172.25.23.100 顯示的界面一直是hello。若server1掛掉server2接管 仍爲原先的訪問界面hello。
5.若創建的集羣是關於mysql 服務的則掛載點是mysql的存儲目錄
cat /etc/my.cnf 查看mysql 的存儲目錄
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
...
在掛載前先將mysql裏面的文件備份一份
六gfs2 文件系統
分佈式集羣管理同時掛載時 可支持同時讀寫 拉神擴容
1.中止服務將集羣中的Filesystem刪除
[root@server1 ~]# clusvcadm -d apache
在Service Groups中將Filesystem remove
2.建立gfs2的文件系統
[root@server1 ~]# mkfs.gfs2 -p lock_dlm -t cluster_wj:mygfs2 -j 3 /dev/clustervg/data1
-j 指定日誌的份數通常爲節點數量+1
-p鎖協議名
-t 集羣名
[root@server1 ~]# gfs2_tool sb /dev/clustervg/data1 all
[root@server1 ~]# mount /dev/clustervg/data1 /mnt
[root@server2 ~]# mount /dev/clustervg/data1 /mnt
# 在/mnt裏面修改數據兩邊會同步
[root@server1 ~]# gfs2_tool journals /dev/clustervg/data1
[root@server1 ~]# df -h
[root@server1 ~]# blkid
[root@server1 ~]# vim /etc/fstab
注意如果mysql服務則在掛載後須要
chown mysql.mysql /var/lib/mysql/
[root@server1 ~]# clustat
[root@server1 ~]# clusvcadm -e mysql
3.擴展gfs2的容量
[root@server1 ~]# lvextend -L +2G /dev/clustervg/data1
# 有可能容量不夠能夠減少擴展的容量
[root@server1 ~]# gfs2_grow /dev/clustervg/data1
# 同步
4.增長日誌數量
[root@server1 ~]# gfs2_jadd -j 3 /dev/clustervg/data1
七集羣的刪除
1.中止相關服務
clusvcadm -d httpd #中止服務
2.若是有掛載還要先卸載相應的掛載
如umount /mnt編輯/etc/fstab的掛載項
3.刪除
(1)如上選中所有節點點擊Leave Cluster出現以下界面
(2)而後選中節點點擊Delete進行刪除
delete主要完成兩部分
A.刪除主配置文件 /etc/cluster/cluster.conf
B.關閉相應的啓動項 cman ramanager clvmd modclusterd
查看全部的相關服務是否所有中止沒停的手動中止
只有modclusterd須要手動進行關閉以及中止開機自啓動項
4.存儲的退出
Ricci節點的主機都須要退出
[root@server1 ~]# iscsiadm -m node -u
[root@server1 ~]# iscsiadm -m node -o delete
[root@server1 ~]# fdisk -l
[root@server1 ~]# /etc/init.d/ricci stop
[root@server1 ~]# chkconfig ricci off