將 instance 連線到 first_local_net - 每天5分鐘玩轉 OpenStack(82)

weixin_34319999發表於2017-11-15

image530.5.png

上一節 first_local_net 已經就緒,下面建立 instance 並將其連線到該網路。

將 instance 連線到 first_local_net

launch 一個 instance,在“Networking”標籤頁面選擇 first_local_net 網路。

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

底層網路發生了什麼變化?

對於 instance “cirros-vm1”,Neutron 會在 subnet 中建立一個 port,分配 IP 和 MAC 地址,並將 port 分配給 cirros-vm1。

如上圖所示,port 列表中增加了一個 port “(fa7e090e-a29c)”,IP 為 172.16.1.3。 點選 port 名稱檢視 MAC 資訊:

當 cirros-vm1 啟動時: 1. 宿主機上的 neutron-linuxbridge-agent 會根據 port 資訊建立 tap 裝置,並連線到 local 網路所在的 bridge 2. 同時該 tap 會對映成 cirros-vm1 的虛擬網路卡,即 virtual interface (VIF)。

下面我們驗證一下以上資訊:

cirros-vm1 部署到了控制節點,通過 brctl show 檢視 bridge 的配置。

可以看到 bridge brqbb9b6d21-c6 上連線了一個新的 tap 裝置 tapfa7e090e-a2 從命名上可知 tapfa7e090e-a2 對應著 port “(fa7e090e-a29c)”。

virsh list 中顯示的虛擬機器 instance-00000001 即為 “cirros-vm1”,命名方式有所不同,需注意。 通過 virsh edit 命令檢視 cirros-vm1 的配置,確認 VIF 就是 tapfa7e090e-a2

另外,VIF 的 MAC 地址為 fa:16:3e:c1:66:a5,這個資料就是從 port “(fa7e090e-a29c)” 取過來的。

在 cirros-vm1 中執行 ifconfig,通過 MAC 地址可以確認 eth0 與 tapfa7e090e-a2 對應。

下圖展示了建立 cirros-vm1 後宿主機當前的網路結構。

下一節我們將部署第二個 instance 到 first_local_net 並驗證兩個 instance 之間的連通性。

 

blob.png


本文轉自CloudMan6 51CTO部落格,原文連結:
http://blog.51cto.com/cloudman/1846284


相關文章