通过VMware的PowerCLI配置集群内指定主机的vMotion功能
PowerCLI是VMware开发的基于微软(MSFT)的PowerShell的命令行管理vSphere的实现,因此在批量化操作方面CLI会减轻很多GUI环境下的繁琐重复劳作。
现有场景中有大量的物理主机已经安装好的ESXi,并且可以被vCenter所管理,由于默认情况下可供管理的那个Manage管理网卡是不开启vMotion的,因此我们需要借用这个Manage管理网卡来开启vMotion功能,从而实现集群内的HA功能。
说明:一般情况下,VMware建议,条件允许的情况下每个网卡的功能最好能独立且分开,有专门跑iSCSI的网卡,有专门组建业务网络的业务网卡,有专门用来节点管理的Manage网卡,有专门用来实现高可用HA和迁移vMotion的网卡。
通过官方文档,我们很容易找到命令行开启vMotion的方法(link:https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Set-VMHostNetworkAdapter.html ):
Get-VMHost Host | Get-VMHostNetworkAdapter -VMKernel | Set-VMHostNetworkAdapter -VMotionEnabled $true
该命令可以实现对Get-VMHost到的所有Host主机下的具有VMkernel的网卡进行vMotion的开启
现有场景需要对特定的HOST进行操作,因此语句我们需要更改一下:
Connect-VIServer –Server 172.5.140.201
get-vmhost -name 172.5.140.160 | Get-VMHostNetworkAdapter -VMKernel | Set-VMHostNetworkAdapter -VMotionEnabled $true
该组合实现登陆一个vCenter服务器172.5.140.201 之后,对该管辖范围内的172.5.140.160主机单独进行vMotion的开启
这个场景中有大量的新加入主机需要这般操作,因此我们需要准备一个包含这些主机IP文件列表我命名为“hosts.txt”文件,因此我们对语句进行了一些修改:
Connect-VIServer –Server 172.5.140.201
Get-Content hosts.txt | Foreach-Object {get-vmhost -name $_ | Get-VMHostNetworkAdapter -VMKernel | Set-VMHostNetworkAdapter -VMotionEnabled $true}
该组合实现登陆到vCenter之后,在这个hosts.txt内逐行寻找匹配项,通过PowerShell的Foreach-Object 进行自动填入“$_”关键信息,完成批量自动化开启vMotion

Figure 1需要进一步确认的对话环节
这种输出结果我们会有多次的确认,如vCenter的SSL信息的警告内容显示、VMKernel的多个确认,这里都需要按下更多次的回车才能完成。
因此我们想让屏幕输出更简洁,对语句做了如下修改:
Connect-VIServer –Server 172.5.140.201 -WarningAction 0
Get-Content hosts.txt | Foreach-Object {get-vmhost -name $_ | Get-VMHostNetworkAdapter -VMKernel -name vmk0 | Set-VMHostNetworkAdapter -VMotionEnabled $true -Confirm:$false}
该组合实现了忽略SSL信息警告内容,只在vmk0上开启vMotion,并且忽略确认 是的返回结果更加清爽
注意:这里需要注意一下,如果您的配置环境不是将vmk0上开启vMotion的话,请使用Get-VMHostNetworkAdapter -VMKernel命令获取当前所连接的vCenter内的所有ESXi主机上的VMKernel信息。
-=EOB=-
通过VMware的PowerCLI配置集群内指定主机的vMotion功能的更多相关文章
- Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)
作业一:临时配置网络(ip,网关,dns)+永久配置 设置临时网络配置: 配置IP ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址 /24 ...
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...
- 转】Nginx+tomcat配置集群负载均衡
原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299 感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...
- Elasticsearch从入门到精通之Elasticsearch集群内的原理
上一章节我介绍了Elasticsearch安装与运行,本章节及后续章节将全方位介绍 Elasticsearch 的工作原理 在这个章节中,我将会再进一步介绍 cluster . node . shar ...
- Linux之为集群内的机器设定主机名
作业二:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式 1.主机信息配置并解析 [root@localhost ~]# ...
- Elasticsearch集群内的原理
一个运行中的 Elasticsearch 实例称为一个 节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力.当有节点加入集群中或者从 ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- Redis-3.2.1集群内网部署
摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster ...
- kubernetes(K8S)快速安装与配置集群搭建图文教程
kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...
随机推荐
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...
- Android和JavaScript相互调用的方法
转载地址:http://www.jb51.net/article/77206.htm 这篇文章主要介绍了Android和JavaScript相互调用的方法,实例分析了Android的WebView执行 ...
- mysql 7下载安装及问题解决
mysql 7安装及问题解决 一.mysql下载 下载地址:https://www.mysql.com/downloads/ Community (GPL) Downloads MySQL Commu ...
- [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程
前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...
- UVA, 10336 Rank the Languages
难点在于:递归函数和输出: #include <iostream> #include <vector> #include <algorithm> #include ...
- 根据ip判断返回城市名称查询当地天气
<?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...
- JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...
- django 学习第一天搭建环境
目前django版本是1.10,我学习的基础教材是 Web Development with Django Cookbook, Second Edition 搭建好配置环境 ssh免认证登录 修改一下 ...