Microsoft Hyper-V Server 2012开启虚拟化-虚拟机管理

  1. 云栖社区>
  2. 博客>
  3. 正文

Microsoft Hyper-V Server 2012开启虚拟化-虚拟机管理

技术小牛人 2017-11-09 16:17:00 浏览1648
展开阅读全文
   在创建一个新的虚拟机之前,我们需要针对虚拟机的网络进行简单的设置,这样才能让虚拟机进行正常的数据通信,Hyper-v是通过模拟一个标准的(ISO/OSI二层)交换机来支持以下三种虚拟网络:
      External(外部虚拟网络):就是虚拟机可以通过物理网络与外部的进行通信,如果是Windows Hyper-V Server,则是虚拟机和虚拟机所在主机上都能与外部服务器进行通信,此类型的虚拟网络还允许位于同一物理服务器上的虚拟机互相通信。
      Internal(内部虚拟网络):只能虚拟机之间互相通信,如果是Windows Hyper-V Server,则虚拟机还能和本机进行通信。在希望允许同一物理服务器上的虚拟机与虚拟机和物理主机之间进行通信时,可以使用此类型的虚拟网络。内部虚拟网络是一种不用绑定到物理网络适配器的虚拟网络。它通常用来构建从管理操作系统连接到虚拟机所需的测试环境。
      Private(专用虚拟网络):顾名思义,专门用于某项特定的虚拟网络。只能由此物理计算机上运行的虚拟机使用的虚拟交换机。希望只允许同一物理服务器上的虚拟机之间进行通信时,可以使用此类型的虚拟网络。专用虚拟网络是一种无需在物理主机中装有虚拟网络适配器的虚拟网络。在希望将虚拟机从物理主机以及外部网络中的网络通信中分离出来时,通常会使用专用虚拟网络。
      在Hyper-V server 2012中,网络功能得到了很大的提升,包括负载平衡和故障转移(LBFO)、服务质量(QoS)带宽管理功能、单根 I/O 虚拟化、Hyper-V 可扩展虚拟交换机等,在后面的章节中,会有单独来介绍网络知识的。这里就是简单的进行设置。
      首先我们要为虚拟机的通信来建立一个虚拟交换机,当连接到此网络的虚拟机都能同时与其他物理网络上的主机通信,则我们需要建立一个外部的虚拟交换机,这个外部的虚拟交换机的上联则要设置相应的物理网卡,相对应的物理网卡也要连接到物理局域网络。在Hyper-V Server 2012中,默认是没有不会建立任何的虚拟交换机,虚拟机要使用网络就必须建立虚拟交换机,所以要手动进行建立。如果是在Windows Server 2012中,当添加Hyper-V功能时,创建引导过程中就要求建立一个虚拟交换机。
      在GUI界面,使用Hyper-v管理器连接,选择Hyper-V主机右键点击创建虚拟交换机,出现下图,选择要建立的网络类型,然后点击创建虚拟交换机。
clip_image002
      建立虚拟交换机后,接下来还要针对虚拟交换机内容做设定,首先输入虚拟交换机的名称,默认名称为新建虚拟交换机,说明可以不用输入,连接类型刚刚选择好的外部网络,在这里也可以更改,在外部网络中的下拉选择物理网卡,作为虚拟机通信的出口。在网络属性中指定允许管理操作系统共享此网络适配器。
      设置启用单根 I/O 虚拟化,SR-IOV 是一种通过提供 I/O 所需的直接硬件路径,使得 PCI Express 设备能够在多个虚拟机之间进行共享的标准。Hyper-V 能够支持符合 SR-IOV 标准的网络适配器。SR-IOV 可降低网络延迟,降低处理网络通讯时的 CPU 占用率,并可提升网络吞吐率。符合 SR-IOV 标准的网络设备具有一种名为 Virtual Functions 的硬件界面,可通过安全的方式将其分配给虚拟机并绕过管理用操作系统中的虚拟交换机,直接收发数据。策略与控制则依然由管理用操作系统实施。SR-IOV 完全兼容实时迁移功能,因为基于硬件的网络在任何时间都可用。在实时迁移过程中,VirtualFunctions 会被暂时删除。这样实时迁移即可使用不同供应商的网络适配器,或在目标计算机上 SR-IOV不可用的情况下使用。
      可以在两重模式下设定VLAN:存取模式和主干模式。在存取模式下,虚拟网络的外部链接埠在UI中限制为单一VLAN识别码。您可以有多个使用WMI的VLAN。当实体网络介面卡是连线到同样是在存取模式下的实体网络交换器上的连接埠时,请使用存取模式。若要授予虚拟机器对存取模式下的虚拟网络的外部存取权,必须设定虚拟机其使用在虚拟网络的存取模式中设定的同一个VLAN识别码。主干模式可以让多个VLAN识别码共用实体网络介面卡和实体网络之间的连线。若要授予虚拟机器对多个VLAN中的虚拟网络的外部存取权,必须将实体网络上的连接埠设定为主干模式。您还必须知道使用的特定VLAN,以及虚拟网络支援的虚拟机器所使用的所有VLAN识别码。
