温馨提示×

ubuntu虚拟机集群搭建方法

小樊
41
2025-12-08 12:56:52
栏目: 云计算

Ubuntu 虚拟机集群搭建方法

一 方案总览与准备

  • 目标:在本地或服务器上用虚拟化平台快速搭建可复用的 Ubuntu 虚拟机集群,用于学习、开发或测试分布式系统。
  • 虚拟化平台选型与网络模式要点:
    • 平台:VMware Workstation/VirtualBox/KVM/Hyper‑V(功能、性能与易用性取舍)。
    • 网络:
      • 桥接:与宿主机同网段,便于被外部访问。
      • NAT:共享宿主机上网,默认外部不可直达,适合大多数练习环境。
      • 内部网络:仅虚拟机之间互通,隔离性最好。
  • 建议最小集群:1 个控制/主节点 + 2 个工作节点,便于多数分布式组件部署与验证。

二 模板机与网络配置

  • 创建模板机
    • 安装 Ubuntu Server 22.04/20.04 LTS(桌面版亦可),安装时勾选或后续安装 OpenSSH Server,便于远程管理。
    • 建议资源:每节点 2–4 核 CPU、4–8 GB 内存、40–60 GB 磁盘(按组件负载调整)。
  • 配置静态 IP(以 Ubuntu 22.04 netplan 为例)
    • 查看网卡名:ip a;编辑 /etc/netplan/*.yaml(如 01-network-manager-all.yaml)。
    • 示例(VMware NAT 网段示例,网关末位通常为 .2):
      • 网络规划:子网 192.168.144.0/24,网关 192.168.144.2,模板机 192.168.144.100
      • 配置要点:
        • 关闭 DHCP、设置 addresses、routes、nameservers。
        • 应用:sudo netplan apply;验证:ip a、ping 网关、ping 外网。
  • 主机名与 hosts 解析
    • 设置主机名:sudo hostnamectl set-hostname base(示例)。
    • 统一解析:编辑 /etc/hosts
      • 192.168.144.100 base
      • 192.168.144.101 node1
      • 192.168.144.102 node2
      • 192.168.144.103 node3
    • 验证:ping base、ping node1 等互通。

三 克隆与节点初始化

  • 克隆节点
    • 模板机关机后执行“完全克隆”,分别得到 node1/node2/node3 等。
    • 启动各节点后,仅修改其 IP 与 hostname(保持 hosts 一致)。
  • 批量修改示例(以 node1 为例)
    • 修改 netplan 的 addresses 为 192.168.144.101/24,应用:sudo netplan apply。
    • 设置主机名:sudo hostnamectl set-hostname node1;重启或重新登录使其生效。
  • 统一检查
    • 各节点执行:ip a、hostname、ping 网关、ping 其他节点,确保二层/三层互通。

四 SSH 免密与集群分发

  • 安装与启动 SSH
    • 各节点:sudo apt-get update && sudo apt-get install -y openssh-server
    • 检查:sudo systemctl status ssh(或 ps -e | grep ssh)
  • 免密登录(控制节点 base 对全体节点)
    • 生成密钥:ssh-keygen -t rsa -b 4096(回车默认即可)
    • 分发公钥到所有节点(含自身):
      • ssh-copy-id base
      • ssh-copy-id node1
      • ssh-copy-id node2
      • ssh-copy-id node3
    • 验证:ssh node1、ssh node2、ssh node3 无需密码。
  • 简易分发脚本(在 base 上)
    • 示例:for h in node{1…3}; do scp -r /opt/app $h:/opt/; done
    • 如需统一执行:for h in node{1…3}; do ssh $h “sudo systemctl restart nginx”; done。

五 三种常见集群快速落地

  • 大数据与通用计算:Hadoop 集群
    • 前置:完成上述网络、SSH、hosts。
    • 步骤:安装 Java,下载解压 Hadoop,配置 core-site.xml/hdfs-site.xml/yarn-site.xml,设置 SSH 免密,格式化 NameNode 并启动 HDFS/YARN
    • 可选:部署 Ganglia/Ambari 做监控与管理。
  • 容器编排:Kubernetes 集群
    • 前置:各节点安装 Docker/containerd,安装 kubeadm/kubelet/kubectl
    • 步骤:在控制节点执行 kubeadm init(指定 Pod 网段),按提示配置 kubectl;工作节点执行 kubeadm join 加入集群;安装 CNI 插件(如 Calico/Flannel)。
  • 数据库高可用:MySQL 集群
    • 方案选型:
      • 主从复制:一主多从,读写分离。
      • Galera Cluster:多主同步复制,强一致。
      • NDB Cluster:管理节点/数据节点/SQL 节点分离,分布式存储。

六 共享存储与常见问题

  • 共享存储方案
    • NFS:轻量易用,适合共享配置/数据目录。
    • iSCSI:块存储,适合数据库或需要裸盘性能的场景。
    • CIFS/SMB:与 Windows 互通。
  • 常见问题与排查
    • 静态 IP 不生效:检查 netplan 缩进/YAML 语法、网卡名(如 ens33/enp0s3)、网关与 DNS;执行 sudo netplan try 更稳妥。
    • 节点不通:核对 /etc/hosts、子网掩码、网关;同一虚拟网络模式;防火墙(sudo ufw disable 或放行端口)。
    • SSH 仍要密码:确认 ~/.ssh/authorized_keys 包含公钥、目录权限 700、文件 600;首次连接 yes 记录 known_hosts。
    • 克隆后网卡名变化:使用 netplan 的匹配规则或 udev 规则固定名称,避免配置漂移。

0