Linux系统如何配置HA

2025-04发布26次浏览

Linux系统如何配置高可用性(HA)

高可用性(High Availability,简称HA)是指通过技术手段确保系统尽可能长时间地正常运行。在Linux系统中,可以通过多种方式实现高可用性,如使用Heartbeat、Corosync和Pacemaker等工具来构建集群环境。

以下是基于Corosync和Pacemaker的Linux HA配置指南:

1. 准备工作

环境准备

  • 至少两台Linux服务器(可以是虚拟机)
  • 每台服务器上安装CentOS/Ubuntu或其他Linux发行版
  • 配置好静态IP地址
  • 关闭防火墙或配置允许相关端口通信

2. 安装必要的软件包

在每台服务器上安装Corosync和Pacemaker:

在CentOS/RHEL上:

sudo yum install -y pacemaker pcs corosync resource-agents fence-agents-all

在Ubuntu/Debian上:

sudo apt-get update
sudo apt-get install -y pacemaker pcs corosync resource-agents fence-agents

3. 配置集群认证

设置集群管理工具pcs的密码:

sudo passwd hacluster

启动并启用pcs服务:

sudo systemctl start pcsd
sudo systemctl enable pcsd

4. 配置集群

设置无密码SSH访问

确保每台服务器之间可以无密码SSH访问。在一台服务器上生成SSH密钥并复制到另一台服务器:

ssh-keygen -t rsa
ssh-copy-id root@<other_server_ip>

初始化集群

在其中一台服务器上执行以下命令初始化集群:

sudo pcs cluster auth <node1> <node2> -u hacluster -p <password> --force

创建集群:

sudo pcs cluster setup --name myhacluster <node1> <node2> --force

启动集群:

sudo pcs cluster start --all

检查集群状态:

sudo pcs status

5. 配置资源

添加一个简单的资源,例如一个虚拟IP地址:

sudo pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s

配置资源的故障转移策略:

sudo pcs constraint location VirtualIP prefers <node1>

6. 测试集群

关闭其中一台服务器上的服务,观察另一台服务器是否接管了资源:

sudo pcs cluster stop <node1>

等待一段时间后检查资源是否成功切换到另一台服务器。

扩展知识

  • Corosync:负责节点间的消息传递和集群成员管理。
  • Pacemaker:负责资源管理和故障恢复策略。
  • Fence设备:用于在节点故障时隔离节点,防止脑裂现象。