clip_image004
      在Powershell中建立虚拟交换机是比较方便的事情,但是在建立虚拟交换机之前,首先我们要知道服务器的网卡名称,在Windows server 2012中,可以通过GUI界面在网络属性中查看他们的名称,或者是通过ipconfig命令查看,而在Powershell中通过命令Get-NetAdapter查看,在列出的清单中,查看InterfaceDescription的名称。
clip_image006
      之后我们使用命令来建立外部虚拟交换机,其中vmNetwork是虚拟交换机的名称,Intel(R) PRO/1000 MT Network Connection是网卡的名称,我们通过第一块网卡来建立一个外部的虚拟交换机,由于我们的管理IP地址也是配置的第一块网卡,所以在配置虚拟机外部网络的时候,出现中断的现象。配置成功后会显示虚拟交换机。
 
image
 
clip_image008
      如果是建立专用有网络,则不需要指定网卡,则输入命令:
image
clip_image010
      如果是建立内部网络,则也不需要指定网卡,则输入命令:
image
clip_image012
      当建立这3钟虚拟交换机后,我们通过命令Get-VMSwitch来查看Hyper-V主机的所有虚拟交换机。
clip_image013
      除此之外,关于虚拟交换的启用单根 I/O 虚拟化、设定VLAN等高级功能,我会在后面的网络章节中来重点介绍,除了建立简单的虚拟交换命令外,也可以将3中虚拟交换机进行转换和更改名称。
可以为将虚拟交换机重新命名,将vmNetwork02重新命名为vmNetwork04
image
Rename-VMSwitch "vmNetwork02" -NewName "vmNetwork04"
更改虚拟交换机为内部虚拟网络
image
Set-VMSwitch vmNetwork04 -SwitchType Internal
更改虚拟交换机为专用虚拟网络
image
Set-VMSwitch vmNetwork04 -SwitchType Private
 
 
      在完成了简单的网络设置,下面我们就通过Hyper-V管理器和Powershell来建立虚拟机,Hyper-V的功能就是让虚拟机进行运作,所以一切都有建立虚拟机开始,但以前Hyper-V版本中,往往建立虚拟机的权限都是Administrators群组中的成员才可以建立,但是在Windows Server 2012中有一个Hyper-V专用的新群组Hyper-V Administrators,此群组的成员可完整存取Hyper-V的所有功能而不受任何限制,并没有其它服务管理的权限,所以管理Hyper-V主机的话,可以赋予Hyper-V Administrators中的帐号。
      在GUI界面下,使用Hyper-V管理器连接到Hyper-V主机,右键点击Hyper-V主机,在弹出的菜单中,选择新建-虚拟机。
clip_image015
 
      之后会弹出建立虚拟机的向导,在开始之前界面里,直接点击下一步,在指定虚拟机名称和位置界面中,输入虚拟机的名称,默认的虚拟机位置是之前设置好的,可以勾选将虚拟机存储在不同的位置中,默认是放在ProgramData文件夹中,此文件夹是隐藏文件,建议还是跟改到其他目录。
clip_image017
 
      在分配内存页面中,设置虚拟机的内存,单位是MB,默认是512MB,最大1TB,如果选择设置了使用动态内存,则虚拟机的内存就是所设定内存的最下限,上限就是Hyper-V剩下空余的内存,最大是1048576MB内存。
clip_image019
 
      在配置网络界面中,选择下拉菜单中,选择一个虚拟交换机。
clip_image021
 
      在连接虚拟硬盘界面上,设置虚拟的存储空间,默认是127GB,最大可大到64TB,除了可以建立新的虚拟硬盘,也可以使用现有的虚拟硬盘,并指定新建或者现有磁盘的位置。也可稍后连接虚拟磁盘。如果是Hyper-v 2.0,则默认的格式是VHD,这里Hyper-v 3.0默认的是VHDX。
clip_image023
 
        选择安装介质,大部分会使用ISO安装,Windows从2008 R2开始,支持VHD的硬盘ISO,方便虚拟机的安装。
clip_image025
clip_image027
使用Powershell命令来建立虚拟机非常的方便,只需要1条命令就可以建立1台虚拟机甚至多台虚拟机,我们可以使用New-VM命令来建立虚拟机,首先先看下他的语法。
image
 
