借助PowerShell cmdlets配置Hyper-V 3.0虚拟交换机

日期: 2012-10-18 作者:Jason Helmick翻译:李哲贤 来源:TechTarget中国 英文

随着Windows Server 2012和Hyper-V 3.0的发布,服务器虚拟化变得简单同时也带来更多的惊喜。简单是由于PowerShell cmdlets的存在,惊喜是因为众多新功能。   过去,IT人员在PowerShell方面获得帮助很有限,因此建立和自动化配置宿主机和虚拟机配置很困难。缺乏帮助曾导致IT人员不能使用服务器虚拟化中最具价值、精简、高速和高安全性的工具——Server Core。

  借助Hyper-V 3.0和PowerShell,管理员可以轻松地自动化和扩展虚拟化环境、准备容灾脚本和掌控Server Core。第一步是为网络配置新的Hyper-V可扩展交换机。即使……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

随着Windows Server 2012和Hyper-V 3.0的发布,服务器虚拟化变得简单同时也带来更多的惊喜。简单是由于PowerShell cmdlets的存在,惊喜是因为众多新功能。

  过去,IT人员在PowerShell方面获得帮助很有限,因此建立和自动化配置宿主机和虚拟机配置很困难。缺乏帮助曾导致IT人员不能使用服务器虚拟化中最具价值、精简、高速和高安全性的工具——Server Core。

  借助Hyper-V 3.0和PowerShell,管理员可以轻松地自动化和扩展虚拟化环境、准备容灾脚本和掌控Server Core。第一步是为网络配置新的Hyper-V可扩展交换机。即使您需要为自己的环境进行定制,了解基本交换机cmdlets的相关细节依然非常重要。

  在Hyper-V 3.0中使用PowerShell的优点

  通过PowerShell配置单个虚拟交换机无法体现其优势。优点如下:

  • Cmdlets可以支持虚拟交换机的–ComputerName等参数,可以同时配置多个宿主机。

  • Cmdlets可以在PowerShell上远程运行,提供高效的多宿主机配置途径。

  • 您可以写一个单行程序用于配置虚拟交换机,并保存为.ps1文件,创建脚本用于自动化和容灾。

  现有工具

  了解了这些优势,你可以开始使用工具完成交换机配置过程。Hyper-V 3.0包含了164个cmdlets,其中19个用于虚拟交换机配置。看起来很多,实际上不用担心,如果您不需要额外的第三方扩展,多数的命令是用不到的。

  现在,创建和配置虚拟机交换机,只会用到6个交换机cmdlets以及1~2个网卡cmdlets,包括:

  • Get-Help *VMSwitch* --列出虚拟交换机相关的所有16个cmdlets

  • Get-Help *VMSwitch  -- 列出6个必须的cmdlets(注意命令的最后没有通配符)

  创建新的以太网虚拟交换机

  外部的虚拟交换机把物理界面和虚拟环境联系起来。涉及2个cmdlets :New-VMSwitch 和 Add-VMSwitch。两个命令很类似,但是用法不同:

  New-VMSwitch 为一台或多台宿主机创建新的交换机。下面是在两台宿主机上创建以太网交换机的示例:

  New-VMSwitch –Name ‘Outside Ethernet’ –NetAdapterName Ethernet

  –ComputerName Host1, Host2 –Notes ‘Teamed nic support required’

  您可以使用Get-NetAdapter cmdlet列出宿主机上所有的网卡,以便于使用–NetAdapterName命令时识别正确的参数。默认情况下,Hyper-V 3.0以太网交换机支持宿主机访问网卡。如果您不希望这样,可以通过-AllowManagementOS设置为$False状态。

  如果您在System Center Virtual Machine Manager(SCVMM)中配置了以太网资源池,Add-VMSwitch cmdlet命令把虚拟交换机添加到资源池。如果还需要定义池的名字,所需命令类似于:

  Add-VMSwitch –ComputerName host1 –Name ‘Outside Ethernet’

  -ResourcePoolName ‘Ethernet Pool’

  配置以太网交换机或许是交换机相关的工作内容,很多环境中还需要宿主机上配置内部或私有网络交换机。

  创建额外的内部/私有虚拟交换机

  New-VMSwitch cmdlet命令结合一组网卡相关cmdlets,将会简化创建内部/私有交换机。如下实例在Host1和Host2上创建一个新的名为“Inside File Servers”的内部交换机。

  New-VMSwitch -Name 'Inside File Servers' -SwitchType Internal -Notes 'File server network'

  根据需求,–SwitchType参数可配置为内部或私有。使用–NetAdapterName命令时该参数不可用,因为这个设置仅用于外部接口。

  一旦创建内部网卡,您需要为它们分配IP地址。现有一组关于网卡的cmdlets,如下命令显示出我之前创建的内部交换机:

  Get-NetAdapter -name *inside*

  New-NetIPAddress cmdlet设置端口相关的IP地址、子网掩码和默认网关信息。在本实例中,是我们创建的内部交换机的虚拟端口。

  Get-NetAdapter -name *inside* | New-NetIPAddress -IPAddress 192.168.3.10

  -PrefixLength 24

  如果宿主机加入了域而某台内部虚机是作为域控的,您还需要给内部适配器添加一个DNS入口。在主控失效时,为宿主机提供了额外的DNS服务器用于访问。DNS的设置通过Set-DnsClientServerAddress cmdlet命令实现。

  Get-NetAdapter -name *inside* | Set-DnsClientServerAddress -ServerAddresses 192.168.3.15

  其它的交换机cmdlets

  剩余的四个基本cmdlets可以检索、删除和更改某个虚拟交换机。下面是我个人推荐的一些例子:

  要获得多台宿主机虚拟交换机列表及相关参数信息,使用如下cmdlets:

  Get-VMSwitch –ComputerName Host1, Host2 | Format-List –Property *

  要把虚拟交换机名字从“Inside file Server”更改为“Inside Print Server”,使用cmdlets如下:

  Get-VMSwitch –Name ‘Inside file server’ | Rename-VMSwitch

  –NewName ‘Inside Print Server’

  Set-VMSwitch cmdlet提供了多个参数可用于现有交换机的调整。下面的命令禁止管理OS使用外部交换机:

  Get-VMSwitch –SwitchType External | Set-VMSwitch

  –AllowManagementOS $False

  最后一个cmdlets是Remove-VMSwitch,如同字面意思,它的功能是通过名字来锁定和移除某个虚拟交换机。在测试交换机配置脚本时,您可能会需要把宿主机所有的交换机移除。最后一个例子是把所有交换机从宿主机移除:

  Get-VMSwitch | Remove-VMSwitch

  Hyper-V 3.0的PowerShell cmdlets扩展包使得多宿主机的配置和自动化配置变得简单。通过这些技术编制DR脚本并通过PowerShell配置您以后的宿主机交换机。

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