【home88一必发】Pacemaker3节点搭建高可用集群,虚拟机以及

by admin on 2019年4月17日

实验证实:

推行求证:

 将来的好些个实践都将以Linux平台下的 KVM虚拟机为主,所以不可少的正是Virt-Manager 虚拟机管理器。

本章将对怎么着设置和动用Virt-Manager管理器举办解说,并且会对(实验用)虚拟机进行简要安排,方便前期实验。

推行求证:

在自动化陈设时,会平时SSH别的机械去操作,然则每一回的密码验证却很令人相当的慢,越发是非常短的密码,由此SSH免密登入就显示须求;

在机器数目很多的时候,使用更过的一再是Ansible分发并实践SSH免密登录脚本,使得每台机器之间都能免密登录。

【home88一必发】Pacemaker3节点搭建高可用集群,虚拟机以及。推行求证:

 今后的过多尝试都将以Linux平台下的 KVM虚拟机为主,所以不可少的正是Virt-Manager 虚拟机管理器。

本章将对怎么样设置和平运动用Virt-Manager管理器举办解说,并且会对(实验用)虚拟机进行简短布署,方便早先时期实验。

试验环境:

  • 宿主机系统   :Fedora 28 WorkStation
  • 虚拟机管理器 :Virt-Manager 1.5.1
  • 【home88一必发】Pacemaker3节点搭建高可用集群,虚拟机以及。虚拟机配置   :ha一  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.57
                 ha2  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.58
                 ha3  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.59

施行环境:

  • 宿主机系统   :Fedora 28 WorkStation
  • 虚拟机管理器 :Virt-Manager 1.5.1
  • 虚拟机配置   :ha1  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.57     (待创建)
                 ha2  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.58     (待创建)
                 ha3  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.59     (待创建)

执行环境:

  • 宿主机系统   :Fedora 28 WorkStation
  • 虚拟机管理器 :Virt-Manager 1.5.1
  • 虚拟机配置   :ha一  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.57
                 ha2  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.58
                 ha3  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.59

尝试环境:

  • 宿主机系统 
     :
    Fedora 28
    WorkStation
  • 虚拟机管理器 :Virt-Manager 1.5.1
  • 虚拟机配置   :ha1 
    CentOS 7.2 1511
    (minimal)   virbr0: 192.168.122.57     (待创建)
                 ha2  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.58     (待创建)
                 ha3  CentOS 7.2 1511 (minimal)   virbr0:
    192.168.122.59     (待创建)

实验步骤:

尝试步骤:

  1. ### 准备镜像CentOS 7.4 1804  

  2. ### 安装 Virt-Manager

    # dnf install virt-manager libvirt -y
    

    ### 打开 Virt-Manager

    # virt-manager
    # 弹框输入密码即可
    
  3. ### 创建 KVM 虚拟机 选择 Local install media(ISO image or CDROM) –>  Forward home88一必发 1 选择ISO镜像,点击 Browse home88一必发 2 会进入选拔镜像分界面 home88一必发 3 点击左下角加多镜像原作件存款和储蓄地方 例如小编的镜像在 /home/Documents 文件夹,今后丰裕它 Name为 Documents,Type为dir,Target Path私下认可就可以 home88一必发 4 home88一必发 5 增添职业有成,选取镜像 home88一必发 6 home88一必发 7 下边设置虚拟机内部存款和储蓄器和CPU数目 home88一必发 8 其次是安装卷(磁盘)大小及义务,可修改 home88一必发 9 确认配置参数以及安装网络 –> Finish home88一必发 10 开端安装系统 home88一必发 11

  4. ### 安装系统

  5. ### 系统联网初阶化详细见 此链接

    ### 设置网卡开机自启

    # sed -i '/ONBOOT/s/no/yes/' /etc/sysconfig/network-scripts/ifcfg-eth0 
    # systemctl restart network
    # ip a        ##先设置ip,方便通过主机ssh到虚拟机
    

    ### 设置静态IP地址

  6. ### 设置主机名

    # hostnamectl set-hostname HOSTNAME
    
  7. ### 配置hosts文件

    # vi /etc/hosts
    
  8. ### 关闭防火墙

    # systemctl stop firewalld && systemctl disable firewalld
    
  9. ### 关闭 SElinux

    # sed -i  "s/^SELINUX=.*/SELINUX=disabled/g"  /etc/selinux/config
    
  10. ### 更换 YUM 源

    # mkdir -p /etc/yum.repos.d/bak
    # mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak
    # mv Cent* bak # curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # yum clean all
    # yum makecache
    
  11. ### 更新系统

    # yum upgrade
    
  12. ### COMPLETE!!!

