4、部署环境准备:物理服务器选型建议、BIOS虚拟化设置、Ubuntu Server 22.04 LTS安装、网络规划

好,环境准备这块,我把它看作是整个虚拟化大厦的地基。地基没打好,后面楼盖得再高也悬。这一章咱们就把物理服务器、BIOS、操作系统和网络这四件事儿捋清楚。

4.1 物理服务器选型建议

选服务器,说白了就是选「CPU、内存、存储、网卡」这四大件。我这些年经手过的项目,从几台的小集群到上百台的数据中心,踩过的坑不少,给你几个实在的建议。

核心原则:虚拟化场景下,CPU核心数 > 主频,内存容量 > 频率,存储IOPS > 容量,网卡带宽 > 数量。

4.1.1 CPU选型

  • 必须支持硬件虚拟化:Intel VT-x 或 AMD-V。这是底线,没有这个你连Hypervisor都跑不起来。
  • 核心数:我个人习惯,至少16核起步。你想想看,一个物理核通常能承载4-8个轻量级虚拟机,核心数不够后面扩容很痛苦。
  • 型号推荐:Intel Xeon Silver/Gold系列,或者AMD EPYC系列。EPYC的性价比在虚拟化场景下确实能打。

我的经验:曾经有个项目为了省钱买了桌面级CPU,结果跑3台虚拟机就开始卡顿。后来换了Xeon Gold,同样的负载跑了12台还很稳。这笔钱不能省。

4.1.2 内存与存储

组件 最低配置 推荐配置 备注
内存 64GB 128GB+ ECC内存必须,RDIMM优先
系统盘 240GB SSD 480GB NVMe 用于安装Ubuntu Server
数据盘 1TB HDD 2TB+ NVMe/SSD 存放虚拟机镜像和数据
网卡 1Gbps x2 10Gbps x2+ 建议Intel X710或Mellanox

嗯,这里要注意:数据盘强烈建议用NVMe SSD。我在项目中遇到过用SATA SSD跑数据库虚拟机,IO延迟高得离谱,换成NVMe后性能直接翻倍。

4.2 BIOS虚拟化设置

服务器买回来,第一件事不是装系统,是进BIOS。很多新手栽在这一步——系统装好了才发现虚拟化没开。

4.2.1 必须开启的选项

  1. Intel VT-x / AMD-V:通常在「Processor Configuration」或「CPU Configuration」下。
  2. VT-d:Intel的定向I/O虚拟化技术。如果你打算做PCIe直通,这个必须开。
  3. Execute Disable Bit (XD):硬件防溢出保护,建议开启。
  4. SR-IOV Support:如果网卡支持,开启后可以大幅提升网络性能。

避坑指南:我曾经在一台Dell R740上折腾了半小时,发现VT-x选项是灰色的。后来查手册才知道,必须先关闭「Trusted Execution Technology (TXT)」才能解锁VT-x。不同厂商的BIOS逻辑不一样,建议先看手册。

4.2.2 常见服务器BIOS路径

服务器品牌 BIOS路径 关键选项
Dell PowerEdge System BIOS → Processor Settings Virtualization Technology, VT-d
HPE ProLiant System Configuration → BIOS/Platform Configuration Intel (R) Virtualization Technology
Supermicro Advanced → CPU Configuration VMX, VT-d
Lenovo ThinkSystem System Settings → Processors Intel Virtualization Technology

4.3 Ubuntu Server 22.04 LTS安装

系统安装这块,我推荐Ubuntu Server 22.04 LTS。为什么?因为它的内核版本新(5.15+),对KVM和Docker的支持非常成熟,而且社区活跃,遇到问题好找答案。

4.3.1 安装步骤

  1. 下载镜像:从ubuntu.com下载ubuntu-22.04.3-live-server-amd64.iso。
  2. 制作启动盘:用Rufus(Windows)或dd命令(Linux)写入U盘。
  3. 启动安装:选择「Try or Install Ubuntu Server」。
  4. 语言和键盘:默认English,键盘选US。
  5. 网络配置:先配一个临时IP,后面我们会详细规划。
  6. 磁盘分区:我建议手动分区,至少分三个区:
分区方案(推荐):
/boot     - 1GB    - ext4
/         - 50GB   - ext4    (系统根目录)
/var      - 100GB  - ext4    (日志和虚拟机数据)
swap      - 16GB   - swap    (内存的1-2倍)
/data     - 剩余空间 - ext4   (虚拟机镜像存储)

我的习惯:把/var单独分区,因为虚拟机日志和快照文件都在这里。曾经有个同事没分/var,结果日志把根分区写满了,整个系统直接挂掉。嗯,血的教训。

  1. 设置用户名和密码:建议用强密码,或者直接配SSH密钥。
  2. 安装OpenSSH Server:勾选这个,方便后续远程管理。
  3. 安装完成,重启。

4.3.2 安装后基础配置

系统装好后,先做几件事:

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装常用工具
sudo apt install -y vim net-tools htop iotop curl wget

# 关闭防火墙(如果是在内网环境)
sudo ufw disable

# 设置主机名
sudo hostnamectl set-hostname hypervisor-01

4.4 网络规划

网络规划是虚拟化部署中最容易被低估的环节。你想想看,所有虚拟机之间的通信、对外服务、管理访问,全都要走网络。规划不好,后面全是坑。

4.4.1 网络架构设计

我推荐使用「管理网络 + 业务网络 + 存储网络」三网分离的方案。说白了就是物理上或逻辑上把三种流量隔开。

虚拟化网络规划拓扑 物理服务器 Ubuntu Server 22.04 管理网卡 eth0 / ens33 IP: 192.168.1.0/24 SSH / Web管理 业务网卡 eth1 / ens34 IP: 10.0.0.0/24 虚拟机对外服务 存储网卡 eth2 / ens35 IP: 192.168.100.0/24 NFS / iSCSI 管理交换机 业务交换机 存储交换机 网络隔离建议 管理网、业务网、存储网使用不同VLAN或物理交换机隔离 存储网络建议使用10Gbps以上链路,避免成为性能瓶颈

4.4.2 IP地址规划表

网络类型 网段 网关 用途
管理网络 192.168.1.0/24 192.168.1.1 SSH管理、Web UI、监控
业务网络 10.0.0.0/24 10.0.0.1 虚拟机对外提供服务
存储网络 192.168.100.0/24 192.168.100.1 NFS/iSCSI存储通信
虚拟机内部网络 172.16.0.0/16 — 虚拟机之间内部通信

注意:存储网络建议使用独立的物理网卡和交换机。我在项目中遇到过把存储流量和管理流量混在一起,结果一次大流量备份直接把管理SSH给卡死了。嗯,从那以后我再也不混用了。

4.4.3 Ubuntu网络配置

Ubuntu Server 22.04使用netplan管理网络。配置文件在/etc/netplan/目录下。

# /etc/netplan/00-installer-config.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]
    ens34:
      dhcp4: no
      addresses:
        - 10.0.0.10/24
    ens35:
      dhcp4: no
      addresses:
        - 192.168.100.10/24

# 应用配置
sudo netplan apply

小技巧:配置完netplan后,用sudo netplan try先测试,如果SSH没断再apply。我曾经手滑写错网关,结果远程服务器直接失联,只能跑机房去接显示器。别问我怎么知道的。

4.5 验证环境

所有配置完成后,做一次快速验证:

# 检查CPU虚拟化支持
grep -E "vmx|svm" /proc/cpuinfo

# 检查内存
free -h

# 检查磁盘
lsblk

# 检查网络连通性
ping -c 4 192.168.1.1
ping -c 4 10.0.0.1
ping -c 4 192.168.100.1

如果以上命令都正常输出,恭喜你,环境准备阶段就完成了。接下来我们就可以开始安装Hypervisor和部署虚拟机了。