使用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的过程这里就不 ...
随机推荐
- Spark的分布式存储系统BlockManager全解析
摘要:BlockManager 是 spark 中至关重要的一个组件,在spark的运行过程中到处都有 BlockManager 的身影,只有搞清楚 BlockManager 的原理和机制,你才能更加 ...
- 5大特性,带你认识化繁为简的华为云CodeArts Deploy
摘要:2月27日,华为云发布持续部署服务CodeArts Deploy,通过模块化自由编排部署流程,实现软件的自动化部署,帮助企业软件产品的快速.高效.高质量交付. 本文分享自华为云社区<化繁为 ...
- 懂分析、会预测,你见过这样的华为云DAS吗?
摘要:数字化时代下,华为云数据管理服务DAS基于AI技术,于近期推出了智能SQL分析(包括慢SQL发现.SQL透视).workload级别索引推荐.存储空间预测等运维特性,加上原有的数据库运维能力,构 ...
- 华夏天信携手华为云开天aPaaS,打造安全、高效、节能的主煤流运输系统
摘要:基于开天aPaaS集成工作台,主煤流运输系统如何实现多源异构数据融合.皮带物料和人员违章的智能感知,以及皮带的智能控制.灵活架构.高效集成.快速开发! 本文分享自华为云社区<华夏天信携手华 ...
- [ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective settings
原因: maven 的配置文件 setting.xml 有错. 比如在配置文件中多了一行: 导致配置文件的格式不正确.
- 当OLAP碰撞Serverless,看ByteHouse如何建设下一代云计算架构
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为云计算的下一个迭代,Serverless 可以使开发者更专注于构建产品中的应用,而无需考虑底层堆栈问题.伴随着 ...
- 火山引擎 DataLeap 下 Notebook 系列文章三:架构升级详解
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当使用 Notebook 的项目日渐增加时,火山引擎 DataLeap 研发团队发现运行中的 PaaS 服务实在太 ...
- html jquery from 表单提交 application/x-www-form-urlencoded 改成 json
html jquery from 表单提交 $(form).ajaxSubmit application/x-www-form-urlencoded 改成 json 要使用 jQuery 根据 n ...
- SpringBoot 接口并发限制(Semaphore)
可以使用 JMeter 辅助测试 https://blog.csdn.net/weixin_45014379/article/details/124190381 @RestController @Re ...
- SpringBoot 拦截器 统一日志 记录用户请求返回日志
你请求我接口,传了什么参数,我返回了什么值给你,全部记下来.防止扯皮 需求:记录每次用户请求Controller的Body参数, 思路:在每个Controller 该当中记录,容易漏记,如果在拦截器里 ...