试验步骤:

  1. ### 安装系统并安插互连网(全部虚拟机都需联网)

  2. ### 先操作第3台虚拟机(ha一)

  3. ### 编写主机名与IP的投射关系

    1 [root@ha1 ~]# vi /etc/hosts
    2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    4 192.168.122.57    ha1
    5 192.168.122.58    ha2
    6 192.168.122.59    ha3
    
  4. ### 创造公有密钥

     1 [root@ha1 ~]# ssh-keygen -t rsa 
     2 Generating public/private rsa key pair.
     3 Enter file in which to save the key (/root/.ssh/id_rsa): 
     4 /root/.ssh/id_rsa already exists.
     5 Overwrite (y/n)? y
     6 Enter passphrase (empty for no passphrase): 
     7 Enter same passphrase again: 
     8 Your identification has been saved in /root/.ssh/id_rsa.
     9 Your public key has been saved in /root/.ssh/id_rsa.pub.
    10 The key fingerprint is:
    11 40:c3:81:eb:60:49:2e:f7:fe:59:bb:ef:7d:ad:bb:06 root@ha2
    12 The key's randomart image is:
    13 +--[ RSA 2048]----+
    14 |     o+.         |
    15 |  . ....         |
    16 | o . ..          |
    17 |. * .  .         |
    18 | + +    S        |
    19 |    o       E    |
    20 |   .    .    . . |
    21 |    .  o . .  o .|
    22 |     .o o+o .o++ |
    23 +-----------------+
    
  5. ### 发送公有密钥至远程机器

    1 [root@ha1 ~]# ssh-copy-id root@192.168.122.58
    2 [root@ha1 ~]# ssh-copy-id root@192.168.122.59
    
  6. ### 以上是单台虚拟机的逐壹施行命令的方法,将上述操作写成脚本(脚本在本文末尾PS处)

  7. ### 上边操作其余虚拟机(ha2、ha三)

    1 # 虚拟机ha2
    2 [root@ha2 ~]# chmod 777 build-ssh-credit.sh 
    3 [root@ha2 ~]# ./build-ssh-credit.sh 
    
    1 # 虚拟机ha3
    2 [root@ha3 ~]# chmod 777 build-ssh-credit.sh 
    3 [root@ha3 ~]# ./build-ssh-credit.sh 
    
  8. ### 至此,三台虚拟机之间相互走访都无需输入密码,完结了SSH的免密登入

  9. ### Complete!!!

试验步骤:

  1. #### 准备镜像CentOS 7.4 1804 

  2. #### 安装 Virt-Manager

    # dnf install virt-manager libvirt -y
    

    #### 打开 Virt-Manager

    # virt-manager
    # 弹框输入密码即可
    
  3. #### 创建 KVM 虚拟机 选择 Local install media(ISO image or CDROM) –>  Forward home88一必发 12 选择ISO镜像,点击 Browse home88一必发 13 会进去选取镜像界面 home88一必发 14 点击左下角加多镜像原作件存款和储蓄地点 例如小编的镜像在 /home/Documents 文件夹,现在加上它 Name为 Documents,Type为dir,Target Path暗中认可就可以 home88一必发 15 home88一必发 16 添加职业有成,采纳镜像 home88一必发 17 home88一必发 18 上边安装虚拟机内存和CPU数目 home88一必发 19 其次是设置卷(磁盘)大小及岗位,可修改 home88一必发 20 确认配置参数以及安装网络 –> Finish home88一必发 21 发轫设置系统 home88一必发 22

  4. #### 安装系统

  5. #### 系统联网开首化详细见 此链接

    #### 设置网卡开机自启

    # sed -i '/ONBOOT/s/no/yes/' /etc/sysconfig/network-scripts/ifcfg-eth0 
    # systemctl restart network
    # ip a        ##先设置ip,方便通过主机ssh到虚拟机
    

    #### 设置静态IP地址

  6. #### 设置主机名

    # hostnamectl set-hostname HOSTNAME
    
  7. #### 配置hosts文件

    # vi /etc/hosts
    
  8. #### 关闭防火墙

    # systemctl stop firewalld && systemctl disable firewalld
    
  9. home88一必发,#### 关闭 SElinux

    # sed -i  "s/^SELINUX=.*/SELINUX=disabled/g"  /etc/selinux/config
    
  10. #### 更换 YUM 源

    # mkdir -p /etc/yum.repos.d/bak
    # mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak
    # mv Cent* bak # curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # yum clean all
    # yum makecache
    

     

  11. #### 更新系统

    # yum upgrade
    
  12. #### COMPLETE!!!