其中包括:
-MemoryStartupBytes,指定虚拟机的大小,这里可以设置大小单位MB和GB。
-BootDevice,指定虚拟机的开机顺序,CD、Floppy、LegacyNetworkAdapter、IDE。
-ComputerName,Hyper-V主机名称,也就是电脑名称。
-SwitchName,指定虚拟机的虚拟交换机名称,如果是预设名称,则是新建虚拟交换机。
-NewVHDPath,指定虚拟机的硬盘路径、名称、VHD格式和VHDX格式。
-NewVHDSizeBytes,虚拟机的硬盘大小,在不指定大小单位时,默认是byte.
        下面就举例建立一个虚拟机,建立虚拟机名字为vm2,内存为512MB,指定目录在C盘,硬盘名称为vm02.vhdx,大小15GB,虚拟交换机为vmNetwork。
image
New-VM -Name "vm2"-MemoryStartupBytes 512mb -SwitchName vmNetwork -NewVHDPath c:\vm02.vhdx -NewVHDSizeBytes 15GB
clip_image030
        当我们不需要虚拟机的时候,我们可以使用Remove-VM命令来进行删除,在删除前,会弹出是否确认删除虚拟机。
clip_image031
        如果不希望提示,可以使用Remove-VM -Name vm2 –Force,这样会直接删除。
        当虚拟机建立完成后,要对虚拟机进行修改,给虚拟机增加或者减少资源,配置虚拟机的一些功能,首先我们通过Hyper-V管理器来进行虚拟机的设置管理。
        在添加硬件界面中,可以为虚拟机添加SCSI控制器、网络配置器、旧版网络适配器、光纤通道适配器,如果服务中有独立显卡硬件,并在Hyper-V中开启GPU功能,则可以添加RemoteFX 3D视频适配器。而网络适配器最多有8张。
clip_image033
        SCSI控制器:每台虚拟机最多可支持256个SCSI磁盘(4个SCSI控制器),每个控制器最多支持64个磁盘。SCSI控制器使用的装置类型是为了与虚拟机搭配使用而开发,并且利用虚拟机总线 (VMbus)来通信,当虚拟机中的系统启动时,必须要有可用的虚拟机总线 (VMbus)。因此,连接到SCSI控制器虚拟硬盘不可以作为启动磁盘使用。
        如果使用Powershell来为mbf虚拟机添加SCSI控制器,使用命令:
image
Add-VMScsiController -VMName mabf
      适配器和旧版网络适配器:新版的网络适配器需要驱动程序,某些Windows会包含此程序,而旧的网络适配器不需要安装驱动程序,传统的网络适配器同样也支持网络模式安装,因为他具有PXE的功能,但是没有网络硬件加速功能。64位Windows Server2003不支持传统网络适配器。
      如果使用Powershell来为mbf虚拟机添加旧版网络适配器VMNIC,使用命令:
image
Add-VMNetworkAdapter -VMName mabf -Name "VMNIC"
      如果使用Powershell来为mbf虚拟机添加网络适配器,使用命令:
image
Add-VMNetworkAdapter -VMName mabf -IsLegacy $true
      光钎通道适配器:如果希望虚拟机使用光钎通道,可以添加光钎通道适配器,每个虚拟机最多可以配置4个光钎通道适配器。
image
Add-VMFibreChannelHba -VMName mabf -SanName FCSAN
      在虚拟机设置的选项中,可以设置虚拟机开机启动时,启动设备的顺序,CD驱动器是默认的第一启动。可以打开或关闭Num Lock。
clip_image035
 
        通过Powershell设定虚拟机的启动顺序。其命令行为:
clip_image036
 
通过Powershell设置启动NumLock
image
Set-VMBios mabf -EnableNumLock
查看mabf虚拟机的Bios状态
clip_image037
 
clip_image039
 
查看虚拟机的内存状态
clip_image040
 
        设定mabf的虚拟机的动态内存,启动RAM256MB、下限54MB、RAM上限2GB,内存缓存区25%,内存权重80%。
image
Set-VMMemory mabf -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25
 
clip_image042
 
      查看mabf虚拟机的虚拟CPU
clip_image043
 
      将mabf虚拟机设置为vCPU数目为2个,虚拟机保留10%,虚拟机限制75,相对权重200
image
Set-VMProcessor mabf -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200
clip_image045
 
打开mabf虚拟机的迁移到具有不同处理器版本的物理计算机
image
Set-VMProcessor mabf -CompatibilityForMigrationEnabled $true
clip_image047


        虚拟名称mabf设定网络界面卡名称VMNIC指定连接虚拟交换器vmNetwork
image
Connect-VMNetworkAdapter -VMName mabf -Name vmnic -SwitchName vmNetwork

        查看虚拟机器名称test所有网络界面卡
clip_image048

        将虚拟机器名称mabf的网络界面卡名称mabf更名成mabf01
image
Rename-VMNetworkAdapter -VMName mabf -Name mabf -NewName mabf01
 
        移除虚拟机器名称mabf的网络介面卡名称VMNIC
