[root@server1 ~]# dnf --enablerepo=ha -y install pacemaker pcs
[root@server1 ~]# passwd hacluster
Changing password for user hacluster.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@server1 ~]# systemctl enable pcsd
[root@server1 ~]# systemctl start pcsd
[root@server1 ~]# systemctl status pcsd
[root@server1 ~]# systemctl start pacemaker --> 안함, 클러스터 동작시 자동으로 start 됨
[root@server1 ~]# systemctl enable pacemaker
[root@server1 ~]# systemctl status pacemaker
[root@server1 ~]# systemctl start corosync --> 안함, 클러스터 동작시 자동으로 start 됨
[root@server1 ~]# systemctl enable corosync
[root@server1 ~]# systemctl start corosync
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-port=2224/tcp
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-port=5405/udp
[root@server1 ~]# firewall-cmd --permanent --add-service=high-availability
[root@server1 ~]# firewall-cmd --list-all
[root@server1 ~]# firewall-cmd --reload
[root@server1 ~]# vi /etc/hosts
192.168.10.200 server1.example.com
192.168.10.252 server2.example.com
[root@server1 ~]# pcs host auth server1.example.com server2.example.com
Username: hacluster
Password:
server1.example.com: Authorized
server2.example.com: Authorized
[root@server1 ~]#
[root@server1 ~]# pcs cluster setup cluster server1.example.com server2.example. com
No addresses specified for host 'server1.example.com', using 'server1.example.co m'
No addresses specified for host 'server2.example.com', using 'server2.example.co m'
Destroying cluster on hosts: 'server1.example.com', 'server2.example.com'...
server2.example.com: Successfully destroyed cluster
server1.example.com: Successfully destroyed cluster
Requesting remove 'pcsd settings' from 'server1.example.com', 'server2.example.c om'
server1.example.com: successful removal of the file 'pcsd settings'
server2.example.com: successful removal of the file 'pcsd settings'
Sending 'corosync authkey', 'pacemaker authkey' to 'server1.example.com', 'serve r2.example.com'
server1.example.com: successful distribution of the file 'corosync authkey'
server1.example.com: successful distribution of the file 'pacemaker authkey'
server2.example.com: successful distribution of the file 'corosync authkey'
server2.example.com: successful distribution of the file 'pacemaker authkey'
Sending 'corosync.conf' to 'server1.example.com', 'server2.example.com'
server1.example.com: successful distribution of the file 'corosync.conf'
server2.example.com: successful distribution of the file 'corosync.conf'
Cluster has been successfully set up.
[root@server1 ~]# pcs cluster sync
server1.example.com: Succeeded
server2.example.com: Succeeded
[root@server1 ~]#
[root@server1 ~]# pcs cluster start --all
server2.example.com: Starting Cluster...
server1.example.com: Starting Cluster...
[root@server1 ~]# corosync-cfgtool -s
Printing link status.
Local node ID 1
LINK ID 0
addr = 192.168.10.200
status:
nodeid 1: link enabled:1 link connected:1
nodeid 2: link enabled:1 link connected:1
[root@server1 ~]# corosync-cmapctl | egrep -i members
runtime.members.1.config_version (u64) = 0
runtime.members.1.ip (str) = r(0) ip(192.168.10.200)
runtime.members.1.join_count (u32) = 1
runtime.members.1.status (str) = joined
runtime.members.2.config_version (u64) = 0
runtime.members.2.ip (str) = r(0) ip(192.168.10.252)
runtime.members.2.join_count (u32) = 1
runtime.members.2.status (str) = joined
[root@server1 ~]# pcs status corosync
Membership information
----------------------
Nodeid Votes Name
1 1 server1.example.com (local)
2 1 server2.example.com
[root@server1 ~]# crm_verify -L -V
(unpack_resources) error: Resource start-up disabled since no STONITH resou rces have been defined
(unpack_resources) error: Either configure some or disable STONITH with the stonith-enabled option
(unpack_resources) error: NOTE: Clusters with shared data need STONITH to e nsure data integrity
Errors found during check: config not valid
[root@server1 ~]# pcs property set stonith-enabled=false
[root@server1 ~]# crm_verify -L -V
[root@server1 ~]#
[root@server1 ~]# systemctl enable pacemaker.service
Created symlink /etc/systemd/system/multi-user.target.wants/pacemaker.service → /usr/lib/systemd/system/pacemaker.service.
[root@server1 ~]# pcs status
Cluster name: cluster
Cluster Summary:
* Stack: corosync
* Current DC: server1.example.com (version 2.0.4-6.el8-2deceaa3ae) - partition with quorum
* Last updated: Sun Jan 3 07:06:04 2021
* Last change: Sun Jan 3 06:40:10 2021 by root via cibadmin on server1.example.com
* 2 nodes configured
* 0 resource instances configured
Node List:
* Online: [ server1.example.com server2.example.com ]
Full List of Resources:
* No resources
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
[root@server1 ~]# pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=192.168.10.100 cidr_netmask=24 op monitor interval=5s
[root@server1 ~]# pcs status
Cluster name: cluster
Cluster Summary:
* Stack: corosync
* Current DC: server1.example.com (version 2.0.4-6.el8-2deceaa3ae) - partition with quorum
* Last updated: Sun Jan 3 07:14:36 2021
* Last change: Sun Jan 3 07:13:57 2021 by root via cibadmin on server1.example.com
* 2 nodes configured
* 1 resource instance configured
Node List:
* Online: [ server1.example.com server2.example.com ]
Full List of Resources:
* virtual_ip (ocf::heartbeat:IPaddr2): Started server1.example.com
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
[root@server1 ~]# ip a
....
inet 192.168.10.200/24 brd 192.168.10.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.10.100/24 brd 192.168.10.255 scope global secondary ens33
valid_lft forever preferred_lft forever
....
<test >
ping 날려서 확인
[root@server1 ~]# pcs status
[root@server1 ~]# pcs cluster status
[root@server1 ~]# pcs node standby server1.example.com
[root@server1 ~]# pcs node unstandby server1.example.com
[root@server1 ~]# pcs cluster stop server1.example.com
server1.example.com: Stopping Cluster (pacemaker)...
server1.example.com: Stopping Cluster (corosync)...
[root@server1 ~]# pcs cluster start server1.example.com
server1.example.com: Starting Cluster...
#pcs cluster node add server3.example.com //노드 추가
#pcs cluster node remove server1.example.com //노드 삭제
로그 확인
# cat /var/log/cluster/corosync.log
# cat /var/log/pcsd/pcsd.log
# cat /var/log/pacemaker/pacemaker.log
# journalctl -u pacemaker
설정확인
# cat /var/lib/pacemaker/cib/cib.xml
# cat /etc/corosync/corosync.conf
# pcs config show
##########################################################
##########################################################
< server2 >
[root@server2 ~]# vi /etc/hosts
192.168.10.200 server1.example.com
192.168.10.252 server2.example.com
[root@server2 ~]# dnf --enablerepo=ha -y install pacemaker pcs
[root@server2 ~]# passwd hacluster
Changing password for user hacluster.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@server2 ~]# firewall-cmd --permanent --zone=public --add-port=2224/tcp
[root@server2 ~]# firewall-cmd --permanent --zone=public --add-port=5405/udp
[root@server2 ~]# firewall-cmd --permanent --add-service=high-availability
[root@server2 ~]# firewall-cmd --reload
[root@server2 ~]# firewall-cmd --list-all
[root@server2 ~]# systemctl enable pcsd
[root@server2 ~]# systemctl start pcsd
[root@server2 ~]# systemctl status pcsd
[root@server2 ~]# systemctl start pacemaker
[root@server2 ~]# systemctl enable pacemaker
[root@server2 ~]# systemctl status pacemaker
[root@server2 ~]# systemctl enable corosync
[root@server2 ~]# systemctl start corosync
[root@server2 ~]# systemctl status corosync
[root@server2 ~]# corosync-cfgtool -s
Printing link status.
Local node ID 2
LINK ID 0
addr = 192.168.10.252
status:
nodeid 1: link enabled:1 link connected:1
nodeid 2: link enabled:1 link connected:1
[root@server2 ~]# pcs status corosync
Membership information
----------------------
Nodeid Votes Name
1 1 server1.example.com
2 1 server2.example.com (local)
[root@server2 ~]# pcs status
Cluster name: cluster
Cluster Summary:
* Stack: corosync
* Current DC: server1.example.com (version 2.0.4-6.el8-2deceaa3ae) - partition with quorum
* Last updated: Sun Jan 3 07:17:30 2021
* Last change: Sun Jan 3 07:13:57 2021 by root via cibadmin on server1.example.com
* 2 nodes configured
* 1 resource instance configured
Node List:
* Online: [ server1.example.com server2.example.com ]
Full List of Resources:
* virtual_ip (ocf::heartbeat:IPaddr2): Started server1.example.com
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
[root@server2 ~]# ip a
....
inet 192.168.10.252/24 brd 192.168.10.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.10.100/24 brd 192.168.10.255 scope global secondary ens33
valid_lft forever preferred_lft forever
....
'linux' 카테고리의 다른 글
centos 8 - pacemaker + iscsi + gfs2 shared storage 이중화 (0) | 2021.01.05 |
---|---|
centos 8 - drbd 설치 (0) | 2021.01.04 |
centos - keepalived (링크 이중화 vrrp) (0) | 2021.01.03 |
centos - multipath + iscsi 설정 (0) | 2021.01.02 |
centos - vlan 설정 (0) | 2020.12.31 |