当前位置:首页 > Linux > 正文

如何两台电脑创建集群 linux

Linux 中,两台电脑创建集群可通过以下步骤:安装并配置相关软件(如 Hadoop、Kubernetes 等),设置网络连接确保互通,配置节点信息

Linux系统中,将两台电脑创建为集群可以实现资源的共享、负载均衡以及高可用性等功能,以下是详细的步骤:

前期准备

  1. 硬件要求
    • 确保两台电脑性能相当,具备足够的内存、CPU和存储资源,以支持集群运行所需的服务和应用。
    • 两台电脑应连接到同一个网络,网络稳定且带宽满足数据传输需求。
  2. 软件环境
    • 在两台电脑上安装相同版本的Linux操作系统,如CentOS、Ubuntu等,并确保系统已更新到最新状态。
    • 安装必要的软件包,如SSH服务(用于远程管理和节点间通信)、NFS(可选,用于文件共享)等。

网络配置

  1. 设置静态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等参数。
  2. 配置主机名解析
    • 在两台电脑上编辑/etc/hosts文件,添加对方电脑的IP地址和主机名映射,在电脑A的/etc/hosts文件中添加168.1.101 nodeB,在电脑B的/etc/hosts文件中添加168.1.100 nodeA
  3. 测试网络连通性
    • 使用ping命令测试两台电脑之间的网络连通性,在电脑A上执行ping nodeB,在电脑B上执行ping nodeA,确保能够正常通信。

SSH免密登录配置

  1. 生成SSH密钥对
    • 在电脑A上执行ssh-keygen -t rsa命令,一路回车生成公钥和私钥,私钥保存在/root/.ssh/id_rsa,公钥保存在/root/.ssh/id_rsa.pub
  2. 分发公钥到电脑B
    • 使用ssh-copy-id nodeB命令将电脑A的公钥复制到电脑B的/root/.ssh/authorized_keys文件中。
  3. 验证免密登录
    • 在电脑A上执行ssh nodeB,如果能够直接登录到电脑B而无需输入密码,则说明SSH免密登录配置成功。

安装集群管理软件

  1. 选择集群管理工具

    常见的集群管理工具有Pacemaker、Corosync、Keepalived等,根据实际需求选择合适的工具,这里以Pacemaker为例。

    如何两台电脑创建集群 linux  第1张

  2. 安装Pacemaker及相关组件
    • 在两台电脑上执行yum install -y pacemaker pcs fence-agents-all命令安装Pacemaker及其相关组件。

创建集群

  1. 初始化集群认证
    • 在电脑A上执行pcs cluster auth nodeA nodeB命令,根据提示输入两台电脑的密码,完成集群认证。
  2. 设置集群名称和节点
    • 执行pcs cluster setup --name mycluster nodeA nodeB命令,创建名为mycluster的集群,并将电脑A和电脑B添加为集群节点。
  3. 启动集群
    • 执行pcs cluster start --all命令启动集群。

配置集群资源

  1. 配置虚拟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秒。
  2. 配置共享存储(可选)
    • 如果需要共享存储,可以在一台电脑(如电脑A)上配置NFS服务器,将指定的目录共享出来,在电脑B上执行mount -t nfs 192.168.1.100:/shared /mnt命令挂载共享目录。
  3. 配置服务资源
    • 例如配置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命令。

测试与监控

  1. 模拟故障切换
    • 在集群中模拟一台服务器故障,如关闭电脑A的Pacemaker服务(systemctl stop pacemaker),观察虚拟IP地址和服务是否自动切换到电脑B上。
  2. 监控集群状态
    • 使用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等命令查看集群状态和故障节点的信息,以便进一步排查故障原因并进行修复,修复后,节点可以重新加入集群恢复正常

0