第八章

模板、克隆与备份容灾

第七层 + 第八层 · 模板/克隆/备份/DR 一分钟开 10 台新机器 + 数据双保险

一、需求来了:开 10 台测试机

双十一前,运营小圆找到小陈:"小陈,我们要测大促活动,需要 10 台一样的测试环境,明天能给吗?"

小陈:"10 台?我从装系统开始,一台装半小时,10 台……明天加班到凌晨!"

老周拍拍他:"谁让你一台台装了?虚拟化里有'模板'和'克隆',一分钟开一台。走,教你。"


二、模板(Template):装一次系统,永远复用

"模板(Template)是 VMware 的'系统母版'——把一台装好系统、配好软件的 VM,变成一个'只读的模板',以后用它批量生成新 VM。"老周说:

模板的创建流程:
  ① 装一台"标准机":装好 OS + 常用软件 + 基本配置
  ② 清理:删临时文件、清历史、去除唯一标识(SID/MAC 等)
  ③ 转换成模板(Convert to Template):VM → 模板
  ④ 之后:从模板"实例化"新 VM(几分钟搞定)

云间书店的模板库:
  template-centos8-web   :装好 Nginx/Python 的 Web 模板
  template-centos8-db    :装好 MySQL 的数据库模板
  template-windows-2022  :Windows 服务器模板(备用于老系统)

从模板创建 VM 的流程:
  从模板部署 → 填新名字 → 选数据存储 → 完成!(几分钟)

"模板的意义:把'装系统'这件事从'几小时'变成'几分钟',而且每一台新机器都'一模一样'(不会这台少装个依赖,那台配置不同)。 这就是运维的'标准化'。"


三、克隆(Clone):从"现有机"复制

"模板是从'母版'造新机。克隆(Clone)是复制一台现成的 VM。"老周说:

克隆(Clone)两种:
  完整克隆(Full Clone):
    - 完全独立的副本(和原机没有任何关系)
    - 复制全部数据(占用同样多的存储)
    - 适合:要长期独立的机器

  链接克隆(Linked Clone):
    - 共享原机的"基础盘",只记录差异部分
    - 秒开、超省空间(基础盘共享)
    - 适合:测试环境(一堆差不多的小机器)
    - 注意:原机没了,链接克隆也不能用了

模板 vs 克隆的区别:
  模板:从"标准化母版"造新机(新装、干净、一致)
  克隆:从"现有实例"复制(快,但可能带着原机的'历史包袱')

"生产标准化用模板,测试批量用克隆——这是最实用的分工。"


四、自定义规范(Customization):让每台新机"独一无二"

"从模板出来的 10 台机器,总不能都叫一个名字、用一个 IP 吧?"老周说,"所以要有自定义规范(Guest Customization):"

自定义规范(Customization Specification):
  定义"新 VM 要设置的东西":
    - 主机名:test-01、test-02 ...
    - IP 地址:192.168.20.101-110
    - 管理员密码、时区、DNS
    - Windows:SID 重新生成(重要!域环境必须)

从模板部署时勾选"自定义规范"
→ 10 台机器自动获得不同的名字/IP,开箱即用!

"模板 + 自定义规范 = 批量交付标准化机器的流水线。 运维人员喝杯咖啡的功夫,10 台机器已经就绪。"


五、备份:快照不能当备份,真正备份靠什么

"还记得第四章快照的禁忌吗?——快照不能当备份。"老周说,"那真正的备份是什么?"

快照 vs 备份(关键区别):
  快照:VM 在"同一存储"上的状态记录(依赖原文件)
       → 存储坏了,快照一起没
  备份:把数据"复制到另一处"(不同存储/离线介质)
       → 存储坏了,备份还在!

云间书店的备份方案(3-2-1 原则):
  3 份数据:原始 + 备份 + 异地备份
  2 种介质:磁盘 + 磁带/对象存储
  1 份异地:放另一个机房/云上

VMware 备份工具:
  - vSphere Replication:VM 级复制到另一站点(容灾)
  - 第三方:Veeam、Commvault(生产常用)
  - 手动:快照导出 / 复制 VMDK(小规模应急)

备份频率策略(云间书店):
  db-01(数据库):每天全备 + 每 6 小时增量(重要!)
  web-01(Web)  :每周全备(代码有版本库,变化少)
  测试机         :不备份(随时能重建)

"备份的铁律:备份必须'定期验证恢复'。 备份了 100 次,第 101 次恢复失败 = 前 100 次白备份。每月做一次恢复演练——把备份恢复到测试环境,确认能跑起来,才叫'有效的备份'。"


六、容灾(DR):机房没了,业务也不能没

"最后是最硬核的:容灾(Disaster Recovery, DR)。"老周说,"备份防的是'数据丢失',容灾防的是'整个站点没了'(火灾、洪水、机房断电……)。"

容灾(DR)的概念:
  主站点(生产机房)     → 备站点(异地机房/云)
  ├── vSphere Replication:把关键 VM 实时/定期复制到备站点
  └── Site Recovery Manager(SRM):一键切换主备(编排工具)

恢复指标(两个 R):
  RPO(Recovery Point Objective)数据丢失容忍度:
    可接受丢多少数据?(1 小时?24 小时?)
    → 决定复制频率(RPO 1h = 每小时复制一次)
  RTO(Recovery Time Objective)恢复时间目标:
    可接受多久恢复?(4 小时?1 天?)
    → 决定恢复流程(SRM 自动化 vs 手动)

云间书店的容灾分级:
  db-01(数据库):RPO=1h,RTO=4h(vSphere Replication 到云)
  web-01(Web)  :RPO=24h,RTO=24h(备份到云即可)
  测试环境       :无容灾要求(没了重建)

"记住两个 R:RPO 是'丢多少',RTO 是'等多久'。 预算有限时,先保数据库的 RPO(少丢数据),再优化 RTO(快恢复)。"


七、章末:老周的第七、八层总结

第七层:模板与克隆
├── 模板:系统母版,从模板批量生成标准化新机
├── 克隆:复制现有机(完整独立/链接省空间)
├── 自定义规范:自动配置主机名/IP/SID(开箱即用)
└── 核心价值:装系统从几小时 → 几分钟,标准化交付
第八层:备份与容灾
├── 快照 ≠ 备份(备份要存到"另一处")
├── 3-2-1 备份原则(3份/2介质/1异地)
├── 备份必须定期"恢复演练"(恢复不了=白备份)
└── 容灾:vSphere Replication + SRM
    RPO(丢多少)/ RTO(等多久)

"小陈,到这里,云间书店的虚拟化已经有:单机 → 集群 → 高可用 → 资源管理 → 模板批量交付 → 备份容灾。你基本具备一个'能干活'的虚拟化运维能力了。"

"但是!"老周话锋一转,"你所有的决策——加 vCPU、调份额、扩存储——依据都是什么?"

"……感觉?"

"又来了!"老周叹气,"凭感觉调优,是运维的大忌。 我们要用数据说话:CPU 到底用满没有?内存是不是虚高?磁盘瓶颈在哪?延迟多少?——这就是下一章:性能监控与优化。双十一那天,这些数据会救你的命。"

✌ 语言