温馨提示×

centos虚拟机集群搭建步骤是什么

小樊
40
2026-01-07 21:18:46
栏目: 云计算

CentOS 虚拟机集群搭建步骤

一 环境准备与规划

  • 宿主机准备:安装虚拟化软件(推荐 VirtualBoxVMware Workstation),预留磁盘空间(例如每台 ≥100GB)、内存与 CPU 资源。
  • 系统镜像:选择 CentOS 7/8(Minimal 或 DVD 镜像)。
  • 节点规划:至少 3 台(如 node1/node2/node3),便于通用中间件与分布式系统部署。
  • 网络规划:使用 Host-Only/Private NetworkNAT;为每台机器配置固定 IP、统一 主机名/etc/hosts 映射,便于互通与后续服务发现。
  • 工具选择:可手工在 VMware/VirtualBox 安装,也可使用 Vagrant 编排快速生成多台虚拟机。

二 快速起步 Vagrant 编排

  • 安装 VirtualBox 与 Vagrant;创建项目目录并初始化:
    mkdir ~/centos-cluster && cd ~/centos-cluster && vagrant init
  • 编辑 Vagrantfile(示例创建 3 台 CentOS 7 节点,使用私有网络):
    Vagrant.configure("2") do |config|
      (1..3).each do |i|
        config.vm.define "node#{i}" do |node|
          node.vm.box = "centos/7"
          node.vm.hostname = "node#{i}"
          node.vm.network "private_network", ip: "192.168.56.#{100+i}"
          node.vm.provider "virtualbox" do |v|
            v.name = "node#{i}"
            v.memory = 2048
            v.cpus = 1
          end
        end
      end
    end
    
  • 启动集群:vagrant up(首次会自动下载 box;若下载慢,可手动构造下载链接:
    https://app.vagrantup.com/centos/boxes/7/versions/<版本号>/providers/virtualbox.box)。
  • 常见问题:共享目录挂载报错 “mount: unknown filesystem type ‘vboxsf’”,安装增强插件:vagrant plugin install vagrant-vbguest。

三 手工创建与克隆三节点集群(VMware/VirtualBox)

  • 安装首台 CentOS(如 node1):创建 VM → 挂载镜像 → 安装系统 → 设置 root 密码与用户。
  • 网络与静态 IP:编辑网卡配置(如 /etc/sysconfig/network-scripts/ifcfg-ens33),设置
    BOOTPROTO=static、ONBOOT=yes、IPADDR(如 192.168.88.161)、NETMASK(如 255.255.255.0)、GATEWAY(如 192.168.88.2,与 VMware NAT 网关一致)、DNS(如 8.8.8.8/114.114.114.114),重启网络(systemctl restart network)。
  • 克隆节点:关闭 node1 → 克隆两台(完整克隆)→ 分别为 node2/node3 生成新的 MAC 地址,避免冲突。
  • 分别配置 node2/node3 的静态 IP(如 192.168.88.162/163),保持网关与 DNS 一致。
  • 主机名与域名映射:
    • 每台执行:hostnamectl set-hostname nodeX(或编辑 /etc/hostname 后 reboot)。
    • 三台统一编辑 /etc/hosts
      192.168.88.161 node1 node1.itcast.cn
      192.168.88.162 node2 node2.itcast.cn
      192.168.88.163 node3 node3.itcast.cn
  • 验证:ping node2、ping node3 应互通。

四 集群通用基础配置

  • 关闭防火墙(测试环境常用,生产按需放通端口):
    systemctl stop firewalld && systemctl disable firewalld
  • 关闭 SELinux(测试环境常用,生产建议 targeted 策略与端口放通):
    编辑 /etc/selinux/config:SELINUX=disabled,重启后验证 getenforce 为 Disabled。
  • 免密登录(以 node1 免密登录 node2/node3):
    ssh-keygen -t rsa(一路回车)
    ssh-copy-id node2、ssh-copy-id node3
  • 时间同步:
    • 外网可用:crontab -e 添加 “*/1 * * * * /usr/sbin/ntpdate -u ntp4.aliyun.com”
    • 无外网:以 node1NTP 服务器,其他节点同步 node1。
  • 安装 JDK(三台一致):
    上传 jdk-8u241-linux-x64.tar.gz/export/software → 解压至 /export/server → 配置 /etc/profile
    export JAVA_HOME=/export/server/jdk1.8.0_241
    export PATH=$PATH:$JAVA_HOME/bin
    source /etc/profile && java -version

五 验证与常见网络模式选择

  • 连通性验证:
    ping node2、ping node3;ssh node2 应无需密码;date 对比各节点时间差。
  • 网络模式要点:
    • 桥接(Bridged):虚拟机处于与宿主机同一网段,IP 随所处网络变化,换网需重配。
    • NAT:通过 VMnet8 访问外网,虚拟网段固定,网关常为 x.x.x.2,适合稳定内网实验。
    • Host-Only/Private Network:仅宿主机与虚拟机互通,适合隔离的集群环境。
  • 排错提示:
    • 静态 IP 不通:核对 GATEWAY/DNS 与 VMware 虚拟网络编辑器设置。
    • 共享目录挂载失败:安装 vagrant-vbguest 插件或改用 NFS/SFTP 同步。
    • 克隆后网卡名变化:确认网卡配置文件名与实际接口一致(如 ens33/eth0)。

0