image
Remove-VMNetworkAdapter -VMName mabf -VMNetworkAdapterName vmnic
 
        虚拟机器名称mabf启用虚拟LAN识别码(VLA),识别码号码20
image
Set-VMNetworkAdapterVlan -VMName mabf -Access -VlanId 20
 
        查看所有网络界面卡VLAN状态,第一个是vmNetwork是虚拟交换器
clip_image049

          设定虚拟机器名称mabf。Trunk模式虚拟LAN识别码(VLAN)1-100,如果没有相对应的,就是使用识别码10
image
Set-VMNetworkAdapterVlan -VMName mabf -Trunk -AllowedVlanIdList 1-100 -NativeVlanId 10
 
        如果要停用此VLAN设置,就必须使用Powershell清除,无法使用GUI界面的Hyper-V管理器。
clip_image050
      设定虚拟机器名称mabf网络界面卡VLAN,主要VLAN识别码10,次要VLAN识别码200
image
Get-VMNetworkAdapter -VMName mabf | Set-VMNetworkAdapterVlan -Isolated -PrimaryVlanId 10 -SecondaryVlanId 200
同样的,如果要停用此VLAN设置,就必须使用Powershell清除,无法使用GUI界面的Hyper-V管理器。
 
      设定虚拟机器名称mabf网络界面卡VLAN,主要VLAN识别码10,次要VLAN识别码200~201
image
Get-VMNetworkAdapter -VMName mabf | Set-VMNetworkAdapterVlan -Promiscuous -PrimaryVlanId 10 -SecondaryVlanIdList 200-201
同样的,如果要停用此VLAN设置,就必须使用Powershell清除,无法使用GUI界面的Hyper-V管理器。
    虚拟机器名称test停用虚拟LAN识别码(VLAN)
image
Set-VMNetworkAdapterVlan -VMName mabf –Untagged
 
    设定虚拟机器名称mabf启用频宽管理,限制最大频宽500Mbps
image
Set-VMNetworkAdapter –VMName mabf -MinimumBandwidthWeight 50000000
 
    设定虚拟机器名称mabf启用频宽管理,限制最小频宽10Mbps。
image
Set-VMNetworkAdapter –VMName mabf -MinimumBandwidthAbsolute 1000000
 
    不能同时设定MinimumBandwidthAbsolute和MinimumBandwidthWeight
image
    如果将最大与最小的带宽限制都为0,则虚拟机器名称mabf停用频宽管理
clip_image054

              支持VMQ功能的网卡可针对每个虚拟机网卡建立唯一的列队,然后将列队直接连到虚拟机的内存,此连接将封包从Hypervisor直接路由传至虚拟机,这个个功能必须要有相对应的网卡支持才能实现。
打开MyAdapter的虚拟机队列
image
PS C:\> Set-NetAdapterVmq –Name MyAdapter -Enabled $True
 
        IPsec任务卸载设定,设定成200
image
Set-VMNetworkAdapter -VMName mabf -IPsecOffloadMaximumSecurityAssociation 200
 
        开启SR-IOV功能
image
Set-VMNetworkAdapter mabf -IovWeight 1
 
        关闭SR-IOV功能
image
Set-VMNetworkAdapter mabf -IovWeight 0
 
clip_image056
 
        设置虚拟机的MAC地址为动态地址
image
Set-VMNetworkAdapter -VMName mabf –DynamicMacAddress
 
        设定虚拟机的MAC地址为静态地址(00-0c-29-D2-D0-A5)
image
Set-VMNetworkAdapter -VMName mabf -StaticMacAddress "00-0c-29-d2-d0-a5"
 
        设置启用/关闭MAC地址欺骗
clip_image057

        启用/关闭DHCP防护
clip_image058

        启动/关闭路由器播发保护
clip_image059

        设置端口镜像模式为无、源和目标
clip_image060

        启动、关闭NIC小组
clip_image061


clip_image063

        建立新的虚拟磁盘文件
clip_image064

        设置虚拟机mabf指定使用软盘驱动器为Floppytest.vfd
image
Set-VMFloppyDiskDrive mabf C:\floppytest.vfd

clip_image066

        设置虚拟机mabf的自动操作设置为如果服务停止,则自动启动,自动启动延迟30秒
Set-VM -Name mabf -AutomaticStartAction StartIfRunning -AutomaticStartDelay 30
clip_image067
        Nothing:不执行任何动作
        StartIfRunning:如果服务停止时正在运行,则自动启动
        Start:永远自动启动此虚拟机


clip_image069


        虚拟机mabf设置自动停止、关闭、存储动作为关闭来宾操作系统。
clip_image070

本文转自 mabofeng  51CTO博客,原文链接:http://blog.51cto.com/mabofeng/1185097 ,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术小牛人
+ 关注