高可用性(High Availability,简称HA)是指通过技术手段确保系统尽可能长时间地正常运行。在Linux系统中,可以通过多种方式实现高可用性,如使用Heartbeat、Corosync和Pacemaker等工具来构建集群环境。
以下是基于Corosync和Pacemaker的Linux HA配置指南:
在每台服务器上安装Corosync和Pacemaker:
sudo yum install -y pacemaker pcs corosync resource-agents fence-agents-all
sudo apt-get update
sudo apt-get install -y pacemaker pcs corosync resource-agents fence-agents
设置集群管理工具pcs的密码:
sudo passwd hacluster
启动并启用pcs服务:
sudo systemctl start pcsd
sudo systemctl enable pcsd
确保每台服务器之间可以无密码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
添加一个简单的资源,例如一个虚拟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>
关闭其中一台服务器上的服务,观察另一台服务器是否接管了资源:
sudo pcs cluster stop <node1>
等待一段时间后检查资源是否成功切换到另一台服务器。