1. 程式人生 > >配置高可用集群(環境)

配置高可用集群(環境)

inter 允許 nat sage rep list sha 啟動 meta

一準備三個虛擬機,把/etc/hosts/文件配置好

192.168.43.9 node0 192.168.43.10 node1 192.168.43.11 node2
  • node0,node1,node2上配置時間同步服務器
1:在node0上安裝配置chrony服務,同步國內互聯網時間服務器的時間 yum install -y chrony 2:編輯配置文件/etc/chrony.conf 修改默認的centos時間同步服務器地址為國內時間同步服務器地址,且允許192.168.43.0/24網段的主機同步時間
server s1a.time.edu.cn iburst server s1b.time.edu.cn iburst server s1c.time.edu.cn iburst server s1d.time.edu.cn iburst allow 192.168.43.0/24 3:啟動chrony systemctl enable chronyd.service systemctl start chronyd.service 4:在node1和node2上分別安裝chrony,且修改配置文件/etc/chrony.conf,將時間同步指向node0節點 yum install -y chrony server node0 iburst(配置文件裏面修改) systemctl enable chronyd.service systemctl start chronyd.service 5:node1,node2驗證時間同步
[root@node1 ~]# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* node0 3 6 17 6 -5684ns[-1595ns] +/- 401ms 高可用集群(服務配置)
pacemaker提供的管理程序有:(rpm -ql pacemaker)

/usr/libexec/pacemaker/cib(集群信息中心 cluster infomation base)


/usr/libexec/pacemaker/crmd(集群管理器)
/usr/libexec/pacemaker/lrmd(本地管理器)


  • 在node1和node2節點安裝corosync、pacemaker
安裝pacemaker( corosync將會被作為依賴安裝) yum install -y pacemaker
  • 在node1上操作
cd /etc/corosync/ cp corosync.conf.example corosync.conf
  • 關於/etc/corosync/corosync.conf配置文件的介紹
1:totem { }:設置節點間的通信方式,通信協議,加密,通信的多播地址,且至少需要定義一個interface{}接口用來傳遞集群心跳信息 2:loggin { }:設置格式,存儲路徑,記錄的級別 3:quorum { }: 設置投票信息 4:nodelist { }:設置節點個數
  • 由於在message layer層傳遞心跳信息需要加密,因此先必須生成加密文件
corosync-keygen
  • 編輯配置文件/etc/corosync/corosync.conf,修改配置文件(man corosync.conf 查看配置選項)
totem { version: 2 # 指定版本號 cluster_name: uplookingcluster # 指定集群名稱 crypto_cipher: aes256 # 指定對稱加密算法 crypto_hash: sha1 # 指定單向加密算法 interface { ringnumber: 0 # 指定心跳信息傳遞的環路id bindnetaddr: 192.168.43.0 # 指定環路中的網絡地址 mcastaddr: 239.255.1.1 # 指定心跳信息通過多播的方式傳遞的IP通道 mcastport: 5405 # 指定多播的端口 ttl: 1 # 指定多播報文信息的生命周期 } } logging { fileline: off to_stderr: no to_logfile: yes # 指定開啟日誌文件 logfile: /var/log/cluster/corosync.log # 指定日誌文件保存的位置 to_syslog: no # 指定不使用系統日誌保存日誌信息 debug: off timestamp: on logger_subsys { # 指定啟用仲裁機制 subsys: QUORUM debug: off } } quorum { # 指定仲裁機制是corosync投票系統 provider: corosync_votequorum } nodelist { # 指定節點列表 node { ring0_addr: 192.168.43.10 nodeid: 1 } node { ring0_addr: 192.168.43.11 nodeid: 2 } }
  • 將corosync.conf配置文件和生成的authkey文件復制到node2節點,註意authkey文件的權限必須是400才能啟動corosync
scp authkey corosync.conf node2:/etc/corosync/
  • 在node1和node2上分別啟動corosync
systemctl enable corosync.service systemctl start corosync.service
  • 在node1和node2上分別啟動pacemaker
systemctl enable pacemaker.service systemctl start pacemaker.service
  • 在node1節點上查看,當前集群中誰是DC(DC:Designated Coordinator 指定的協調員 負責管理集群的事務信息)
crm_mon
  • 在node1和node2上配置crmsh的yum倉庫,此倉庫的RPM包有openSUSE提供,將這個network:ha-clustering:Stable.repo文件直接下載到本地並且命名為crmsh.repo
wget -O /etc/yum.repos.d/crmsh.repo http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/network:ha-clustering:Stable.repo
  • 在node1和node2上通過yum安裝crmsh
yum repolist yum install -y crmsh
  • 在此可以使用crm命令進入交互式接口,實現對集群的管理操作

配置高可用集群(環境)