使用PowerShell remoting简化虚拟机部署过程——完成部署

日期: 2013-01-28 作者:Jason Helmick翻译:张冀川 来源:TechTarget中国 英文

上文介绍了使用PowerShell remoting简化虚拟机部署过程的上半部分:构建黄金镜像。这里继续分享下半部分:使用黄金镜像创建虚拟磁盘、创建虚拟机以及部署完成后的设置。   创建虚拟磁盘   部署过程从创建服务器的新虚拟磁盘开始。通常这个步骤在整个部署过程中消耗的时间最多。

你可以通过拷贝整个虚拟磁盘来为新虚拟机创建一个单独的磁盘或者基于黄金镜像创建不同的磁盘。我喜欢使用PowerShell Copy-Item cmdlet进行磁盘拷贝。目标参数可以设置为本地目录或者是通用命名约定路径。   Copy-Item -Path C:hypervGoldImageCore.vhdx -Dest……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

上文介绍了使用PowerShell remoting简化虚拟机部署过程的上半部分:构建黄金镜像。这里继续分享下半部分:使用黄金镜像创建虚拟磁盘、创建虚拟机以及部署完成后的设置。

  创建虚拟磁盘

  部署过程从创建服务器的新虚拟磁盘开始。通常这个步骤在整个部署过程中消耗的时间最多。你可以通过拷贝整个虚拟磁盘来为新虚拟机创建一个单独的磁盘或者基于黄金镜像创建不同的磁盘。我喜欢使用PowerShell Copy-Item cmdlet进行磁盘拷贝。目标参数可以设置为本地目录或者是通用命名约定路径。

  Copy-Item -Path C:hypervGoldImageCore.vhdx -Destination c:hypervFullDisk.vhdx

  如果你想创建差分磁盘,可以使用如下示例中的Hyper-V 3 New-VHD cmdlet:

  New-VHD -ParentPath C:hypervGoldImageCore.vhdx -Path c:hypervdiffDisk.vhdx -Differencing

  拷贝完虚拟磁盘后,你可以使用Hyper-V cmdlets在Hyper-V中创建新虚拟机。

  创建新虚拟机

  New-VM cmdlet将创建虚拟机,添加虚拟磁盘并将虚拟机与虚拟交换机相关联。下面这个例子对所使用的参数进行了解释:

  New-VM -Name Server1 -VHDPath C:hypervdiffDisk.vhdx-SwitchName (Get-VMSwitch -name inside* | Select-Object -ExpandProperty name)

  • -Name. 虚拟机的名字

  • -VHDPath. 虚拟机虚拟磁盘的路径

  • -SwitchName. 虚拟机所使用的虚拟交换机。

  在之前的文章中,对如何使用PowerShell创建并管理虚拟机进行了演示。在上述命令中,我使用附加参数和Get-VMSwitch获取虚拟机将要关联的虚拟交换机的名字。

  虚拟机被添加到Hyper-V之后,你可以配置虚拟机的参数,比如内存以及CPU的数量。在下面这个例子中,虚拟机Server1被配置为使用动态内存,启动内存为1GB。同样设置了最小内存以及最大内存。

  Set-VMMemory -VMName Server1 -DynamicMemoryEnabled $True -StartupBytes 1GB -MinimumBytes 512mb -MaximumBytes 2GB

  然后就可以启动虚拟机了!

  Start-VM -Name Server1

  部署之后

  请记住新部署的虚拟机还不是域中的一员而且已经生成了计算机名。现在你可以使用PowerShell remoting连接虚拟机并更改设置了。

  首先,获取虚拟机的IP地址并将其保存在变量中。下面这个例子获取了虚拟机的IPV4地址:

  $ip=(Get-VMNetworkAdapter -VMName server1 | Select -ExpandProperty ipaddresses)[0]

  为了使用PowerShell remoting你需要提供新虚拟机的认证信息。因为经常需要使用这些信息,所以可以将认证信息保存在变量当中:

  $cred=Get-Credential

  通过PowerShell remoting使用Add-Computer cmdlet将服务器连接到域中并设置计算机名:

  Invoke-Command -ComputerName $ip -Credential $cred {Add-Computer -NewName Server2-DomainName company.loc -Credential companyadministrator -Restart -Force}

  将计算机添加到域中之后,你可以继续使用PowerShell remoting(或者任何其他的软件)安装角色并更改配置。下面这个例子在新虚拟机上安装了Web-Server角色。

  Invoke-Command -ComputerName server1 {Install-WindowsFeature Web-Server}

  在下一篇文章中,将演示如何自动化(脚本化)整个过程,读取文本或者值以逗号分割的文件来为计算机命名。

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