使用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的过程这里就不 ...
随机推荐
- ECS实践案例丨逻辑卷的创建和扩容操作指导
摘要:实现跨硬盘使用,在传统硬盘之上的一层,在云服务器中可以实现跨EVS使用,用户在某些场景需要创建逻辑卷或者对已有的逻辑卷进行扩容处理,或者在某些时候由于误操作导致上述操作失败. [背景描述]: 实 ...
- 艾莫尔研究院基于Karmada的落地实践
摘要:本文从企业的业务背景.应用需求以及选择Karmada前后的对比和收益等方面,阐述了艾莫尔使用多集群技术完成企业技术升级的过程. 本文分享自华为云社区<艾莫尔研究院基于Karmada的落地实 ...
- 看FusionInsight Spark如何支持JDBCServer的多实例特性
摘要:采用多主实例模式的HA方案,不仅可以规避主备切换服务中断的问题,实现服务不中断或少中断,还可以通过横向扩展集群来提高并发能力. 本文分享自华为云社区<FusionInsight Spark ...
- SpringBoot 接口输出文件流 & Vue 下载文件流,获取 Header 中的文件名
SpringBoot 接口输出文件流 & Vue 下载文件流,获取 Header 中的文件名 @GetMapping("/download") public Respons ...
- Selenium八大元素定位(元素定位,元素等待)
Selenium WebDriver查找页面元素及元素操作 元素常用方法定位方法 通过id定位元素:find_element_by_id('id_value') 通过name定位元素:find_ele ...
- 【JAVA基础】加密算法
加密算法 MD5三次加密 package com.cy.store.service.impl; import com.cy.store.entity.User; import com.cy.store ...
- Codeforces Global Round 12(个人题解)
1450A. Avoid Trygub 挺简单的题,题意是避免字符串中有子串"Trygub" 只要给字符串排序就可以了,这样一定不会出现 void solve() { string ...
- 0x03~04 前缀和与差分、二分
A题:HNOI2003]激光炸弹 按照蓝书上的教程做即可,注意这道题卡空间用int 而不是 long long. int g[5010][5010]; int main() { ios_base::s ...
- 2021 VDC :vivo 互联网服务亿级用户的技术架构演进之路
关注公众号[vivo互联网技术]--回复[2021VDC]获取大会PPT. 2021年12月16日,vivo 开发者大会圆满落幕.在互联网技术专场中,来自vivo 互联网技术的6位研发专家,从基础架构 ...
- php开发之文件读取、写入
前言 续之前的系列,这里php开发的文件操作的内容读取以及文本写入的部分 文件读取代码的实现 css代码 本系列的php博客都是这个css,名字都是index.css /* css样式初始化 */ * ...