Xenserver

XCP 交換機埠鎖定不起作用

  • January 4, 2013

我正在試驗 XCP/XenServer 的“交換機埠鎖定”功能,該功能允許管理程序限制虛擬機可以使用的 IP 地址。但是,我似乎無法讓它按預期工作。

環境:XCP 1.6 在 Dell PE2950 上執行。連接到單個網路的 VM(Ubuntu 12.04 VM)。作為綁定(但不是 LACP)、未標記(即無 VLAN)網路提供給 XCP 的網路。XCP 使用的是 OVS,而不是 Linux 橋接。

與相關 VM 關聯的 VIF 配置如下:

# xe vif-param-list uuid=31c2106f-18c0-1feb-453b-5500f6d7c2b4 
uuid ( RO)                        : 31c2106f-18c0-1feb-453b-5500f6d7c2b4
                vm-uuid ( RO): 53cf1c1e-8fce-4c75-dbc5-987ed1dd6444
          vm-name-label ( RO): wtctest1
     allowed-operations (SRO): attach; unplug
     current-operations (SRO): 
                 device ( RO): 0
                    MAC ( RO): ae:63:a8:61:f6:24
      MAC-autogenerated ( RO): false
                    MTU ( RO): 1500
     currently-attached ( RO): true
     qos_algorithm_type ( RW): 
   qos_algorithm_params (MRW): 
qos_supported_algorithms (SRO): 
           other-config (MRW): 
           network-uuid ( RO): 8f2489a4-1b0e-b906-24bf-0f1c724396da
     network-name-label ( RO): 192.168.1.0/24
            io_read_kbs ( RO): 0.331
           io_write_kbs ( RO): 0.134
           locking-mode ( RW): locked
           ipv4-allowed (SRW): 192.168.1.131
           ipv6-allowed (SRW): fe80::ac63:a8ff:fe61:f624; 2001:470:e872:1::132

我希望當 VM 配置為使用諸如 192.168.1.132 之類的 IP 時,不會傳遞流量,但它是:

root@wtctest1:~# ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   inet 192.168.1.132/24 brd 192.168.1.255 scope global eth0
root@wtctest1:~# ping -c1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=1.05 ms

如果我將 VIF 的鎖定模式設置為“禁用”,則所有流量都會按預期停止流動。

我錯過了什麼?對別人來說很明顯的東西,我敢肯定……

感謝社區中的一些方便的工作,我們有一個修復!這個問題是由 George Skuklin 發現並修復的。有問題的腳本是 /opt/xensource/libexec/setup-vif-rules。第 234 行有問題。

“bridge_name = “xenbr%s” % devid”

“Devid 是 domU 的設備號(fe vif1.15;15 - devid),絕對不是 xenbr 編號(xenbr0、xenbr1 等)。”

創建了一個更新檔來替換該行並添加一個函式,該函式也返回 VIF 所屬的正確橋。我將我的主機置於維護模式,並通過執行以下操作從每個主機的 dom0 主目錄應用更新檔:

cd ~

wget https://github.com/selectel/xen-api/commit/7f5608382e7d1c634f748ec78ace67c2c98ba617.patch

patch -p2 /opt/xensource/libexec/setup-vif-rules 7f5608382e7d1c634f748ec78ace67c2c98ba617.patch

修補後,我發現 VIF 級別鎖定在我的池中的任何網路上都按預期工作。

引用自:https://serverfault.com/questions/461727