Linux公社的RSS地址:

本文长久更新链接地址

home88一必发 23

宿主机上操作:重要涉嫌ntp服务器的搭建以及fencing的布署

  1. ### 确定保障宿主机系统是联网的,配置互联网请参考 此链接

  2. ### 安装 virt-manager

    # dnf install virt-manager libvirt
    
  3. ### 使用virt-manager成立kvm虚拟机并铺排kvm虚拟机 请参考 此链接

  4. ### 安装fence、ntpd等软件

    # dnf install -y ntp fence-virtd fence-virtd-multicast fence-virtd-libvirt fence-virt*
    
  5. ### 配置ntpd 设置区时为新加坡

    # timedatectl list-timezones | grep Shanghai
    # timedatectl set-timezone Asia/Shanghai
    

    ### 修改ntp配置文件

    # 删除原配置中的相关配置项
    # sed -e '/^server/d' -e '/^#server/d' -e '/^fudge/d' -e '/^#fudge/d' -i /etc/ntp.conf
    
    # 在结尾添加ntp服务器配置
    # sed -e '$a server 127.127.1.0' -e '$a fudge 127.127.1.0 stratum' -i /etc/ntp.conf 
    

    ### 设置开机自启、开启服务并查阅情形

    # systemctl enable ntpd.service && systemctl start ntpd.service && systemctl status ntpd.service
    

     

    ntpq -c peers 
    ntpq -c assoc 
    timedatectl 
    
  6. ### 配置fence-virtd

    ### 创建 /etc/cluster 文件夹

    # mkdir -p /etc/cluster
    

    ### 生成fence_xvm.key文件

    # echo fecb9e62cbcf4e54dcfb > /etc/cluster/fence_xvm.key
    

    ### 初始化fence_virtd

    # fence_virtd -c
    

    ### 确认模块寻找路线 home88一必发 24 确认监听方式 home88一必发 25 确认监听IP地址以及端口 home88一必发 26 确认监听网卡接口 home88一必发 27 确认密钥路线 home88一必发 28 确认后端虚拟化模块 home88一必发 29 确认Libvirt URL home88一必发 30 是不是替换文件 home88一必发 31

    ### 设置开机自启、开启服务并查阅情形

    # systemctl enable fence_virtd && systemctl start fence_virtd && systemctl status fence_virtd
    
  7. ### 验证fencevirtd 查询全部情状的虚拟机

    # fence_xvm -o list
    

    ###  查询结果如下图: home88一必发 32

  8. ### Fencing操作 关闭全体已拉开的虚拟机

    # 启动(on)、关机(off)、重启(reboot)、状态获取(status)
    # fence_xvm -o off -H HA1
    # fence_xvm -o off -H HA2
    # fence_xvm -o off -H HA3
    

    ### 再次查询,结果如下图: home88一必发 33

PS:公钥开首化和兑现SSH免密登录的剧本(build-ssh-credit.sh),一向拷贝就可选拔。

#!/usr/bin/bash

# 安装expect,minimal没有此rpm包,需联网或有本地yum源
yum install expect -y
expect << EOF
set timeout 10

# 创建公有密钥

