日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Openstack的nova-network的vlan模式扩展

發(fā)布時(shí)間:2024/1/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Openstack的nova-network的vlan模式扩展 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

openstack的nova-network的vlan模式是可以在安裝的時(shí)候,將網(wǎng)絡(luò)劃分為多個(gè)子網(wǎng),每個(gè)項(xiàng)目一個(gè)或者多個(gè)子網(wǎng)進(jìn)行虛擬機(jī)創(chuàng)建。 但是他現(xiàn)在代碼級(jí)別上不支持:如果一開始安裝的環(huán)境的vlan網(wǎng)段數(shù)目太少,后面使用要進(jìn)行擴(kuò)展的話容易出現(xiàn)問(wèn)題。

場(chǎng)景

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

nova-manage network create --lable vlan52 --fixed_range_v4 172.17.52.0/24 --vlan 52 --project_id 80c29c88d3c349a78d4ed558e224eac4

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

[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

請(qǐng)注意上面的結(jié)論的VlanID的值,雖然我們輸入的vlan是52,但是這里的VlanID卻是53,為什么? 當(dāng)然,為什么我在這里糾結(jié)這個(gè)vlanID呢,因?yàn)樵诰W(wǎng)絡(luò)節(jié)點(diǎn)上創(chuàng)建br網(wǎng)橋,vlan都需要這個(gè)vlantag來(lái)進(jìn)行數(shù)據(jù)的封包,如果他不正確,虛擬實(shí)例將無(wú)法ping到網(wǎng)關(guān),也無(wú)法ssh連接。

實(shí)際測(cè)試中我還建立了其他環(huán)境,而那個(gè)環(huán)境一開始就有4個(gè)網(wǎng)絡(luò),我們?nèi)绻付ǖ膙lan是51,那么vlanID的最終數(shù)據(jù)庫(kù)存儲(chǔ)將是54,結(jié)論很明顯,我新建立一個(gè)vlan,將使用已有的vlan的數(shù)量+我輸入的vlanID,不明白為什么這樣弄,不符合我們新創(chuàng)建的vlan的ID的增加順序。

源碼跟蹤:

if CONF.network_manager == 'nova.network.manager.VlanManager':1190 vlan = kwargs.get('vlan', None)1191 print kwargs1192 if not vlan:1193 print num_used_nets1194 index_vlan = index + num_used_nets1195 print index_vlan1196 #vlan = kwargs['vlan_start']1197 vlan = kwargs['vlan_start'] + index_vlan1198 used_vlans = [x['vlan'] for x in nets]1199 print used_vlans1200 if vlan in used_vlans:1201 # That vlan is used, try to get another one1202 used_vlans.sort()1203 vlan = used_vlans[-1] + 1

這是/usr/lib/python/site-package/nova/network/manager.py的內(nèi)容,而vlanID不正確也正是這段代碼導(dǎo)致的.這里我了幾個(gè)print。執(zhí)行我們前面的創(chuàng)建虛擬網(wǎng)絡(luò)的命令,將打印:

... 1 1 [51L] ...

即index_vlan=1,used_vlans=[51L], 修改方法: 將1197行的vlan=kwargs['vlan_start']+index_vlan修改為vlan=kwargs['vlan_start'] 將原來(lái)創(chuàng)建的網(wǎng)絡(luò)關(guān)聯(lián)刪除,使用命令:

nova network-disassociate network-id nova-manage network delete network-id

重新執(zhí)行網(wǎng)絡(luò)創(chuàng)建命令,將可以得到正確的vlanID,而且還能在后續(xù)的虛擬機(jī)創(chuàng)建后,虛擬機(jī)能使用該fixed_range到達(dá)實(shí)例。

最后,發(fā)現(xiàn)這是一個(gè)官方的bug列表里已經(jīng)有人提出了的:?https://bugs.launchpad.net/nova/+bug/1288609

根據(jù)官網(wǎng)的的修改方法: 修改/usr/lib/python/site-package/nova/network/manager.py 的1189行,該vlan = kwargs.get('vlan', None)為vlan = kwargs.get('vlan_start', None)

patch地址:https://review.openstack.org/#/c/99692/

轉(zhuǎn)載于:https://www.cnblogs.com/CLTANG/p/4332553.html

總結(jié)

以上是生活随笔為你收集整理的Openstack的nova-network的vlan模式扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。