vmware 虚拟机备份恢复的流程

咱们来聊聊VMware虚拟机备份恢复的事儿。以前那种老备份系统,软件是通过vSphere API和虚拟机连着的,然后调用VMware Data Recovery Disk Library也就是VDDK接口,把磁盘上的数据给“热”读出来。这么干虚拟机不用停,还只锁定改了的地方,把备份窗口压缩到了毫秒级。 咱们再看具体怎么做。第一步是建立连接和快照。程序先拿vSphere API去读虚拟机的配置,接着就弄个“Quiesced”快照出来,保证文件系统和应用都还在一致的状态。第二步是识别变化块。接着用VDDK连上快照里的第一个盘,调用QueryChangedDiskAreas接口,把上回备份后所有变了的数据块清单都找出来。第三步就是传输增量数据了。只把那些不一样的块读出来,压缩加密完后存到后面的地方。头一回肯定得做全量的备份,以后就只传变化部分就行。第四步就是循环处理剩下的盘子了。挨个轮一遍所有虚拟盘,重复上面的那套流程。第五步清理快照。把所有盘都弄完了立马删掉快照断开连接,对虚拟机没啥大影响。这几样核心功能还挺强:快照做完就删不拖后腿;只传那些变了的东西大大减轻了存储和网络的压力;用VDDK支持SAN、HotAdd、NBDSSL还有NBD这些模式,能兼容各种不一样的存储环境。 恢复那边也是分步骤来的。第一步还是建立连接和快照。恢复前得把虚拟机关了机,再用vSphere API弄个Quiesced快照出来当基准。第二步读数据。用VDDK把存好的变化块读到本地缓存里。第三步反向写盘。把缓存里的东西覆盖到快照盘对应的位置上,一个盘一个盘地把这些Delta数据都写回去。第四步执行恢复操作。等所有盘都处理完了执行个revert操作就能回到一致状态了。第五步清理快照最后删掉临时快照断开连接就行。这时候你看恢复流程也挺强:虽然备份时只传Delta,恢复时得读全部的块但因为有缓存和压缩也比传统全备份快得多;整个过程都在快照里玩能随时回滚到任意一致点;最关键的是虚拟机全程不宕机业务一点儿不耽误。