使用vim-cmd工具给ESXi虚机定期打快照

VMware虚拟化 - 建设篇

第四章 使用vim-cmd工具给ESXi虚机定期打快照

  • VMware虚拟化 - 建设篇
  • 系列文章回顾
  • 使用vim-cmd工具给ESXi虚机定期打快照
    • 前言
    • 前提条件
    • ESXi新增执行快照备份的sh脚本
    • ESXi添加crond任务并使其生效
    • ESXi指定部分虚拟机不执行定期快照
    • (附加)虚拟机自定义属性结合sh脚本实现自定义操作
    • 验证定期创建快照和删除快照
  • 参考链接


系列文章回顾

第一章 部署vCenter6.7和vSphere群集功能
第二章 vCenter6.7的管理网络使用vDS+LACP
第三章 vCenter6.7挂载Windows Server2016 NFS41存储


使用vim-cmd工具给ESXi虚机定期打快照

前言

由于整合了几台ESXi主机,使用了vCenter虚拟化平台,为确保虚拟机业务持续稳定地运行,需定期给虚拟机打快照备份和磁盘备份(使用Windows Server Backup做磁盘备份),即使用ESXi自带的vim-cmd工具集进行虚机快照备份。

  • 虚拟化平台:VMware VSCA 6.7
  • ESXi底层:VMware VMvisor 6.7

前提条件

  1. 使用vim-cmd工具给ESXi虚拟机打快照的前提是 虚拟机所在的数据存储datastore必须有闲置容量,因为打快照的原理是锁定当前虚机的所有存储容量,当产生新的数据时就开始占用datastore的闲置容量了。
  2. 根据虚机的实际使用量来计算,至少冗余10%以上的datasotre闲置容量,保证datastore存储有可用容量。


ESXi新增执行快照备份的sh脚本

sh脚本存放在datastore数据存储内,即/vmfs/volumes/datastore目录,sh脚本引用目录时使用UUID真实链接
如下案例将替换成datastoreUUID真实链接

使用vim-cmd工具给ESXi虚机定期打快照_第1张图片

### cd /vmfs/volumes/datastore1
[root@VM01:/vmfs/volumes/<datastore1-UUID>] mkdir crontabs; cd crontabs

# 创建快照的sh脚本 | 给sh脚本添加执行权限
[root@VM01:/vmfs/volumes/<datastore1-UUID>/crontabs] touch snapshot_create.sh; chmod +x snapshot_create.sh
# 删除快照的sh脚本 | 给sh脚本添加执行权限
[root@VM01:/vmfs/volumes/<datastore1-UUID>/crontabs] touch snapshot_delete.sh; chmod +x snapshot_delete.sh
# 记录创建快照的log日志
[root@VM01:/vmfs/volumes/<datastore1-UUID>/crontabs] touch schedule_create_snap.log
# 记录创建删除的log日志 | 全量log日志
[root@VM01:/vmfs/volumes/<datastore1-UUID>/crontabs] touch schedule_delete_snap.log; touch schedule_delete_snap_All.log

snapshot_create.sh

#!/bin/sh
_SNAPLEN=2	# 为防止 snapshot_delete.sh 执行失败的情况出现,创建快照期间也要限制快照的数量不超过 _SNAPLEN。这个值跟snapshot_delete.sh的 _SNAPLEN 保持一致
_Count=`vim-cmd vmsvc/getallvms | egrep vmx | wc -l`	# 统计虚机总数
echo 

你可能感兴趣的:(虚拟化,运维,vim-cmd,vmware)