使用PowerCLI给ESXi批量设置时间和配置NTP
在现代的各种业务系统中,时间同步很重要。现在VMware的虚拟化解决方案应用非常广泛,给ESXi宿主机一个统一准确的时间,也给客户机系统一个准确的时间。
生产环境中主机数量少的话倒是可以手动设置,但是到了十几台甚至更多,手动设置费时费力还容易出错。好吧,相信你也比较懒。但是我们懒人有懒办法呀。
关于VMware PowerCLI是什么东西,以及如何安装,在 命令行操作vSphere--VMware PowerCLI安装 这篇文章里有详细介绍,此处不再叨叨啦。
原理嘛就是用PowerCLI连接到VC上边去,给ESXi下发配置并配置重启ntp,ESXi所有的高级设置都可以设置,我发现PowerCLI真是个好东西!
好了,下面就直接丢代码出来了。下面介绍了一次性设置时间和设置NTP两种方式,各取所需。当然,都是全自动的。推荐架设内网NTP的方式。
- #连接VC
- $VC='192.168.xx'
- $UName='administrator@vsphere.local'
- $UPass='yourpass'
- Connect-VIServer -Server $VC -User $UName -Password $UPass
- #方案一:模拟手动更改主机时间
- Foreach($HostIP in Get-VMHost){
- $esxcli = Get-EsxCli -VMHost $HostIP -V2
- $arguments = $esxcli.system.time.set.CreateArgs()
- $arguments.year = $(Get-Date -Format 'yyyy')
- $arguments.month = $(Get-Date -Format 'MM')
- $arguments.day = $(Get-Date -Format 'dd')
- $arguments.hour = $(Get-Date -Format 'HH')-8
- $arguments.min = $(Get-Date -Format 'mm')
- $esxcli.system.time.set.Invoke($arguments)
- }
- #方案二:设置NTP(推荐)
- Foreach($HostIP in Get-VMHost){
- Add-VmHostNtpServer -NtpServer "120.25.115.20" -VMHost $HostIP
- Add-VmHostNtpServer -NtpServer "ntp1.aliyun.com" -VMHost $HostIP
- Get-VMHostService -VMHost $HostIP | where { $_.Key -eq "ntpd" } | Start-VMHostService
- Get-VMHostService -VMHost $HostIP | where { $_.Key -eq "ntpd" } | Set-VMHostService -Policy "on" -Confirm:$false
- }
- #查询主机时间
- Foreach($HostIP in Get-VMHost){
- $esxcli = Get-EsxCli -VMHost $HostIP -V2
- $esxcli.system.time.get.Invoke()
- }
Get-VMHost获取的是当前VC下边的所有主机,作用范畴也是当前VC下边的所有主机。
步骤解读:第一个代码块是连接VC,第二个是获取你本机的当前时间设置到ESXi主机,第三个是设置NTP并重启服务与设置开机自启,第四个是查询下各主机时间。相信小伙伴们一看就懂了!
此处demo中的主机是用的IP标识的,建议使用DNS名称来区分标识主机。
使用PowerCLI给ESXi批量设置时间和配置NTP的更多相关文章
- redis批量设置过期时间
Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作.代码如下: redis-cli keys &qu ...
- 针对永久不过期的key 批量设置过期时间
问题需求: redis内存暴增,后来发现有很多设置永久不过期. 解决:查找出来之后针对前缀批量设置过期时间 (过期时间与开发沟通 保证服务不受影响) 来源于网上杨一的代码 正好解决了我遇到的问题 在这 ...
- python redis 批量设置过期key
在使用 Redis.Codis 时,我们经常需要做一些批量操作,通过连接数据库批量对 key 进行操作: 关于未过期: 1.常有大批量的key未设置过期,导致内存一直暴增 2.rd需求 扫描出这些ke ...
- js 批量设置css样式
在js中更换样式比较常见,但是批量设置比较少遇见: 但是在做就是插件时,不想额外的添加css文件(需要导入,还可能引起冲突),能批量设置就比较方便了. 以下代码是来自网上的三种方法,使用第二种最方便了 ...
- powershell批量设置权限
批量设置权限 $acl=get-acl .\demo Get-ChildItem .\Documents -Recurse -Force|Set-Acl -AclObject $acl
- [转]android:动态创建多个按钮 及 批量设置监听
之前投机取巧,先创建好多个按钮,再根据需要的数量进行部分隐藏,不过还是逃不过呀. 这样根本无法批量地 findId,批量地 设置监听. 所以今天还是认认真真地研究回“动态创建按钮”,终于,通过不断尝试 ...
- Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...
- 设置时间&时区
设置时间之前要先了解一件事,时间分为系统时间与硬件时间 如果硬件时间与系统时间不相同的话,经常会发现自己写的程序时间可能对不上 首先修改硬件时间 1)修改时区 输入命令: tzselect 按照指示选 ...
- java classpath批量设置shell脚本
java classpath批量设置shell脚本 注意:linux bash jar文件之间的分隔符是':' export JAR_HOME=path to directory which ...
随机推荐
- 01_第一次如何上传GitHub(转)Updates were rejected because the tip of your current branch is behind
https://www.cnblogs.com/code-changeworld/p/4779145.html 刚创建的github版本库,在push代码时出错: $ git push -u orig ...
- Java8实战,
Supplier 1, @FunctionalInterfacepublic interface Supplier<T> { 2, T get(); 3, Supplier<A ...
- maven-pom文件的scope作用域
1.compile 编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效. 2.provided 容器或JDK已提供范围,表示该依 ...
- 14 | count(*)这么慢,我该怎么办?
在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数.这时候你可能会想,一条select count(*) from t 语句不就解决了吗? 但是,你会发现随着系统中记 ...
- linux 中将用户添加到组的 4 个方法
Linux 组是用于管理 Linux 中用户帐户的组织单位.对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号.它被称为 用户 ID(UID)和组 ID(GID).组的主要目的是为组的成 ...
- CF358D Dima and Hares dp
状态的定义挺奇特的~ 发现最终每一个物品一定都会被选走. 令 $f[i][0/1]$ 表示 $a[i]$ 在 $a[i-1]$ 前/后选时 $1$~$(i-1)$ 的最优解. 因为一个数字的价值只由其 ...
- 模拟I2C协议学习点滴之复习三极管、场效应管
晶体三极管分为NPN和PNP型两种结构形式,除了电源极性的不同工作原理是大致相同的.对于NPN管,它是由2块N型半导体夹着一块P型半导体所组成的,发射区与基区之间形成的PN结称为发射结,而集电区与基区 ...
- Java监听器listener的介绍
Java监听器listener的介绍 listener 能做什么 当web中某些动作发生之后,服务器就调用listener中对应的方法. 内部机制 接口回调 Web监听器 步骤 创建需要的监听器类,实 ...
- python 根据时间戳获取秒🐱
print("当前时间: ",time.strftime('%Y.%m.%d %H:%M:%S ',time.localtime(time.time()))) import tim ...
- zabbix (11) 监控TCP连接数
对TCP的监控可以采用ss.netstat./proc/net/tcp这三个不同的方案来实现.其中ss是最快的 (1)ss命令 [root@manager1 script_py ::]#time ss ...