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功能的更多相关文章

  1. Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)

    作业一:临时配置网络(ip,网关,dns)+永久配置 设置临时网络配置: 配置IP ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址    /24 ...

  2. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

  3. 转】Nginx+tomcat配置集群负载均衡

    原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  4. Elasticsearch从入门到精通之Elasticsearch集群内的原理

    上一章节我介绍了Elasticsearch安装与运行,本章节及后续章节将全方位介绍 Elasticsearch 的工作原理 在这个章节中,我将会再进一步介绍 cluster . node . shar ...

  5. Linux之为集群内的机器设定主机名

    作业二:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式 1.主机信息配置并解析 [root@localhost ~]# ...

  6. Elasticsearch集群内的原理

        一个运行中的 Elasticsearch 实例称为一个 节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力.当有节点加入集群中或者从 ...

  7. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  8. Redis-3.2.1集群内网部署

    摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster  ...

  9. kubernetes(K8S)快速安装与配置集群搭建图文教程

    kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...

随机推荐

  1. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  2. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  3. Android和JavaScript相互调用的方法

    转载地址:http://www.jb51.net/article/77206.htm 这篇文章主要介绍了Android和JavaScript相互调用的方法,实例分析了Android的WebView执行 ...

  4. mysql 7下载安装及问题解决

    mysql 7安装及问题解决 一.mysql下载 下载地址:https://www.mysql.com/downloads/ Community (GPL) Downloads MySQL Commu ...

  5. [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...

  6. C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程

    前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...

  7. UVA, 10336 Rank the Languages

    难点在于:递归函数和输出: #include <iostream> #include <vector> #include <algorithm> #include ...

  8. 根据ip判断返回城市名称查询当地天气

    <?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...

  9. JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  10. django 学习第一天搭建环境

    目前django版本是1.10,我学习的基础教材是 Web Development with Django Cookbook, Second Edition 搭建好配置环境 ssh免认证登录 修改一下 ...