spawn ssh-keygen -t rsa
expect {
        "*to save the key" {send "\n";exp_continue}
        "*(y/n)" {send "y\r";exp_continue}
        "Enter passphrase" {send "\n";exp_continue}
        "Enter same passphrase" {send "\n";exp_continue}
}

EOF

#  获取/etc/hosts文件中除localhost的映射关系
ip_list=`grep -v 'localhost' /etc/hosts | awk -F ' ' '{print $1,$2}'`
for ip in $ip_list
do
expect << EOF
        set timeout 2

        # 发送公有密钥
        spawn ssh-copy-id root@$ip
        expect {
                "yes/no" {send "yes\r";exp_continue}
                "password" {send "000000\r";exp_continue}
        }

        # 拷贝/etc/hosts文件到远程机器
        spawn scp /etc/hosts $ip:/etc
        expect {
                "yes/no" {send "yes\r";exp_continue}
                "password" {send "root\r";exp_continue}
        }
EOF
done

 

kvm虚拟机上操作:紧要涉及Ntp服务联合和Pacemaker集群的搭建

  1. ### 配置kvm虚拟机

  2. ### 安装ntpd、pcs等软件

    # yum install -y ntp pcs pacemaker corosync fence-agents-all resource-agents
    
  3. ### 配置ntpd 与宿主机上操作看似,此处不再进行

    1 # timedatectl set-timezone Asia/Shanghai
    2 
    3 # sed -i s/^server.*// /etc/ntp.conf
    4 # echo "server 192.168.43.177 iburst" >> /etc/ntp.conf
    5 # echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpdate
    6 # systemctl enable ntpd.service && systemctl start ntpd.service && systemctl status ntpd.service
    

    ### 查询当前时间设置

    # timedatectl
    
  4. ### 配置Pacemaker集群 检查是或不是安装Pacemaker软件 创立Fencing设备密钥Key

    # mkdir -p /etc/cluster
    # echo fecb9e62cbcf4e54dcfb > /etc/cluster/fence_xvm.key
    

    ### 设置hacluster用户密码

    # echo 000000|passwd --stdin hacluster
    

    ### 创设Pacemaker集群 创立时须要打开授权认证,以及供给充裕到集群的主机名

    # pcs cluster auth ha1 ha2 ha3 -u hacluster -p 000000 --force
    

    ### 设置集群的名称时供给钦点集群名称和急需加上到集群的主机名

    # pcs cluster setup --force --name openstack-ha ha1 ha2 ha3
    

    ### 设置在集群具有节点运维时启用corosync和pacemaker

    # pcs cluster enable --all
    

    ### 设置在集群具有节点都展开集群

    # pcs cluster start --all
    

    ### 查询集群状态

    # pcs status
    

    ### 为了促成对虚拟机的Fencing操作,需求为Pacemaker集群配置Stonith财富

    1 # pcs stonith create fence1 fence_xvm multicast_address=225.0.0.12
    2 # pcs stonith create fence2 fence_xvm multicast_address=225.0.0.12
    3 # pcs stonith create fence3 fence_xvm multicast_address=225.0.0.12
    

    ### 查询集群状态

    [root@ha1 ~]# pcs status
    Cluster name: openstack-ha
    Stack: corosync
    Current DC: ha1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
    Last updated: Thu Aug 16 15:30:59 2018
    Last change: Thu Aug 16 12:44:03 2018 by root via cibadmin on ha1
    
    3 nodes configured
    3 resources configured
    
    Online: [ ha1 ha2 ha3 ]
    
    Full list of resources:
    
     fence1    (stonith:fence_xvm):    Started ha1
     fence2    (stonith:fence_xvm):    Started ha2
     fence3    (stonith:fence_xvm):    Started ha3
    
    Daemon Status:
      corosync: active/enabled
      pacemaker: active/enabled
      pcsd: active/enabled
    

    ### 查询当前 Pacemaker 集群中的 Stonith 财富

    [root@ha1 ~]# pcs stonith show
     fence1    (stonith:fence_xvm):    Started ha1
     fence2    (stonith:fence_xvm):    Started ha2
     fence3    (stonith:fence_xvm):    Started ha3
    

     

     

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图