一、VM 之间的"网线"怎么接
小陈看着 VM 配置里的"网络"一栏,发出灵魂提问:"师傅,VM 是一台'虚拟电脑',它没有真实的网线插口,那它是怎么上网的?"
老周笑了,画了一张图:
物理网络 vs 虚拟网络:
物理网络: 虚拟网络:
┌────────┐ ┌──────────────────────┐
│ 电脑1 │──网线──┐ │ VM1 VM2 VM3 │
└────────┘ │ │ │ │ │ │
┌────────┐ ┌────┴───┐ │ └──┬──┘ │ │
│ 电脑2 │───│ 物理交换机 │ │ ┌──┴───┐ │ │
└────────┘ └────────┘ │ │ vSwitch(虚拟交换机)│
│ └──┬───┘ │ │
├──────┼─────────┼──────┤
│ 物理网卡 │ │
└──────┼─────────┘ │
▼ │
(连到真实网络) │
└──────────────────────┘
"虚拟交换机(vSwitch, Virtual Switch)是运行在 ESXi 里的'软件交换机'——VM 的虚拟网卡插到 vSwitch 的端口上,vSwitch 负责在 VM 之间转发数据,就像物理交换机在电脑之间转发一样。VM 之间互相通信根本不需要出物理机,直接在 vSwitch 内部就完成了。"
二、vSwitch 的结构:端口组与上行链路
"vSwitch 有两个关键部件:端口组和上行链路。"老周说:
vSwitch 结构:
┌───────────────────────────────┐
│ vSwitch0(第一个虚拟交换机) │
│ ┌───────────┬──────────────┐ │
│ │ 端口组A │ 端口组B │ │ ← 端口组 = 一组"插孔"
│ │ (VM网络) │ (管理网络) │ │
│ └───────────┴──────────────┘ │
│ ┌─────────────────────────┐ │
│ │ 上行链路(Uplink) │ │ ← 连物理网卡
│ └────────────┬────────────┘ │
└───────────────┼────────────────┘
▼
物理交换机(真实网络)
端口组(Port Group):
一组虚拟端口,定义了"这个网络的属性"(VLAN、策略)
VM 网卡连到哪个端口组,就加入哪个"虚拟局域网"
上行链路(Uplink):
vSwitch 连到物理网卡的口
没有上行链路 = VM 只能内部互连,出不了这台物理机
"核心概念:端口组(Port Group)就是 VM 接入网络的'插座'。 你在 vCenter 里给 VM 配网卡时,选的就是一个端口组——选对了,VM 就加入了对应的网络。"
三、标准交换机 vs 分布式交换机
"vSwitch 分两种,考试和实战都要区分。"老周说:
标准交换机(vSS, Standard Switch):
- 每台 ESXi 各自独立配置
- 缺点:3 台 ESXi 要配 3 遍(还容易配得不一样)
- 适合:单机、小规模
分布式交换机(vDS, Distributed Switch):
- 由 vCenter 统一配置,所有 ESXi 共享同一个配置
- 一台 vDS 管整个集群的网络(配一次,全部生效)
- 功能更强(网络 IO 控制、端口镜像等)
- 适合:多台 ESXi 的集群(生产标准)
云间书店:上了 vCenter + 多台 ESXi 之后,改用 vDS
"小规模用 vSS,集群必须 vDS——这是 VMware 网络规划的基本功。vDS 让整个集群的网络配置'一处修改,处处生效',还能精细控制每台 VM 的网络带宽。"
四、VLAN:把一个大网络切成"隔离的小房间"
"现在到最烧脑的部分:VLAN。"老周说,"云间书店现在 7 台 VM 都在一个网络里,谁都看得见谁。但如果 Web 服务器被攻破,黑客就能顺着网络摸到数据库——太危险了!我们需要隔离。"
VLAN(Virtual LAN,虚拟局域网):
在物理网络里"切"出多个逻辑隔离的虚拟网络
不同 VLAN 之间默认不通(要通,得经过路由器/防火墙)
云间书店的 VLAN 规划:
VLAN 10:DMZ(对外服务)→ web-01(Nginx)
VLAN 20:内部业务 → db-01、cache-01、mq-01、file-01
VLAN 30:AI/管理 → ai-01、monitor-01
VLAN 99:管理网络 → ESXi 管理口(只有管理员能进)
隔离效果:
黑客攻破 web-01(VLAN 10)→ 想连数据库(VLAN 20)?
→ 默认不通!必须过防火墙放行特定端口。
"VLAN 的三种用法(配端口组时选):"
① VLAN 1(默认):不打标签,所有端口一个广播域
② VLAN 标准:端口组指定一个 VLAN ID(如 VLAN 20)
③ VLAN 中继(Trunk):一个物理端口带多个 VLAN 标签(给路由/防火墙用)
在 vSphere 里:
- 普通 VM 端口组:指定 VLAN ID(VM 感知不到,ESXi 自动打标签)
- 这叫"VLAN 标签由 vSwitch 处理"(VGT/VST 模式)
"记住一句话:VLAN 是虚拟化网络安全的'第一道墙'——把 Web、数据库、管理网隔开,黑客攻破一台也不至于横着走遍全内网。"
五、网络规划实战:云间书店的虚拟网络设计
小陈在老周指导下,给云间书店设计了第一版虚拟网络:
云间书店 vSphere 网络规划(vSS 阶段):
vSwitch0:
├── 端口组 DMZ(VLAN 10) → web-01(对外)
├── 端口组 业务(VLAN 20) → db/cache/mq/file
└── 端口组 管理(VLAN 99) → ESXi 管理口(VMkernel)
上行链路:2 块物理网卡(teaming 冗余:一块挂了另一块顶上)
安全规则:
DMZ 只能访问业务网的"数据库端口 3306"
业务网不能主动访问 DMZ(防数据库被外网直接打到)
管理网只允许管理员 IP 访问
"师傅,为什么要 2 块物理网卡?"小陈问。
"网卡冗余(NIC Teaming)——一块物理网卡坏了,另一块自动顶上,网络不断。虚拟化里'冗余'是常态:网卡要冗余、存储要冗余、主机要冗余(下章)。记住:单点 = 风险,冗余 = 专业。"
六、章末:老周的第四层总结
第四层:网络虚拟化
├── vSwitch:ESXi 里的"软件交换机"(VM 之间内部转发)
├── 端口组:VM 接入网络的"插座"(配 VLAN/策略的地方)
├── 上行链路:vSwitch 连物理网卡的"出口"
├── vSS vs vDS:单机用标准,集群用分布式(一处配,处处生效)
├── VLAN:逻辑隔离的虚拟网络(Web/数据库/管理网分开)
└── NIC Teaming:网卡冗余(单点=风险,冗余=专业)
"小陈,网络讲完了,你现在有 7 台 VM、分好了 VLAN、配好了冗余——但你还只有一台 ESXi。 还记得第一章说的'单点风险'吗?这台 ESXi 要是挂了,7 台 VM 全灭。"
"那怎么办?"小陈问。
"再买两台服务器,组成集群(Cluster)。"老周说,"三台 ESXi 组成一个集群:一台挂了,虚拟机在另外两台自动重启(HA);负载不均?自动平衡(DRS);要维护物理机?VM 不停机迁移(vMotion)。下一章,是虚拟化最核心、最值钱的一层——集群与高可用。"