溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何將instance部署到OVS Local Network

發(fā)布時間:2021-11-19 15:00:08 來源:億速云 閱讀:137 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關(guān)如何將instance部署到OVS Local Network,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

今天我們會部署一個 instance 到該網(wǎng)絡(luò)并分析網(wǎng)絡(luò)結(jié)構(gòu)。

launch 一個 instance,選擇 first_local_net 網(wǎng)絡(luò)

instance 部署成功,分配的 IP 地址為 172.16.1.3


底層網(wǎng)絡(luò)發(fā)生了什么變化?

對于 instance “cirros-vm1”,Neutron 會在 subnet 中創(chuàng)建一個 port,分配 IP 和 MAC 地址,并將 port 分配給 cirros-vm1。

port 列表中增加了一個 port “(fc1c6ebb-719d)”,IP 為 172.16.1.3,點擊 port 名稱查看 MAC 信息。


我們可以先按照在 linux bridge driver 章節(jié)學(xué)到的知識推測一下: Open vSwitch driver 會如何將 cirros-vm1 連接到 first_local_net?

如果采用類似的實現(xiàn)方法,neutron-openvswitch-agent 會根據(jù) port 信息創(chuàng)建 tap 設(shè)備 tapfc1c6ebb-71,并將其連接到 br-int 網(wǎng)橋,tapfc1c6ebb-71 就是 cirros-vm1 的虛擬網(wǎng)卡。

下面我們驗證一下事實是否如此

cirros-vm1 部署到了控制節(jié)點,通過 ovs-vsctl show 查看 bridge 的配置

非常遺憾,在 br-int 上并沒有看到 tapfc1c6ebb-71,而是多了一個 qvofc1c6ebb-71。
目前我們并不知道 qvofc1c6ebb-71 是什么,我們再用 brctl show 查看一下 linux bridge 的配置:


這里我們看到有一個新建的網(wǎng)橋 qbrfc1c6ebb-71,上面連接了兩個設(shè)備 qvbfc1c6ebb-71 和 tapfc1c6ebb-71。
從命名上看,他們都應(yīng)該與 cirros-vm1 的虛擬網(wǎng)卡有關(guān)。

通過 virsh edit 查看 cirros-vm1 的配置

確實 tapfc1c6ebb-71 是 cirros-vm1 的虛擬網(wǎng)卡。 那么 linux bridge qbrfc1c6ebb-71 上的 qvbfc1c6ebb-71 設(shè)備與 Open vSwitch br-int 上的 qvofc1c6ebb-71 是什么關(guān)系呢?

下面的內(nèi)容稍微需要一些技巧了。 我們用 ethtool -S 分別查看 qvbfc1c6ebb-71 和 qvofc1c6ebb-71 的 statistics。

原來 qvbfc1c6ebb-71 和 qvofc1c6ebb-71 都是 veth 設(shè)備,它們對應(yīng)的另一端 veth 設(shè)備 的 index 分別是 12 和 13。 通過 ip a 命令找到 index 12 和 13 的設(shè)備。

到這里,相信有同學(xué)已經(jīng)看出來了:qvbfc1c6ebb-71 和 qvofc1c6ebb-71 組成了一個 veth pair。
我們之前介紹過,veth pair 是一種成對出現(xiàn)的特殊網(wǎng)絡(luò)設(shè)備,它們象一根虛擬的網(wǎng)線連接兩個網(wǎng)絡(luò)設(shè)備。
這里 qvbfc1c6ebb-71 和 qvofc1c6ebb-71 的作用就是連接網(wǎng)橋 qbrfc1c6ebb-71 和 br-int。

tapfc1c6ebb-71 通過 qbrfc1c6ebb-71 間接連接到 br-int。

那問題來了,為什么 tapfc1c6ebb-71 不能像左邊的 DHCP 設(shè)備 tap7970bdcd-f2 那樣直接連接到 br-int 呢?

其原因是: Open vSwitch 目前還不支持將 iptables 規(guī)則放在與它直接相連的 tap 設(shè)備上。

如果做不到這一點,就無法實現(xiàn) Security Group 功能。 為了支持 Security Group,不得不多引入一個 Linux Bridge 支持 iptables。

這樣的后果就是網(wǎng)絡(luò)結(jié)構(gòu)更復(fù)雜了,路徑上多了一個 linux bridge 和 一對 veth pair 設(shè)備。

關(guān)于如何將instance部署到OVS Local Network就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI