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

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條評論
主站蜘蛛池模板: 色香蕉网站 | www.免费视频 | 99精品国产成人a∨免费看 | 久久精品国产亚洲a不卡 | 玖玖精品在线 | 日韩欧美中文字幕出 | 九九99精品 | 不卡中文一二三区 | 日韩www视频 | 亚洲 欧美 精品 | 精品国产免费第一区二区三区日韩 | 91久久精品一区二区三区 | 亚洲精品一级一区二区三区 | 国内精品自在自线在免费 | 亚洲一区二区三区四 | 看一级特黄a大片日本片黑人 | 很很鲁在线视频播放影院 | 四虎国产精品永久地址51 | 欧美日韩精品一区二区三区 | 久久99九九99九九99精品 | 国内精品免费一区二区观看 | 色婷五月 | 色姑娘久 | 欧美成人毛片在线视频 | 国产一级特黄特色aa毛片 | 欧美大尺度 边吃奶边做 | 视频在线一区二区 | 豆国产93在线 | 亚洲 | 欧美成人亚洲高清在线观看 | 不卡的中文字幕 | 一二三区免费视频 | 久久aa毛片免费播放嗯啊 | 欧美一级成人影院免费的 | 99久久国产综合精品五月天 | 9re视频这里只有精品 | 狠狠色噜噜狠狠狠合久 | 免费国内精品久久久久影院 | 欧美精品日本一级特黄 | 欧美一级成人一区二区三区 | 亚洲毛片免费视频 | 夜夜操天天干 |