插件窝 干货文章 从基础开始linux搭建集群

从基础开始linux搭建集群

集群 节点 配置 node2 429    来源:    2025-05-15

Linux集群搭建基础指南

1. 集群基础概念

集群(Cluster)是将多台计算机连接起来协同工作,作为一个整体系统对外提供服务。主要优势包括: - 高可用性:单点故障不影响整体服务 - 负载均衡:分散工作负载 - 可扩展性:可灵活增加节点 - 高性能:并行处理能力

2. 准备工作

硬件要求

  • 至少2台或多台服务器(物理机或虚拟机)
  • 相同的网络环境(建议千兆或更高)
  • 相似的硬件配置(CPU架构、内存等)

软件要求

  • Linux操作系统(推荐CentOS/RHEL 7+或Ubuntu 18.04+)
  • SSH服务
  • 一致的软件环境

3. 基础集群搭建步骤

3.1 网络配置

  1. 设置静态IP

    # CentOS/RHEL
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    
    # Ubuntu
    vi /etc/netplan/01-netcfg.yaml
    
  2. 配置主机名

    hostnamectl set-hostname node1  # 第一台设为node1
    hostnamectl set-hostname node2  # 第二台设为node2
    
  3. 修改hosts文件

    vi /etc/hosts
    # 添加如下内容(根据实际IP修改)
    192.168.1.101 node1
    192.168.1.102 node2
    

3.2 SSH无密码登录配置

  1. 在所有节点生成SSH密钥:

    ssh-keygen -t rsa
    
  2. 将公钥复制到其他节点:

    ssh-copy-id node1
    ssh-copy-id node2
    
  3. 测试SSH连接:

    ssh node2  # 从node1连接到node2
    

3.3 时间同步(NTP)

# CentOS/RHEL
yum install -y ntp
systemctl enable ntpd
systemctl start ntpd

# Ubuntu
apt install -y ntp
systemctl enable ntp
systemctl start ntp

4. 常见集群方案

4.1 高可用集群(HA Cluster)

使用Pacemaker+Corosync:

# 在所有节点安装
yum install -y pacemaker pcs corosync fence-agents-all

# 启动服务
systemctl enable pcsd
systemctl start pcsd

# 设置hacluster密码
passwd hacluster

# 在一个节点上认证
pcs cluster auth node1 node2 -u hacluster -p password

# 创建集群
pcs cluster setup --name my_cluster node1 node2
pcs cluster start --all
pcs cluster enable --all

4.2 负载均衡集群

使用Nginx作为负载均衡器:

# 在负载均衡节点安装Nginx
yum install -y nginx

# 配置负载均衡
vi /etc/nginx/nginx.conf
# 添加类似配置:
http {
    upstream backend {
        server node1:80;
        server node2:80;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
        }
    }
}

4.3 分布式存储集群

使用GlusterFS:

# 在所有节点安装
yum install -y glusterfs-server
systemctl enable glusterd
systemctl start glusterd

# 在一个节点上执行
gluster peer probe node2

# 创建分布式卷
gluster volume create gv0 replica 2 node1:/data/brick1/gv0 node2:/data/brick1/gv0
gluster volume start gv0

5. 测试与验证

  1. 网络连通性测试

    ping node2
    
  2. SSH连接测试

    ssh node2 hostname
    
  3. 集群状态检查

    # Pacemaker集群
    pcs status
    
    # GlusterFS集群
    gluster peer status
    gluster volume info
    

6. 进阶配置建议

  1. 监控系统:安装Prometheus+Grafana监控集群状态
  2. 配置管理:使用Ansible统一管理集群配置
  3. 日志集中:搭建ELK(Elasticsearch+Logstash+Kibana)日志系统
  4. 容器化:考虑使用Kubernetes管理容器化应用

7. 常见问题解决

  1. SSH连接失败

    • 检查防火墙:systemctl stop firewalldufw disable
    • 检查SELinux:setenforce 0
  2. 集群节点无法通信

    • 检查网络连接和路由
    • 验证hosts文件配置
    • 检查端口是否开放(如Corosync使用5404-5405)
  3. 资源无法启动

    • 检查依赖关系:pcs resource debug-start resource_name
    • 查看日志:journalctl -xe

通过以上步骤,您可以建立一个基础的Linux集群环境。根据实际需求,可以进一步扩展和优化集群配置。