none
windows 2012 虚拟化hyperv 上pvlan功能实现的问题 RRS feed

  • 问题

  • 内网核心上设有vlan9,10

    根据What's New in Hyper-V Virtual Switch设置完PVLAN功能,在服务器内部可以实现PVLAN的功能。

    但发现无法和外部核心交换机上VLAN 10的服务器之间的访问,请问问题出在哪里?

    虚拟机 PVLAN功能需要外部交换机的PVLAN功能支持吗?还是在hyperv 里面可以直接使用powershell命令设置剥离secondary出去直接使用primaryvlanid ?

    命令输入如下,上联口为trunk

    Set-VMNetworkAdapterVlan –VMName VM1 –Isolated –PrimaryVlanId 10 –SecondaryVlanId 20
    Set-VMNetworkAdapterVlan –VMName VM1 –Isolated –PrimaryVlanId 10 –SecondaryVlanId 30
    谢谢
    2013年1月29日 4:29

答案

  • 您好!

    根据我的研究,PVLAN只能在本交换机上建立,不允许通过TRUNK端口延伸到其他交换机上。pvlan私有用户可以向外传数据但是当出去的时候是通过主vlan出去的,所以对外界来说不知道主vlan下还有私有vlan.而对内部来说是划分了各个vlan,主要用在上层设备所支持vlan数量有限的情况下。

    希望我的回答对您有所帮助,如果有什么不清楚的地方,请您告诉我。


    微软一站式示例脚本库: http://blogs.technet.com/b/onescript



    2013年2月7日 7:10
    版主

全部回复

  • 您好!

    根据我的研究,PVLAN只能在本交换机上建立,不允许通过TRUNK端口延伸到其他交换机上。pvlan私有用户可以向外传数据但是当出去的时候是通过主vlan出去的,所以对外界来说不知道主vlan下还有私有vlan.而对内部来说是划分了各个vlan,主要用在上层设备所支持vlan数量有限的情况下。

    希望我的回答对您有所帮助,如果有什么不清楚的地方,请您告诉我。


    微软一站式示例脚本库: http://blogs.technet.com/b/onescript



    2013年2月7日 7:10
    版主
  • 您好

         谢谢您的回复

          根据您的研究,结论并不和我的相同,问题可能出在其它点上。

          我这边使用的是h3c的交换机,和服务器连接使用的是trunk接口,允许所有vlan通过。

          服务器里面hyperv交换机上联接口根据默认配置未做更改。

          然后在命令行使用以下命令为两台虚拟机vm1和vm2配置了pvlan,另外一台虚拟机vm3使用access 接口属于vlan10。命令如下:

    Set-VMNetworkAdapterVlan –VMName VM1 –Isolated –PrimaryVlanId 10 –SecondaryVlanId 20
    Set-VMNetworkAdapterVlan –VMName VM2 –Isolated –PrimaryVlanId 10 –SecondaryVlanId 30

        vm1和vm2虚拟机的ip地址为192.168.10.21和192.168.10.22,网关为192.168.10.254(在h3c三层交换机上,h3c上配置有vlan10,vlan地址为192.168.10.254)。vm3地址为192.168.10.23

    最后我使用ping命令测试网关(ping 192.168.10.254)发现vm1和vm2无法ping 通。而vm3可以ping通,因此我怀疑我的配置有问题。

    请问我的配置有问题吗?是不是遗漏了配置。

    • 已建议为答案 GlaveTiger 2013年2月16日 14:26
    2013年2月15日 0:17
  • 我也碰到同样的问题,不过琢磨了好久,这个问题顺利解决了,具体参考以下步骤:
    1、在装了hyper-v role的2012 server上,通过lbfoadmin.exe命令,配置NIC Teaming。一个team包含几块物理网卡,可以根据自己的实际需要设置,当然一块网卡也成。
    2、配完team以后,然后在team上根据primary vlan设置子接口,有几个primary vlan就新建几个对应vlan的子接口。
    3、对于只有一个primary vlan的情况,网卡外接的物理交换机接口设置为access模式和对应的vlan;对于有多个primary vlan的情况,物理交换机接口设置为trunk模式,并允许所有这些

    primary vlan的报文通过。
    4、通过hyper-v 管理器或powershell, 为每个primary vlan都新建一个v-switch。
    5、给虚拟机添加合适的网卡,并挂到primary vlan对应的v-switch上。
    6、同powershel命令,给每个虚拟机配置pvlan:比如
    Set-VMNetworkAdapterVlan –VMName VM1 -Isolated –PrimaryVlanId 10 –SecondaryVlanId 20
    Set-VMNetworkAdapterVlan –VMName VM2 -community –PrimaryVlanId 10 –SecondaryVlanId 30
    Set-VMNetworkAdapterVlan –VMName VM3 -promiscuous –PrimaryVlanId 10 –SecondaryVlanIdlist 20-30

    7、通过以上按序ke作了!

    • 已建议为答案 GlaveTiger 2013年2月16日 14:45
    2013年2月16日 14:45
  • 您好

    非常感谢GlaveTiger提供的解决方法,这是可能是种曲线方法。

    想请问Tom Zhang – MSFT<abbr class="affil">Microsoft Contingent Staff, Moderator</abbr> 先生,在windows2012 hyperv的重点宣传的PVLAN功能,难道只能通过这个方法实现吗。

    “pvlan私有用户可以向外传数据但是当出去的时候是通过主vlan出去的”--这个论断如果按下面两篇文档的配置命令是无法实现的,出去的不是主vlanhttp://technet.microsoft.com/en-us/library/hh848475.aspx

    http://technet.microsoft.com/zh-cn/library/jj679878.aspx

    • 已编辑 intport 2013年2月18日 7:05
    2013年2月18日 6:48
  • VM3设置混杂端口是为什么?
    2014年1月31日 7:18