linux

centos 8 - pacemaker

sysman 2021. 1. 3. 22:46

[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