Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.4.5. 配置概述:KVM 客户机节点

本节概述了使用 libvirt 和 KVM 虚拟机执行 Pacemaker 启动虚拟机并将该虚拟机整合为客户机节点的步骤。
  1. 配置 VirtualDomain 资源,如 第 9.3 节 “将虚拟域配置为资源” 所述。
  2. 在运行 Red Hat Enterprise Linux 7.3 及更早版本的系统上,按照以下步骤将路径 /etc/pacemaker/authkey 放置到每个集群节点和虚拟机上。这可保护远程通信和身份验证。
    1. 在每个节点上输入以下一组命令,以创建具有安全权限的 authkey 目录。
      # mkdir -p --mode=0750 /etc/pacemaker
      # chgrp haclient /etc/pacemaker
    2. 以下命令显示了创建加密密钥的一种方法:您应该仅创建一次密钥,然后将它复制到所有节点。
      # dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
  3. 对于 Red Hat Enterprise Linux 7.4,在每个虚拟机上输入以下命令来安装 pacemaker_remote 软件包,启动 pcsd 服务并启用它在启动时运行,并通过防火墙允许 TCP 端口 3121。
    # yum install pacemaker-remote resource-agents pcs
    # systemctl start pcsd.service
    # systemctl enable pcsd.service
    # firewall-cmd --add-port 3121/tcp --permanent
    # firewall-cmd --add-port 2224/tcp --permanent
    # firewall-cmd --reload
    对于 Red Hat Enterprise Linux 7.3 和更早版本,在每个虚拟机上运行以下命令,以安装 pacemaker_remote 软件包、启动 pacemaker_remote 服务并使其在启动时运行,并允许 TCP 端口 3121 通过防火墙。
    # yum install pacemaker-remote resource-agents pcs
    # systemctl start pacemaker_remote.service
    # systemctl enable pacemaker_remote.service
    # firewall-cmd --add-port 3121/tcp --permanent
    # firewall-cmd --add-port 2224/tcp --permanent
    # firewall-cmd --reload
  4. 为每个虚拟机分配一个静态网络地址和唯一主机名,适用于所有节点。有关为客户机虚拟机设置静态 IP 地址的详情,请参考 虚拟化部署和管理指南
  5. 对于 Red Hat Enterprise Linux 7.4 及更高版本,请使用以下命令将现有 VirtualDomain 资源转换为客户机节点。这个命令必须在集群节点中运行,而不必在要添加的客户端节点中运行。除了转换资源外,这个命令会将 /etc/pacemaker/authkey 复制到客户机节点,并在客户机节点上启动并启用 pacemaker_remote 守护进程。
    pcs cluster node add-guest hostname resource_id [options]
    
    对于 Red Hat Enterprise Linux 7.3 及更早版本,使用以下命令将现有的 VirtualDomain 资源转换为客户机节点。这个命令必须在集群节点中运行,而不必在要添加的客户端节点中运行。
    pcs cluster remote-node add hostname resource_id [options]
    
  6. 创建 VirtualDomain 资源后,您可以像在集群中的任何其他节点一样对待客户机节点。例如,您可以创建资源并在客户机节点中运行的资源上放置资源约束,如下命令可在集群节点中运行。从 Red Hat Enterprise Linux 7.3 开始,您可以在组中包括客户机节点,它们允许您对存储设备、文件系统和虚拟机进行分组。
    # pcs resource create webserver apache configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
    # pcs constraint location webserver prefers guest1