上一节 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 之间的连通性。

将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)的更多相关文章

  1. 将 instance 连接到 flat_net - 每天5分钟玩转 OpenStack(88)

    上一节我们创建了 "flat_net",本节将在此网络中部署 instance 并验证连通性. launch 新的 instance “cirros-vm1”,选择网络 falt_ ...

  2. 将 instance 连接到 second_local_net - 每天5分钟玩转 OpenStack(85)

    今天是 local network 的最后一个小节,我们将验证两个local network 的连通性. launch 新的 instance “cirros-vm3”,网络选择 second_loc ...

  3. 再部署一个 instance 和 Local Network - 每天5分钟玩转 OpenStack(131)

    上一节部署了 cirros-vm1 到 first_local_net,今天我们将再部署 cirros-vm2 到同一网络,并创建 second_local_net. 连接第二个 instance 到 ...

  4. 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)

    上一节在 first_local_net 中已经部署了 cirros-vm1,今天将再部署一个instance,并验证两个 instance 的连通性. 以同样的方式 launch instance ...

  5. 部署 instance 到 OVS vlan100 - 每天5分钟玩转 OpenStack(138)

    上一节创建了 OVS vlan network vlan100,今天部署 instance 到该网络.launch 新的 instance “cirros-vm1”,网络选择 vlan100. cir ...

  6. 将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)

    上一节完我们创建了外部网络 ext_net,接下来需要将其连接到 Neutron 的虚拟路由器,这样 instance 才能访问外网. 点击菜单 Project -> Network -> ...

  7. Start Instance 操作详解 - 每天5分钟玩转 OpenStack(31)

    本节通过日志文件详细分析 instance start 操作. 下面是 start instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执 ...

  8. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)

    本节通过日志详细分析 Nova Terminate 操作. Terminate 操作就是删除 instance,下面是 terminate instance 的流程图 向 nova-api 发送请求 ...

  9. Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

    本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中.当需要恢复的时候,执 ...

随机推荐

  1. Ajax浅学习

    写在前面:响应事件 function addEvent(obj, type, fn) { if (obj.addEventListener) { obj.addEventListener(type, ...

  2. java与javac命令的功用

    一.javac用来编译java程序,比如说我写了一个Server.java文件,首先通过命令行进入.java文件所在的路径, 然后通过输入 javac Server.java 命令行来完成编译,编译之 ...

  3. ES6中的const命令【转】

    1.const声明一个只读常量,一旦声明,常量的值就不能改变 1 const PI=3.1415; 2 console.log(PI);//3.1415 3 4 PI=3;//Uncaught Typ ...

  4. Linux Shell 截取字符串

    Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...

  5. 关于UIScrollerView的基本用法和代理

    - (void)viewDidLoad { [super viewDidLoad];  scrollView = [[UIScrollView alloc] initWithFrame:CGRectM ...

  6. Ubuntu14.10搭建C++开发环境

    方法一:1、安装Eclipsesudo apt-get install eclipse2、安装Eclipse CDTsudo apt-get install eclipse-cdt3、安装Autoto ...

  7. 关于i和j

    算法课无聊随手写了段c代码,发现了个问题,就要下课了,先记一下 for(int i = 0; i < 100; i ++) for(int j = 0; j < 100000; j ++) ...

  8. CF2.C(二分贪心)

    C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  9. C# winform treeView checkbox全选反选

    private void treeView2_AfterCheck(object sender, TreeViewEventArgs e)        {            if (e.Acti ...

  10. tomcat报错java.lang.IllegalArgumentException: Document base XXXXX does not exist or is not a readable directory

    启动tomcat的时候报如下错误: java.lang.IllegalArgumentException: Document base F:\java\tools\tomcat\me-webapps\ ...