上一篇
如何两台电脑创建集群 linux
- Linux
- 2025-07-14
- 2255
Linux 中,两台电脑创建集群可通过以下步骤:安装并配置相关软件(如 Hadoop、Kubernetes 等),设置网络连接确保互通,配置节点信息
Linux系统中,将两台电脑创建为集群可以实现资源的共享、负载均衡以及高可用性等功能,以下是详细的步骤:
前期准备
- 硬件要求
- 确保两台电脑性能相当,具备足够的内存、CPU和存储资源,以支持集群运行所需的服务和应用。
- 两台电脑应连接到同一个网络,网络稳定且带宽满足数据传输需求。
- 软件环境
- 在两台电脑上安装相同版本的Linux操作系统,如CentOS、Ubuntu等,并确保系统已更新到最新状态。
- 安装必要的软件包,如SSH服务(用于远程管理和节点间通信)、NFS(可选,用于文件共享)等。
网络配置
- 设置静态IP地址
- 为两台电脑分别设置静态IP地址,确保IP地址在同一网段内,且不会与其他设备冲突,电脑A的IP地址设置为192.168.1.100,电脑B的IP地址设置为192.168.1.101,子网掩码均为255.255.255.0,网关设置为192.168.1.1。
- 修改网卡配置文件,在
/etc/sysconfig/network-scripts/
目录下找到对应的网卡配置文件(如ifcfg-eth0),使用文本编辑器打开并修改IPADDR、NETMASK和GATEWAY等参数。
- 配置主机名解析
- 在两台电脑上编辑
/etc/hosts
文件,添加对方电脑的IP地址和主机名映射,在电脑A的/etc/hosts
文件中添加168.1.101 nodeB
,在电脑B的/etc/hosts
文件中添加168.1.100 nodeA
。
- 在两台电脑上编辑
- 测试网络连通性
- 使用
ping
命令测试两台电脑之间的网络连通性,在电脑A上执行ping nodeB
,在电脑B上执行ping nodeA
,确保能够正常通信。
- 使用
SSH免密登录配置
- 生成SSH密钥对
- 在电脑A上执行
ssh-keygen -t rsa
命令,一路回车生成公钥和私钥,私钥保存在/root/.ssh/id_rsa
,公钥保存在/root/.ssh/id_rsa.pub
。
- 在电脑A上执行
- 分发公钥到电脑B
- 使用
ssh-copy-id nodeB
命令将电脑A的公钥复制到电脑B的/root/.ssh/authorized_keys
文件中。
- 使用
- 验证免密登录
- 在电脑A上执行
ssh nodeB
,如果能够直接登录到电脑B而无需输入密码,则说明SSH免密登录配置成功。
- 在电脑A上执行
安装集群管理软件
- 选择集群管理工具
常见的集群管理工具有Pacemaker、Corosync、Keepalived等,根据实际需求选择合适的工具,这里以Pacemaker为例。
- 安装Pacemaker及相关组件
- 在两台电脑上执行
yum install -y pacemaker pcs fence-agents-all
命令安装Pacemaker及其相关组件。
- 在两台电脑上执行
创建集群
- 初始化集群认证
- 在电脑A上执行
pcs cluster auth nodeA nodeB
命令,根据提示输入两台电脑的密码,完成集群认证。
- 在电脑A上执行
- 设置集群名称和节点
- 执行
pcs cluster setup --name mycluster nodeA nodeB
命令,创建名为mycluster
的集群,并将电脑A和电脑B添加为集群节点。
- 执行
- 启动集群
- 执行
pcs cluster start --all
命令启动集群。
- 执行
配置集群资源
- 配置虚拟IP地址
- 执行
pcs resource create VIP ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=30s
命令,创建一个虚拟IP地址资源VIP
,其IP地址为192.168.1.200,子网掩码为255.255.255.0,监控间隔为30秒。
- 执行
- 配置共享存储(可选)
- 如果需要共享存储,可以在一台电脑(如电脑A)上配置NFS服务器,将指定的目录共享出来,在电脑B上执行
mount -t nfs 192.168.1.100:/shared /mnt
命令挂载共享目录。
- 如果需要共享存储,可以在一台电脑(如电脑A)上配置NFS服务器,将指定的目录共享出来,在电脑B上执行
- 配置服务资源
- 例如配置Apache服务资源,执行
pcs resource create apache ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl="http://192.168.1.200/server-status" op monitor interval=30s
命令。
- 例如配置Apache服务资源,执行
测试与监控
- 模拟故障切换
- 在集群中模拟一台服务器故障,如关闭电脑A的Pacemaker服务(
systemctl stop pacemaker
),观察虚拟IP地址和服务是否自动切换到电脑B上。
- 在集群中模拟一台服务器故障,如关闭电脑A的Pacemaker服务(
- 监控集群状态
- 使用
pcs status
命令查看集群的状态,包括节点状态、资源状态等。
- 使用
以下是一个简单的配置示例表格:
步骤 | 命令 | 说明 |
---|---|---|
设置静态IP(电脑A) | nmcli con mod "System eth0" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4" |
修改电脑A的网卡eth0的IP地址、网关和DNS |
设置静态IP(电脑B) | nmcli con mod "System eth0" ipv4.addresses 192.168.1.101/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4" |
修改电脑B的网卡eth0的IP地址、网关和DNS |
生成SSH密钥对(电脑A) | ssh-keygen -t rsa |
生成SSH密钥对 |
分发公钥到电脑B(电脑A) | ssh-copy-id nodeB |
将电脑A的公钥复制到电脑B |
安装Pacemaker(两台电脑) | yum install -y pacemaker pcs fence-agents-all |
安装Pacemaker及相关组件 |
初始化集群认证(电脑A) | pcs cluster auth nodeA nodeB |
进行集群认证 |
设置集群名称和节点(电脑A) | pcs cluster setup --name mycluster nodeA nodeB |
创建集群并添加节点 |
启动集群(电脑A) | pcs cluster start --all |
启动集群 |
配置虚拟IP地址(电脑A) | pcs resource create VIP ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=30s |
创建虚拟IP地址资源 |
FAQs
问题1:集群创建完成后,如何添加新的节点?
答:若要添加新节点,首先确保新节点的网络配置正确,能够与现有集群节点通信,然后在新节点上安装与集群相同的操作系统和集群管理软件,接着在现有集群的管理节点上执行相应的命令来添加新节点,例如对于Pacemaker集群,可以使用pcs cluster auth
命令进行认证,再使用pcs cluster setup
命令将新节点添加到集群中,最后根据需要配置新节点的资源和服务。
问题2:集群运行过程中出现节点故障如何处理?
答:当集群中的某个节点出现故障时,集群管理软件会自动检测到并根据预设的策略进行处理,例如在使用Pacemaker的集群中,如果一个节点故障,它所承载的资源(如虚拟IP地址、服务等)会自动迁移到其他健康的节点上,以保证服务的连续性,系统管理员可以通过pcs status
等命令查看集群状态和故障节点的信息,以便进一步排查故障原因并进行修复,修复后,节点可以重新加入集群恢复正常