如何应对云计算环境下 VMware 虚拟机备份挑战?
一、可行性评估
1.1 背景
2016年初国家出台《中国金融业信息化“十三五”发展规划(征求建议稿)》[1] 强调“科学利用云服务,提升金融服务能力和效率”。同年7月《中国银行业信息科技“十三五”发展规划监管指导意见(征求意见稿)》[2 ]明确提出:积极开展云计算架构规划,主动和稳步实施架构迁移。在中国信通院2018年金融行业云计算技术调查报告中显示参与调查的机构中近九成金融机构已经或正计划应用云计算技术。这其中,近1/3 已经部署了小规模以上(>500)的虚拟服务器;vmware 和openstack 占比为2.67:1;openstack用于生产环境占总环境不足20%[3]。在金融行业生产环境中vmware架构为主流架构。
另一方面,金融业竞争日益加剧,业务对IT技术呈现极强的依赖性,对IT系统的可用性、连续性、安全性提出更高要求。以合理的成本构建vmware环境下完备的高可用体系才能适应新形势要求。虽然vmware提供FT、HA等特性在一定程度上保障了业务连续性,但是仍无法应对数据意外的的丢失如人为误删、意外覆盖或存储介质损坏等,因此从备份副本中恢复数据尤为重要。
对于vmware虚拟化环境下的备份系统建设,金融企业主要面对以下挑战:
1. 有限的备份窗口及带宽:按照小型虚拟机(硬盘配置50GB),以目前虚拟数据中心主流规模1000 台进行计算每天需要备份数据为50TB。在数据中心常用的千兆网环境下,无法预留出足够的备份窗口。即使在万兆带宽条件下,每天全量备份时间最少需要14小时,也很难满足业务需求。
2. 备份介质存储开销:以每天备份一次,每个副本保留7天计算,总计保存7个副本,需要存储容量为350TB(50TB*7),存储备份数据带来巨大开销。
3. 额外运维成本:为加快运营响应速度,需要频繁地对业务系统虚拟机进行新增、删除、迁移、重命名等变更操作。备份策略需要及时配合变更,增加额外运维开销。
4. 有限恢复窗口:金融行业对于业务连续性要求近乎苛刻。在部分数据丢失情况,却需恢复整体数据,漫长的恢复时间对于金融行业无法接受。
在有限带宽和存储空间下快速对大规模Vmware虚拟机集群进行备份,成为金融业迫切需求之一。
1.2 项目价值
数据是金融业务系统的核心,当前环境下大量生产业务系统运行在Vmware虚拟机中。Vmware虚拟化后端存储分为集中式存储、分布式存储、本地存储。存储资源池化提高了资源利用率的同时也集中了故障风险。任一存储的故障都会带来数10台甚至数百台虚拟机的数据丢失为金融企业带来不可估量的损失。对Vmware虚拟机整机备份可以在人为操作失误,软件缺陷,硬件异常,自然灾害等诸多意外情况下保证数据完整性,有效性。
1.3 项目预期
在现有千兆网络带宽条件下,按照8小时备份窗口对于所有生产虚拟机自动进行整机备份。备份频率为每日进行一次备份。备份数据按照业务系统等级保留多个副本。确保在系统故障情况下快速恢复业务,在数据丢失情况下能按照整机或者文件颗粒快速恢复数据。需提供解决方案以在Vmware环境变化时,自动更改备份策略适应新环境。不改变现有网络架构前提下避免大规模企业网络架构调整带来额外开销。采用重删算法,以数十倍的重删比降低存储备份介质消耗,节省存储资源。
1.4 重大风险揭示与管理:
在解决方案实施过程中,企业虚拟化环境可能会存在多个版本及配置。对备份任务执行效果带来负面影响。提前调研企业虚拟化环境,收集确认各组件版本信息以及每套虚拟机配置信息。在备份方案实施之前对各组件进行升级解决已知BUG或变更配置优化效率。由于首次备份为全量备份需要耗费较多时间,按照现有网络带宽对初始备份任务进行分批规划,提前安排首次备份时间。
1.5 预算评估:
预算构成分为软件许可费用和硬件费用两部分。
软件许可费用至少包含以下:
1. 重删容量许可
2. 虚拟机备份许可。
硬件费用包含以下:
按照业务类型、网络类型以及监管要求将虚拟机分成不同的备份任务集。考虑到日后一定时间内增长情况按照1:50重删比进行估算购置等量空间备份介质存储设备。
为了控制成本,可以考虑将备份系统运行在虚拟化环境中。每套服务器配置多张网卡,将备份介质服务器绑定到单独物理网卡独占带宽。
1.6 关键技术路线选型
目前市面上提供了多款虚拟化备份软件,例如Veeam、Networker、nbu以及vmware公司的vdp(在之后的vmware产品中将不再可用[4])。后端存储可以选择集中式块存储、datadomain、msdp。各主流厂商基本上都采用调用Vsphere-Api技术进行备份实现。解决方案分为软硬件一体化解决方案例如Veeam、avamar、NBU一体机或备份软件+重删磁盘阵列方案例如Nbu+msdp/datadomain、Networker+datadomain等。
在进行选型之前,首先应考虑公司Vmware虚拟化环境当前运行架构,例如是否包含万兆网、是否包含SAN网络等选择合理解决方案。在选型过程中,除了考虑备份效率还需着重对备份任务管理进行考量。例如备份策略的建立、维护、备份报表的生成、与公司已有备份架构的融合。参考其他特性以及成本完成最终的产品选型。
2 方案设计
2.1 项目目标
项目目标包含以下四个方面
1. 在规定备份时间窗口内完成备份任务。
2. 建立智能备份策略。
3. 自动生成报表。
4. 实现即时恢复。
2.2 项目的整体架构以及组成部分说明
以下为使用NBU解决方案的典型的Vmware虚拟化逻辑架构。架构图中每套宿主机配置三个网络,分别为千兆数据网、千兆管理网、SAN网络。由此将管理流量、业务流量、存储流量相分离,避免互相影响。由于管理网主要用于监控数据、故障切换、Vmotion,常规情况下流量不大。备份流量虽然在任务发起期间会占用大量管理带宽,但是考虑到备份任务一般在业务低峰期发起,因此对管理网影响有限。另一方面,管理流量和业务流量、存储流量相分离的设计方案保证了业务带宽和存储带宽使得业务可用性不受影响。架构中包含若干套NBU-MSDP服务器完成备份数据重删,增加并发备份流,提高备份速度。
按照合规性与安全性要求,金融机构多区域隔离,备份集需存放在不同分区中。在实践中对备份数据重删比可达:99.1%左右。按照1000台虚拟机平均每套200GB计算,每天备份一次,每次保留7天,共需要1400TB,所需存储空间为12.6TB。当前市场上主流2U-X86服务器可以容纳24块2.5寸硬盘,裸容量可达48TB,因此建议采用虚拟机形式构建不同重删池,以符合监管强隔离规定,兼顾管理、扩展性。此外,由于备份时会占用大量带宽,建议尽可能将备份介质服务器和所需备份集群规划在同一交换机中,节省交换机上联带宽。
2.3 关键技术
Vmware-CBT:
ESX/ESXi 主机上运行的虚拟机可以跟踪更改了的磁盘扇区。 此功能被称为块修改跟踪,记录变更块(CBT)[5]。CBT是备份系统高效备份的关键,能显著提高备份速度,降低备份数据存储空间。在许多文件系统上,CBT在两个变更集 ID 之间识别修改了的磁盘扇区。在VMFS分区上,CBT还可以识别所有正在使用的磁盘扇区。可从虚拟机外部到虚拟化层中对虚拟磁盘的块修改进行跟踪。当软件执行备份时,它可以请求仅传输自上次备份以来更改的数据块或正在使用的数据块。第三方应用程序可以访问此功能。通过调用 VADP,应用程序可请求VMkernel 返回自上次备份快照以来虚拟磁盘上已更改的数据块。
要使 CBT 识别自上次更改ID以来已更改的磁盘扇区,需要满足以下条件:
1. 主机必须是 ESX/ESXi 4.0 或更高版本。
2. 包含要进行磁盘跟踪的虚拟机的硬件版本必须是7或更高版本。
3. I/O 操作必须通过 ESX/ESXi 存储堆栈。因此,NFS 和虚拟兼容模式下的RDM 受支持,但物理兼容模式下的 RDM 不受支持。而对于VMFS、SAN、iSCSI 或本地磁盘都提供支持。
4. 必须为虚拟机启用 CBT。当备份日志中出现:更改块跟踪配置不正确 (Incorrect changed block tracking configuration)、磁盘“硬盘编号”的更改块跟踪配置不正确 (Disk "Hard disk #" has incorrect changed block tracking configuration)、一个或多个虚拟机磁盘的更改块跟踪配置不正确(One or more VM disks have incorrect changed block tracking configuration)时,此类虚拟机的CBT功能可能未开启。需按照[6]中所示开启。
5. 虚拟机存储不能是独立磁盘(持久性和非持久性的)
而在一些情况下,例如虚拟机启动时发生电源故障或硬关闭等情况,CBT 可能会重置和丢失增量变更的跟踪记录。在vSphere 4.1和之前的版本中,冷迁移(而不是Storage vMotion)会重置CBT,但不能禁用 CBT。在vSphere 5.5 Update 2 之前的 vSphere 5.x 版本中,Storage vMotion会重置CBT。如果出现此类情况,需要预先预留出足够时间窗口进行全备。
在实践中,发现有些ESXI版本会导致CBT功能失效。例如[7],CBT堆耗尽导致备份效率下降。此时在/var/log/vmkernel.log中显示<YYYY-MM-DD>T <time>.nnnn cpu5:nnnnnn)WARNING: CBT: 191: No memory available! Called from 0xnnnnnnnnnnnn</time> 。因此需要升级ESXI到相应的版本。
重删池:
Vmware备份方案中一定要使用重删功能,可以通过Veeam、Vdp、NBU-MSDP软件实现或使用后端重删池例如NBU一体机、Avamar、Datadomain来实现。
使用重删设备能够:
■ 减少存储的数据量。
■ 减小备份带宽。
■ 减少备份时段。
■ 减少基础架构。
以下为MSDP部署最佳做法,详细请参考[8]
1.逐渐增加作业数。
2.使用客户端重复数据删除来扩展重复数据删除处理以提高性能。
3.扩展备份介质服务器提高并发流,提高备份效率。
构建智能策略:
由于虚拟化平台中的虚拟机经常变更,因此配置智能策略自动发现,添加备份任务对于降低金融企业运维人员压力尤为重要。在金融企业中不同集群往往代表不同的业务区域。以下以NBU为例:说明一个自动发现策略:
在虚拟机备份策略中增加自动字段:
Cluster anyof “1-管理区” AND NOT [backneed] equal “0”
“1-管理区”代表集群名称,[backneed]代表VM中自定义字段,过滤不需要备份的虚拟机如:大量读写IO特性的vm(快照静默会使虚拟机夯住)。
通过这些条件的组合就能自动过滤,隔离备份虚拟机。
其他前置条件:
各备份软件对备份环境有各别特殊要求,例如NBU备份vmware前提条件(详细请参考[9])
1.在计划备份的虚拟机上安装 VMware Tools。
2.在低版本NBU中Vm不能采用中文名命名
3.在Linux 虚拟机上,NetBackup 需要一个特殊的实用程序 (SYMCquiesce) 来静默文件系统,为创建快照做准备。如果没有SYMCquiesce,在创建快照时,NetBackup 无法保证该文件系统中的数据处于一致状态。
2.4 设备清单(可选)
除去vmware产品,备份项目中需采购的产品主要分为备份软件和后端重删存储两部分。具体设备根据选型方案所定。
2.5 关键设备选型(可扩展问题)
选型时候考虑以下几点
1. 备份效率
Vmware规模随着数据中心规模会迅猛增长,备份系统的并行能力尤为重要。因此要求备份软件支持多节点部署。
2. 管理效率
Vmware集群在上线后,变更频繁。高效的管理功能能大幅减轻运维人员压力。例如:本文之前提到的自动发现、报表等功能。
3. 恢复效率
大多数数据恢复并不需要完全恢复vm,直接通过NAS方式挂载出备份镜像,临时恢复出其中需要的文件能达到文件级别细粒度恢复,大幅度提升运维效率。
4. 其他新特性
备份产品处于在不断更新中总是能够提供更好的特性,综合考虑各家产品新特性,选出最适合自己的产品。
参考文档:
[1] 《中国金融业信息化“十三五”发展 规 划(征求建议稿)》
[2] 《中国银行业信息科技“十三五”发展规划监管指导意见(征求意见稿)》
[3] 《金融行业云计算技术调查报告 》中国信息通信研究院2018年3月
[4] https://kb.vmware.com/s/article/2149614
[5] https://kb.vmware.com/s/article/2076678
[6] https://kb.vmware.com/s/article/2078214
[7] https://kb.vmware.com/s/article/2116126
[8] Symantec NetBackup™ Deduplication 指南
[9] Symantec NetBackup™ for VMware 管理指南
本文作者:沈志鑫,主要从事私有云、备份系统建设与运维支持工作。熟悉x86服务器、各类存储架构、VMWARE、NBU、BMC等平台的运维及管理。
欢迎点击阅读原文关注社区 “备份”技术主题 ,将会不断更新优质资料、文章,您也可以前往提出疑难问题,与同行切磋交流。
下载 twt 社区客户端 APP
与更多同行在一起
高手随时解答你的疑难问题
轻松订阅各领域技术主题
浏览下载最新文章资料
长按识别二维码即可下载
或到应用商店搜索“twt”