首页 > 代码库 > 高可用集群pacemake

高可用集群pacemake

实验环境:server3:172.25.29.3
                    server4:172.25.29.4
                    server6:172.25.29.6


[root@server3 ~]#yum install -y pacemaker
[root@server3 ~]#cd /etc/corosync/
[root@server3 corosync]#cp corosync.conf.example corosync.conf
[root@server3 corosync]#vim corosync.conf

 9                 ringnumber: 0
 10                 bindnetaddr: 172.25.29.0
 11                 mcastaddr: 226.94.1.1
 12                 mcastport: 540529
 13                 ttl: 1

31 amf {
32         mode: disabled
33 }
34
35 service {
36          name: pacemaker
37          ver:0
 38 }
    
[root@server3 corosync]#scp corosync.conf 172.25.29.4:/etc/corosync/
[root@server3 corosync]#/etc/init.d/corosync start    (打开集群)
[root@server3 corosync]#crm_verify -LV

下载crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm

[root@server3~]#yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm
[root@server3 corosync]#crm_verify -LV
[root@server3 corosync]#crm

crm(live)# node
crm(live)node# show
server3.example.com: normal
server4.example.com: normal
crm(live)node# cd
crm(live)# configure
crm(live)configure# show


node server3.example.com
node server4.example.com
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2" \
    

crm(live)configure# property stonith-enabled=false
crm(live)configure#commit

crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip="172.25.29.100" cidr_netmask="32" op monitor interval="10s"
crm(live)configure# primitive mysite ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=1min
crm(live)configure#commit
crm(live)configure#edit     (可以进去查看)
crm(live)configure#show

node server3.example.com
node server4.example.com
primitive mysite ocf:heartbeat:apache \
    params configfile="/etc/httpd/conf/httpd.conf" \
    op monitor interval="1min"
primitive vip ocf:heartbeat:IPaddr2 \
    params ip="172.25.29.100" cidr_netmask="32" \
    op monitor interval="10s"
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2" \
   stonith-enabled="false"

[root@server3 ~]#cd /etc/httpd/conf
[root@server3 conf]#vim httpd.conf

 921 <Location /server-status>
 922     SetHandler server-status
 923     Order deny,allow
 924     Deny from all
 925     Allow from 127.0.0.1
 926 </Location>



@@@@@@


[root@server4 ~]#yum install -y pacemaker
[root@server4 ~]#cd /etc/corosync/
[root@server4 corosync]#ls  
[root@server4 corosync]#/etc/init.d/corosync start

[root@server4 ~]#cd /etc/httpd/conf
[root@server4 conf]#vim httpd.conf

921 <Location /server-status>
 922     SetHandler server-status
 923     Order deny,allow
 924     Deny from all
 925     Allow from 127.0.0.1
 926 </Location>

[root@server4 corosync]#crm_mon

vip        (ocf::heartbeat:IPaddr2):    Started serevr3.example.com
mysite     (ocf::heartbeat:apache):      Started server4.example.com       

   (当vip和mysite 没有在一台电脑上工作时)


@@@@@@@@@@@@@@@@@


