亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Openstack的nova-network的vlan模式擴展

系統 1829 0

openstack的nova-network的vlan模式是可以在安裝的時候,將網絡劃分為多個子網,每個項目一個或者多個子網進行虛擬機創建。
但是他現在代碼級別上不支持:如果一開始安裝的環境的vlan網段數目太少,后面使用要進行擴展的話容易出現問題。

場景
我們的場景是開始只建立一個vlan網段用于fixed_range(172.17.51.0/24,vlanID:51),num_networks=1,現在我們要加一個網絡,vlanId 52,除了在物理交換機上要配置該虛擬網絡,計算節點要使用trunk口以外,還需要在openstack集群中使用命令:

      nova-manage network create --lable vlan52 --fixed_range_v4 
      
        172.17
      
      .
      
        52.0
      
      /
      
        24
      
       --vlan 
      
        52
      
       --project_id 80c29c88d3c349a78d4ed558e224eac4
    

?

執行完成以后,我們使用命令查看:

      [root@node-
      
        8
      
       ~]# nova-
      
        manage network list

id IPv4 IPv6 start address DNS1 DNS2 VlanID project uuid 


      
      
        1
      
      
        172.17
      
      .
      
        51.0
      
      /
      
        24
      
       None 
      
        172.17
      
      .
      
        51.3
      
      
        218.6
      
      .
      
        200.139
      
      
        8.8
      
      .
      
        4.4
      
      
        51
      
       80c29c88d3c349a78d4ed558e224eac4    e8df9310-ba2c-45a8-
      
        9645
      
      -
      
        6d6d045da71e


      
      
        14
      
      
        172.17
      
      .
      
        52.0
      
      /
      
        24
      
       None 
      
        172.17
      
      .
      
        52.3
      
      
        8.8
      
      .
      
        4.4
      
       None 
      
        53
      
       80c29c88d3c349a78d4ed558e224eac4    eada580e-cf13-42d5-9c4e-b8e5c61de6d
    

?

請注意上面的結論的VlanID的值,雖然我們輸入的vlan是52,但是這里的VlanID卻是53,為什么?
當然,為什么我在這里糾結這個vlanID呢,因為在網絡節點上創建br網橋,vlan都需要這個vlantag來進行數據的封包,如果他不正確,虛擬實例將無法ping到網關,也無法ssh連接。

實際測試中我還建立了其他環境,而那個環境一開始就有4個網絡,我們如果指定的vlan是51,那么vlanID的最終數據庫存儲將是54,結論很明顯,我新建立一個vlan,將使用已有的vlan的數量+我輸入的vlanID,不明白為什么這樣弄,不符合我們新創建的vlan的ID的增加順序。

源碼跟蹤:

      
        if
      
       CONF.network_manager == 
      
        '
      
      
        nova.network.manager.VlanManager
      
      
        '
      
      
        :


      
      
        1190
      
       vlan = kwargs.
      
        get
      
      (
      
        '
      
      
        vlan
      
      
        '
      
      
        , None)


      
      
        1191
      
      
         print kwargs


      
      
        1192
      
      
        if
      
      
         not vlan:


      
      
        1193
      
      
         print num_used_nets


      
      
        1194
      
       index_vlan = index +
      
         num_used_nets


      
      
        1195
      
      
         print index_vlan


      
      
        1196
      
       #vlan = kwargs[
      
        '
      
      
        vlan_start
      
      
        '
      
      
        ]


      
      
        1197
      
       vlan = kwargs[
      
        '
      
      
        vlan_start
      
      
        '
      
      ] +
      
         index_vlan


      
      
        1198
      
       used_vlans = [x[
      
        '
      
      
        vlan
      
      
        '
      
      ] 
      
        for
      
       x 
      
        in
      
      
         nets]


      
      
        1199
      
      
         print used_vlans


      
      
        1200
      
      
        if
      
       vlan 
      
        in
      
      
         used_vlans:


      
      
        1201
      
       # That vlan 
      
        is
      
       used, 
      
        try
      
       to 
      
        get
      
      
         another one


      
      
        1202
      
      
         used_vlans.sort()


      
      
        1203
      
       vlan = used_vlans[-
      
        1
      
      ] + 
      
        1
      
    

?



這是/usr/lib/python/site-package/nova/network/manager.py的內容,而vlanID不正確也正是這段代碼導致的.這里我了幾個print。執行我們前面的創建虛擬網絡的命令,將打印:

      
        ...


      
      
        1
      
      
        1
      
    

?


即index_vlan=1,used_vlans=[51L],
修改方法:
將1197行的vlan=kwargs['vlan_start']+index_vlan修改為vlan=kwargs['vlan_start']
將原來創建的網絡關聯刪除,使用命令:

      nova network-disassociate network-
      
        id

nova
      
      -manage network delete network-id
    

?

重新執行網絡創建命令,將可以得到正確的vlanID,而且還能在后續的虛擬機創建后,虛擬機能使用該fixed_range到達實例。

?

最后,原來這是一個nova官方已發現的bug:

https://bugs.launchpad.net/nova/+bug/1288609

修改方法就不一樣了。

Openstack的nova-network的vlan模式擴展


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91精品国产乱码久久久久久 | 综合色好色 | 97精品久久天干天天蜜 | 美女视频黄的全i免费 | 久久国产精品久久久久久 | 久久久久久国产精品视频 | 欧美日韩国产一区二区三区播放 | 日韩高清欧美精品亚洲 | 91精品国产免费久久久久久 | 麻豆国产原创 | 黄色在线免费 | 亚洲免费视频一区二区三区 | 在线视频久草 | 久热996re这里有精品 | 这里只有久久精品视频 | 久久精品久久精品国产大片 | 欧美a色| 亚洲精品老司机综合影院 | 在线 中文字幕 日韩 欧美 | 免费国产视频在线观看 | 色丁香在线观看 | 日本一区二区在线 | 亚洲视频在线免费播放 | 在线亚洲 欧美 日本专区 | 日本福利片 | 噜噜色综合 | 91精品国产爱久久久久 | 伊人伊狠亚洲综合影院 | 亚洲高清成人欧美动作片 | jizzjizz成熟丰满老妇 | 干干干操操操 | 久久四虎 | 婷婷在线成人免费观看搜索 | 亚洲狠狠婷婷综合久久久久网站 | 毛片大片免费看 | 久在草影院| 五月天婷亚洲 | 99爱视频精品免视看 | 色六月丁香 | 日本黄色绿像 | 日韩欧美一级大片 |