使用linux上面powershell安装vm powercli 连接vcenter 通过计划任务自动创建部分虚拟机的快照以及自动清理过期快照的办法
经过一晚上的折腾, 终于验证出来一个非常简单的方法. 也比较好理解和使用. 这里简单记录一下:
使用linux上面powershell安装vm powercli 连接vcenter 通过计划任务自动创建部分虚拟机的快照以及自动清理过期快照的办法
1. 通过微软官方文档,在centos7 上面安装配置 powershell . 命令很简单 大家自行下载安装即可
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v7.0.1/powershell-lts-7.0.1-1.rhel.7.x86_64.rpm
2. 安装上 powershell 之后 可以安装 vm 的powercli 工具 也是通过包管理器进行安装 因为网络原因 可能需要花一定的时间
我一般都是在root 上面上面 处理起来比较简单了
pwsh #进入powershell 的命令行界面 输入
Install-Module -Name VMware.PowerCLI -Scope CurrentUser 进行安装powercli 时间可能会很漫长
3. 安装完成之后就可以进行连接 自己的 vCenter了 可以进行简单测试
Connect-VIServer vcenterip -u vcenteruser -Password YourPasswords

我不知道是我设置的原因 还是其他 我每次登陆都要花 至少 3分钟. 原因不明确. 但是的确能登录上.
4. 登录上之后就可以执行脚本了 一个很简单的创建移除脚本的命令样式如下
创建快照:
get-vm -name yourvmname |new-snapshot -name (date +%Y%m%d)
# 注意 我这个命令快照的名字是当前日期.
移除快照
get-vm -name yourvmname |get-snapshot -name (date -d '5 days ago' +%Y%m%d) |remove-snapshot
#注意这个命令能够移除 名字是五天前日期的快照.
5. 设置计划任务, 因为自己要做的虚拟机快照比较多, 索引应该放到一个文件list里面会好一些.
所以第一步创建一个list 里面仅仅放一下 虚拟机的名字
vim /alert/vmlist yourvmname1
yourvmname2 #注意 名字一定要符合 发生了变化要定期改.
第二步 使用foreach 语法编写一个脚本用来创建快照
Connect-VIServer yourvcenterip -u root -Password yourpasswords
$i=0;Get-Content /alert/vmlist |foreach {get-vm -name $_ |new-snapshot -name (date +%Y%m%d);$i++}
编写一个删除快照的脚本, 注意一点删除快照要增加一个默认值. 能够默认删除快照信息
$ConfirmPreference = 'None'
Connect-VIServer yourvcenterip -u root -Password yourpasswords $i=0;Get-Content /alert/vmlist |foreach {get-vm -name $_ |get-snapshot -name (date -d '5 days ago' +%Y%m%d) |remove-snapshot;$i++}
$i=0;Get-Content /alert/vmlist |foreach {get-vm -name $_ |get-snapshot -name (date -d '6 days ago' +%Y%m%d) |remove-snapshot;$i++}
$i=0;Get-Content /alert/vmlist |foreach {get-vm -name $_ |get-snapshot -name (date -d '7 days ago' +%Y%m%d) |remove-snapshot;$i++}
# 注意 我这个删除是默认删除 最近四五天的快照 , 多写几个 避免有某天的快照删除出现异常. 快照多了 太影响性能了.
6. 创建计划任务
Linux下面创建计划任务的方式比较简单
crontab -e的方式就可以了
增加的内容基本上为 1 23 * * * pwsh /alert/mksnapshot
1 22 * * * pwsh /alert/rmsnapshot 每天的 晚上十点自动删除日期是五天前, 六天前 和七天前的快照
每天的 晚上十一点自动创建一个为当前日期的不带内存镜像的快照. 注意快照一定不要太多 重要的事情一定要多说几遍.
7. 其他说明
包含内存映象的快照
get-vm -name yourvmname |new-snapshot -name (date +%Y%m%d) -Memory -Quiesce
# 注意增加一个 -Memory -Quiesce 的参数就能够实现带内存镜像的快照
但是这个会严重影响快照的制作速度
不带内存影响大概3秒钟一个 带内存镜像的话 20G内存的虚拟机 一般配置的服务器 需要12min 才能做一个快照. 删除的速度也会明显变长
使用linux上面powershell安装vm powercli 连接vcenter 通过计划任务自动创建部分虚拟机的快照以及自动清理过期快照的办法的更多相关文章
- linux版powershell安装教程(.net core版)
powershell 传教士 原创文章 始于2016-12-20,2017-03-15改.文章版本目前博客园为最新版. 允许转载,但必须保留名字和出处,否则追究法律责任 问:powershell二进制 ...
- Linux学习(一)-安装vm虚拟机以及如何在虚拟机上安装Centos系统
(一)基本说明 学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习. 1)安装软件vm12; 2)通过vm12创建一个虚拟机空间; 3)在vm12创建好的 ...
- 如何安装VM Tool软件包
在linux下,我们想把原windows操作系统下的一些文件拷入到新linux系统中,在windows下对文件(夹)进行复制,在linux下无法进行粘贴,何故?这是因为新装的linux操作系统未安装V ...
- VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)
准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...
- redis linux 安装及jedis连接测试
一.安装配置 1:下载redis下载地址 http://code.google.com/p/redis/downloads/list推荐下载redis-1.2.6.tar.gz,之前这个版本同事已经有 ...
- 在VM中安装Android4.4连接小米手环 之 在VM中安装Android4.4
今天刚买了个小米手环,系统须要4.4及以上,但自己手机系统版本号不匹配.故打算在VM中安装Android4.4连接小米手环. 这一节先介绍在VM中安装Android4.4(怎么安装VM就不介绍了) 1 ...
- Linux centos7下安装配置redis及Redis desktop Manager工具连接注意事项
基本工具:VMware12.CentOS-7-x86_64-Everything-1611.iso.redis-desktop-manager-0.8.0.3841 废话不多说,首先,关于什么是Red ...
- linux(kali,centos)安装vm及其提示缺少c头文件解决方法
我电脑系统是kali最新版 首先去官网下一个vm安装包,给个直达网址 http://www.vmware.com/cn/products/workstation/workstation-evaluat ...
- linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题]
linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题] 一.查看mysql是否已经安装 使用“whereis mysql”命令来查看mysql安装路径: [root@h ...
- 解决Linux环境下安装xampp之后外部无法连接MySQL的问题
在Linux系统下,开发PHP一般都是LAMP环境,对于开发环境来讲,没有必要花太大精力去单独配置LAMP环境,采用xampp一键安装包是一个很好的方式.在Linux系统上安装xampp的过程这里就不 ...
随机推荐
- 实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题.本文对ACL2020 KBQA 基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读,并对相关实验进行了复现. 1.摘要 1.1 复杂问 ...
- instanceof运算符的实质:Java继承链与JavaScript原型链
Java instanceof instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例 boolean result = obj instanceof Clas ...
- 火山引擎DataTester上线「集成工作台」功能,助力企业打造专属AB平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 AB测试不仅是做增长的"利器",也是企业优化效率.增加决策精确度的有效工具.随着国内企业服务市 ...
- 对不起,你做的 A/B 实验都是错的——火山引擎 DataTester 科普
DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型.DataTester 深度耦合推荐.广告.搜索.UI.产品功 ...
- 火山引擎 EMR StarRocks 场景案例分享
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 日前 ,火山引擎数智平台(VeDI)旗下产品 E-MapReduce(简称"EMR")正式上线 ...
- pytest用例执行顺序
py文件的执行顺序 pytest默认按字母顺序去执行的(小写英文-->大写英文--->0~9数字) setup_module->setup_claas->setup_funct ...
- 【主流技术】聊一聊 Redis 的基本结构和简单应用(一)
目录 前言 一.String 类型 二.List 类型 三.Hash 类型 四.Set 结构 五.Sort Set (Zset)结构 六.文章小结 前言 Redis 是目前互联网后端的热门中间件之一, ...
- 压测工具 Locust
一.认识Locust 定义 Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己 ...
- 干掉 Navicat! 一款数据分析师必备的数据库可视化工具
数据开发,离不开数据库,一款优秀的数据库开发和管理工具可以达到事半功倍的效果.市面上比较流行的数据库管理工具主要有Navicat.DBeaver.SQLyog等等,Navicat是其中的无冕之王,其拳 ...
- cookie与session简介 django操作cookie django操作session
目录 cookie与session简介 早期cookies 随机字符串解决cookies安全问题 禁止浏览器保存cookies django操作cookie set_cookie set_signed ...