首页 > 代码库 > 动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)

动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)


这是 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。


技术分享

动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)