環境 node1 192.168.1.35 node2 192.168.1.36 fip 192.168.1.80 daemon httpd nfs 192.168.1.15 配置HA集群的前提 1.節點時間必須同步,使用ntp協議實現 2.節點間需要通過主機互相通信,必須解析主機名至IP地址 a.建議名稱解析功能能使用hosts文件實現 b.通信中使用的名字與節點名字必須保持一致 3.考慮仲裁設備是否會用到 4.建立各節點之間的root用戶能夠基于密鑰認證 # ssh-keygen -t rsa -P '' # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.36 [[ heartbeat v2 + haresources(v1)]] node1&node2(centos 6) # yum install net-snmp-libs libnet PyXML # rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm 配置文件:/etc/ha.d目錄下 ha.cf:主配置文件,定義各節點上的heartbeat HA集群的基本屬性 authkeys:集群內各節點彼此傳遞消息時使用加密算法 及密鑰 haresources:為heartbeat v1提供資源管理器配置接口;v1版本專用的配置接口 樣例:/usr/share/doc/hearbeat-2.1.4/目錄下 node1 # cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/ # ll # chmod 600 authkeys # vim authkeys(指明啟用那種算法,使用的密鑰是什么) auth 2 2 sha1 gbpNZ/hvE89KxPqjyHclmn(openssl rand -base64 16) # vim ha.cf logfile /var/log/heartbeat.log (日志) mcast eth0 225.13.180.1 694 1 0 auto_failback on node node1(指明節點名,必須與uname -n保持一致) node node2 ping 192.168.0.1(仲裁設備) compression bz2 (指明節點間傳遞信息的壓縮算法) comprehensive_threshold 2 (壓縮時的起點,單位KB) # vim haresource (定義集群資源)(對資源的管理要使用資源代理) node1 192.168.1.80/24/eth0/192.168.255.255 httpd # scp -p authkeys ha.cf haresources node2:/etc/ha.d/ node1&node2 # yum install httpd -y # echo "<h1>node1.com</h1> > /var/www/html/index.html (node1) # echo "<h1>node2.com</h1> > /var/www/html/index.html (node2) # service httpd stop # curl 192.168.1.35 <h1>node1.com</h1> # service httpd stop # chkconfig httpd off (開機不自啟) # service heartbeat start # ss -tunl :694 瀏覽器訪問192.168.1.80 nfs # mkdir -pv /web/htdocs # echo "<h1>Page on NFS server</h1>" > /web/htdoc/index.html # vim /etc/exports(共享文件) /web/htdocs 192.168.0.1/24(rw,no_root_squash) # service nfs service # chkconfig nfs on node1 # cd # service heartbeat stop; ssh node2 'service heartbeat stop' # cd /etc/ha.d/ node1&2 # mount -t nfs 192.168.1.15:/web/htdocs /var/www/html # mount 192.168.1.15:/web/htdocs on /var/www/html type nfs (rw,vers=4,addr=192.168.1.15,clientaddr=192.168.1.35) # service httpd restart 瀏覽器訪問192.168.1.35及192.168.1.36 # service httpd stop # umount /var/www/html/ node1 # ls # pwd /etc/ha.d # ls resource.d/ Filesystem (文件系統的資源代理) # vim haresources node1 192.168.1.80/24/eth0/192.168.255.255 Filesystem::192.168.1.15:/web/htdocs::/var/www/html::nfs httpd (Filesystem::192.168.1.15:/web/htdocs::/var/www/html::nfs Filesystem::要掛載的設備::掛載點::文件系統類型) # scp -p haresources node2:/etc/ha.d # service heartbeat start; ssh node2 'service heartbeat start' # ss -tnl # ifconfig # mount # tail /var/log/heartbeat.log # /usr/lib64/heartbeat/hb_standby 讓節點變成備用模式 node2 # tail /var/log/heartbeat.log # ss -tnl # ifconfig # mount # /usr/lib64/heartbeat/hb_standby node1 # /usr/lib64/heartbeat/hb_takeover
原創文章,作者:nene,如若轉載,請注明出處:http://www.www58058.com/88196