[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# colocation apache-with-vip inf: mysite vip
crm(live)configure# commit

[root@server4 corosync]#crm_mon

vip        (ocf::heartbeat:IPaddr2):    Started serevr3.example.com
mysite     (ocf::heartbeat:apache):      Started server3.example.com       

@@@@@@@@@@@@@@@@@@@


[root@server3 corosync]#/etc/init.d/corosync start
[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# property stonith-enabled=true
crm(live)configure# commit
crm(live)configure# bye
[root@server3 corosync]#/etc/init.d/corosync stop     (服务转到server4上面)
[root@server3 corosync]#/etc/init.d/corosync start
[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# show

node server3.example.com
node server4.example.com
primitive mysite ocf:heartbeat:apache \
    params configfile="/etc/httpd/conf/httpd.conf" \
    op monitor interval="1min"
primitive vip ocf:heartbeat:IPaddr2 \
    params ip="172.25.29.100" cidr_netmask="32" \
    op monitor interval="1mins"
property $id="cib-bootstrap-options" \
    dc-version="1.1.10-14.el6-368c726" \
    cluster-infrastructure="classic openais (with plugin)" \
    expected-quorum-votes="2" \
   stonith-enabled="true
   last-lrm-refresh="1474513359" \
    no-quorum-policy="ignore"


[root@server3 corosync]# yum provides */fence_xvm
[root@server3 corosync]# stonith_admin -I
 fence_xvm
 fence_virt
 fence_pcmk
 fence_legacy
4 devices found

[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# cd
crm(live)# resource
crm(live)resource# show
 vip    (ocf::heartbeat:IPaddr2):    Started
 mysite    (ocf::heartbeat:apache):    Started  
 vmfence    (stonith:fence_xvm):    Stopped    (vmfence 关闭)
crm(live)resource# start vmfence
crm(live)resource# cleanup vmfence
Cleaning up vmfence on server3.example.com
Cleaning up vmfence on server4.example.com
Waiting for 1 replies from the CRMd. OK
crm(live)resource# show    (查看是否打开)
crm(live)resource# bye

[root@server3~]#stonith_admin -a fence_xvm -M
[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map=server3.example.com:vm3;server4.example.com:vm4 op monitor interval=1min

crm(live)configure#commit




[root@server4 corosync]#/etc/init.d/corosync start
[root@server4 corosync]#crm_mon

vip        (ocf::heartbeat:IPaddr2):    Started serevr4.example.com
mysite     (ocf::heartbeat:apache):      Started server4.example.com       
vmfence    (stonith:fence_xvm):       Started server3.example.com


[root@server4 corosync]#/etc/init.d/httpd stop
[root@server4 corosync]#crm_mon   (当关掉http时服务并没有发生掉转)

vip        (ocf::heartbeat:IPaddr2):    Started serevr4.example.com
mysite     (ocf::heartbeat:apache):      Started server4.example.com       
vmfence    (stonith:fence_xvm):       Started server3.example.com


[root@server4 corosync]#ip addr del 172.25.29.100/32 dev eth0
                              (删掉虚拟IP让集群帮助调换服务)

[root@server4 corosync]#ip addr show  (查看)

[root@server4 corosync]#crm_mon       (此时服务发生改变)

vip        (ocf::heartbeat:IPaddr2):    Started serevr3.example.com
mysite     (ocf::heartbeat:apache):      Started server3.example.com       
vmfence    (stonith:fence_xvm):       Started server4.example.com




[root@server3 corosync]#/etc/init.d/network stop    
                       (用虚拟机查看验证服务跳转的效果)


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
############集群共享储存################

[root@server6 ~]# yum install scsi-target-utils  -y
[root@server6 ~]#chkconfig tgtd on
[root@server6 ~]#service tgtd start
[root@server6 ~]#dd if=/dev/zero of=/dev/vda bs=1024 count=1
[root@server6 ~]#/etc/init.d/tgtd start
[root@serevr6 ~]# vim /etc/tgt/targets.conf

 38 <target iqn.2016-09.com.example:server.disk>
 39     backing-store /dev/vda
 40     initiator-address 172.25.29.3
 41     initiator-address 172.25.29.4
 42 </target>

[root@server6 ~]#tgt-admin -s  (查看共享分区的地址)


@@@@@@@@@@@@@@@@@@@@



[root@server3 ~]#yum install iscsi-initiator-utils -y
[root@server3 ~]#chkconfig iscsi on
[root@server3 ~]#service iscsi start
[root@server3 ~]#/etc/init.d/iscsi start
[root@server3 ~]#fdisk -l   (查看共享磁盘)(/dev/sdb)
[root@server3 ~]#fdisk -cu /dev/sdb    (分出一个4G sdb1的分区)
[root@server3 ~]#mkfs.ext4 /dev/sda1  
    @@@@@@@@@@@@@@@@@(此时两个节点共享一个分区)


[root@server4 ~]#yum install iscsi-initiator-utils -y
[root@server4 ~]#chkconfig iscsi on
[root@server4 ~]#service iscsi start
[root@server4 ~]#/etc/init.d/iscsi start
[root@server4 ~]#fdisk -l   (查看共享磁盘)

[root@server4 ~]#cat /proc/partitions   (查看验证是否共享)
[root@server4 ~]#mount /dev/sda1 /mnt/
[root@server4 ~]#cd /mnt/
[root@server4 mnt]#vim index.html  (添加测试页验证)

server3+serevr4

[root@server4 mnt]#cd
[root@server4 ~]#umount /mnt



@@@@@@@@@@@@@

[root@server3 corosync]#crm
crm(live)# configure
crm(live)configure# primitive webdata ocf:heartbeat:Filesystem params device=/dev/sdb1 directory=/var/www/html fstype=ext4 op monitor interval=1min
crm(live)configure#commit
crm(live)configure# show

(查看是否添加到文件里面)



[root@server4 corosync]#crm_mon       

vip        (ocf::heartbeat:IPaddr2):    Started serevr3.example.com
mysite     (ocf::heartbeat:apache):      Started server3.example.com       
vmfence    (stonith:fence_xvm):       Started server4.example.com
webdata    (ocf::heartbeat:Filesystem):   Started server4.example.com


[root@server3 corosync]#crm    (当共享分区和vip,mysite 不同步时)
crm(live)# configure
crm(live)configure#  group webgroup vip webdata mysite
crm(live)configure#commit


[root@server4 corosync]#crm_mon       

vmfence    (stonith:fence_xvm):       Started server4.example.com
   Resource Group: webgroup
vip        (ocf::heartbeat:IPaddr2):    Started serevr3.example.com
mysite     (ocf::heartbeat:apache):      Started server3.example.com       
webdata    (ocf::heartbeat:Filesystem):   Started server3.example.com


[root@server4 ~]#mount /dev/sda1 /var/www/html

访问172.25.29.100:找到储存中共享的文件

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

高可用集群pacemake