New-SCVirtualNetwork

在 VMM 管理的主机上创建一个虚拟网络,该主机上的虚拟机可以通过该虚拟网络进行通信。

语法

New-SCVirtualNetwork
   -LogicalNetwork <LogicalNetwork[]>
   [-Name] <String>
   [-Description <String>]
   [-HostBoundVLanId <UInt16>]
   -JobGroup <Guid>
   [-BoundToVMHost <Boolean>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVirtualNetwork
   -VMHost <Host>
   [-Name] <String>
   [-Description <String>]
   [-HostBoundVLanId <UInt16>]
   [-JobGroup <Guid>]
   [-BoundToVMHost <Boolean>]
   [-VMHostNetworkAdapters <HostNetworkAdapter[]>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVirtualNetwork
   -VMHost <Host>
   [-ManagementAdapterName <String>]
   [-ManagementAdapterVLanId <UInt16>]
   [-ManagementAdapterVMNetwork <VMNetwork>]
   [-ManagementAdapterVMSubnet <VMSubnet>]
   [-ManagementAdapterPortClassification <PortClassification>]
   [-UseExplicitIPConfigurationForManagementAdapter <Boolean>]
   [-ManagementAdapterIPv4AddressType <EthernetAddressType>]
   [-ManagementAdapterIPv6AddressType <EthernetAddressType>]
   [-Description <String>]
   -LogicalSwitch <LogicalSwitch>
   [-JobGroup <Guid>]
   [-VMHostNetworkAdapters <HostNetworkAdapter[]>]
   [-CreateManagementAdapter]
   [-ManagementAdapterIPv4AddressPool <StaticIPAddressPool>]
   [-ManagementAdapterIPv6AddressPool <StaticIPAddressPool>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVirtualNetwork
   -VMHost <Host>
   [-Description <String>]
   -LogicalSwitch <LogicalSwitch>
   [-JobGroup <Guid>]
   [-VMHostNetworkAdapters <HostNetworkAdapter[]>]
   [-DeployVirtualNetworkAdapters]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVirtualNetwork
   -VMHostCluster <HostCluster>
   -LogicalNetwork <LogicalNetwork[]>
   [-Name] <String>
   [-Description <String>]
   [-HostBoundVLanId <UInt16>]
   [-JobGroup <Guid>]
   [-BoundToVMHost <Boolean>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]

说明

New-SCVirtualNetwork cmdlet 在 Virtual Machine Manager (VMM) 托管的主机上创建一个虚拟网络,该主机上的虚拟机可以通过该主机进行通信。

System Center - VMM 支持使用虚拟交换机为 Hyper-V 和 Citrix XenServer 主机实现虚拟网络方案。 可以采用类似于将物理计算机连接到物理网络交换机的方式将虚拟机和主机连接到虚拟网络交换机或将其绑定到虚拟网络交换机。

对于 Hyper-V 主机以及部署在这些主机上的虚拟机,VMM 还支持使用虚拟交换机来实现虚拟局域网 (VLAN) 。 VLAN 是在物理 LAN 内配置的独立逻辑虚拟网络。 如果您在物理 LAN 上创建多个 VLAN,这些独立的逻辑分段彼此之间将不能交换数据。

对于 XenServer 主机,连接到 XenServer 主机上的单个网络适配器的所有虚拟交换机都表示为 VMM 中的单个虚拟网络。

在 VMM for System Center 2019 及更高版本中,可以轻松地将连接到 VLAN 的虚拟机从一台主机移动到另一台主机, (假设两台主机都连接到同一 VLAN) ,新位置中的虚拟机已配置为通过 VLAN 恢复通信,而无需任何其他管理员工作。 将虚拟机移动到 VLAN 上的新位置时不需要重新配置软件,这与将物理计算机移动到物理网络上的新位置需要重新配置硬件不一样。

适用于 System Center 2019 及更高版本的网络方案的 VMM

以下三种方案汇总了适用于 System Center 2019 及更高版本的虚拟网络配置的 VMM。

方案 1:外部虚拟网络

在此方案中,部署在主机上的虚拟机使用虚拟网络适配器连接到主机上的虚拟交换机,然后此虚拟交换机连接到主机上的物理网络适配器。 主机通过物理交换机连接到其网络上的其他计算机。 此配置赋予虚拟机访问主机本身的权限、访问该主机所连接的物理网络的权限,以及访问与主机位于同一物理网络上的其他物理计算机(或其他物理设备)的权限。

如果虚拟网络所绑定的主机物理适配器经过适当配置,且该主机上的虚拟机配置为使用 VLAN,则该虚拟网络支持通过 VLAN 进行外部访问。 有关详细信息,请键入 Get-Help Add-SCVMHostNetworkAdapter -Detailed、 或 Get-Help New-SCVirtualNetworkAdapter -Detailed

方案 2:内部虚拟网络

在此方案中,部署在主机上的虚拟机使用虚拟网络适配器连接到主机上的虚拟交换机。 在此方案中,虚拟网络绑定到主机,但虚拟机不通过虚拟交换机连接到主机上的物理网络适配器。 此配置建立一个内部虚拟网络,使连接到该虚拟交换机的虚拟机能够相互通信,并与主机上的服务和应用程序通信,但不能与连接到主机物理网络的其他计算机通信。

如果您要配置分为两个或更多 VLAN 的内部网络,则必须在虚拟机对象上配置的某个虚拟网络适配器上设置 VLAN ID。 有关详细信息,请键入 Get-Help New-SCVirtualNetworkAdapter -DetailedGet-Help Set-SCVirtualNetworkAdapter -DetailedGet-Help Set-SCVMHostNetworkAdapter -Detailed

方案 3:专用虚拟网络

在此方案中,部署在主机上的虚拟机使用虚拟网络适配器连接到主机上的虚拟交换机。 与方案 2 一样,虚拟机不会通过该虚拟交换机连接到主机上的物理网络适配器。 与方案 2 不同的是虚拟网络未绑定到主机。 此配置建立一个专用虚拟网络,同一主机上的虚拟机可以使用该网络相互通信,但在这种情况下,它们无法与主机上的服务或应用程序或者与连接到主机物理网络的任何物理计算机通信。

示例

示例 1:在主机上创建外部虚拟网络

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01.Contoso.com"
PS C:\> $HostAdapter = Get-SCVMHostNetworkAdapter -VMHost $VMHost -Name "HostLANAdapter01"
PS C:\> New-SCVirtualNetwork -Name "ExternalVirtualNetwork01" -VMHost $VMHost -VMHostNetworkAdapter $HostAdapter

第一个命令获取名为 VMHost01 的主机对象,并将该对象存储在 $VMHost 变量中。

第二个命令获取 VMHost01 上名为 HostLANAdapter01 的物理主机网络适配器对象,并将该对象存储在 $HostAdapter 变量中。

第三个命令在 VMHost01 上创建名为 ExternalVirtualNetwork01 的虚拟网络,并将新虚拟网络连接到主机网络适配器 HostLANAdapter01。

此虚拟网络是外部虚拟网络。 它连接到主机上的物理网络适配器,因此可以访问主机连接到的 LAN,就好像它是该 LAN 上的另一台物理计算机一样。

示例 2:创建内部主机绑定虚拟网络

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01.Contoso.com"
PS C:\> New-SCVirtualNetwork -VMHost $VMHost -Name "InternalVNet01" -Description "Internal Host-Bound Virtual Network" -BoundToVMHost $True

第一个命令获取主机对象 VMHost01,并将对象存储在 $VMHost 变量中。

第二个命令在 VMHost01 上创建虚拟网络,将其命名为 InternalVNet01,指定说明和标记,并将虚拟网络绑定到物理主机。

此虚拟网络是主机绑定内部虚拟网络。 由于它未连接到主机上的物理网络适配器,因此不能访问主机外部的网络。 连接到该主机上的此内部虚拟网络的虚拟机只能相互进行通信。 由于此网络绑定到主机,因此还可能实现从虚拟机到主机的网络通信。

示例 3:创建未绑定到主机的专用虚拟网络

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01.Contoso.com"
PS C:\> New-SCVirtualNetwork -Name "UnboundVirtualNetwork01" -VMHost $VMHost

第一个命令获取名为 VMHost01 的主机对象,并将该对象存储在 $VMHost 变量中。

第二个命令在 VMHost01 上创建名为 UnboundVirtualNetwork01 的虚拟网络。

由于此网络未连接到主机上的物理网络适配器,因此不能访问主机外部的网络。 连接到该主机上的此内部虚拟网络的虚拟机只能相互进行通信。 由于虚拟网络未绑定到主机,因此无法与主机进行网络通信。

参数

-BoundToVMHost

指示虚拟网络是否绑定到主机。 将虚拟网络绑定到主机可实现与主机的网络通信。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CreateManagementAdapter

指示 cmdlet 创建管理适配器。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeployVirtualNetworkAdapters

指示此 cmdlet 部署虚拟网络适配器。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Description

指定虚拟网络的说明。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostBoundVLanId

将 VLAN 分配给为指定虚拟网络的主机创建的虚拟网络适配器。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

在运行最后一个包含相同作业组标识符的命令之前,为作为集合运行的一系列命令指定标识符。

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogicalNetwork

指定逻辑网络。 逻辑网络是 IP 子网和 VLAN 的命名分组,用于组织和简化网络分配。

Type:LogicalNetwork[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LogicalSwitch

指定逻辑交换机对象。

Type:LogicalSwitch
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ManagementAdapterIPv4AddressPool

指定 StaticIPAddressPool 对象。

Type:StaticIPAddressPool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterIPv4AddressType

指定 EthernetAddressType 对象。

Type:EthernetAddressType
Accepted values:Dynamic, Static
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterIPv6AddressPool

指定 StaticIPAddressPool 对象。

Type:StaticIPAddressPool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterIPv6AddressType

指定 EthernetAddressType 对象。

Type:EthernetAddressType
Accepted values:Dynamic, Static
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterName

指定管理适配器的名称。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterPortClassification

指定管理适配器的端口分类。

Type:PortClassification
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterVLanId

指定管理适配器的 VLAN ID。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterVMNetwork

指定管理适配器的 VM 网络。

Type:VMNetwork
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementAdapterVMSubnet

指定管理适配器的 VM 子网。

Type:VMSubnet
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定 VMM 对象的名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作的“性能和资源优化”提示 (PRO 提示) 的 ID。 此参数允许你审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业以异步方式运行,以便控件立即返回到命令行界面。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseExplicitIPConfigurationForManagementAdapter

指示是否对管理适配器使用显式 IP 配置。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMHost

指定一个虚拟主机对象。 VMM 支持 Hyper-V 主机、VMware ESX 主机和 Citrix XenServer 主机。

有关每种主机类型的详细信息,请键入 Get-Help Add-SCVMHost -Detailed。 请参阅特定 cmdlet 的示例以确定该 cmdlet 如何使用此参数。

Type:Host
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMHostCluster

指定 VMM 主机群集对象。

Type:HostCluster
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VMHostNetworkAdapters

指定主机上的一个或一组物理网络适配器对象,在此主机上部署的虚拟机可以连接到这些对象。

示例格式: -VMHostNetworkAdapters $VMHostNICs

Type:HostNetworkAdapter[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

VirtualNetwork

此 cmdlet 返回 VirtualNetwork 对象。