這是 OpenStack 實施經驗分享系列的第 6 篇。
在項目實施過程中,經常會有添加刪除網卡的需求。比如一個運行數據庫的 instance,初始只有一個網卡,數據庫服務和備份共用這塊網卡,后來為提高性能以及合規的要求需要加一塊網卡專門做備份用。長久以來,Horizon 界面只支持在部署時為 instance 配置網卡,事后添加刪除網卡只能用命令行,本節就來演示這個操作。
添加網卡
我們現在有一個 instance “c1”,有一塊 vlan111 的網卡,IP 為 17.17.111.5。
當前有兩個 vlan 網絡 “vlan111” 和 “vlan112”。
執行命令 nova interface-attach 為 “c1” 添加一塊 “vlan112” 的網卡,分配到的 IP 為 17.17.112.9。
在 instance 的控制台中可以看到新網卡為 eth1,但沒有獲取到 IP。
其原因是當前操作系統中還沒有 eth1 的配置,編輯 /etc/network/interfaces 添加 eth1。
然后執行 ifup eth1 啟用該網卡,這次 17.17.112.9 的 IP 就獲取到了。
刪除網卡
下面演示如何刪除網卡,用到的命令是:
nova interface-detach
<server> 用來指定 instance。
<port_id> 是要刪除網卡對應的 port。
可以通過 neutron port-list 查看 port 信息。
比如我們要刪除 IP 為 17.17.111.5 的這個網卡,命令如下:
instance 控制台中看到 eth0 已經沒有了,只剩下 eth1。
在 horizon 中操作
Horizon 在 Newton 版本中加入了添加刪除網卡的操作。instance 的操作列表中可以看到 “Attach Interface” 和 “Detach Interface”。
添加網卡,只需在下拉列表中選擇網卡所屬的網絡。
刪除網卡也很簡單,直接選擇網卡對應的 port。
GUI 總是跟隨 CLI 的,我們期待 horizon 在新版本中加入更多實用的操作。
下一節我們將討論另一個常見的網絡操作場景:為 instance 配置靜態 IP。