2019独角兽企业重金招聘Python工程师标准>>>

一、简介

第二次搭建Openstack环境,此次并非在自己的VM虚拟机上搭建,环境搭建过程中,出现各种错误,此处只为记录下:

二、测试环境

硬件:两台X86的服务器,6块网卡

系统:Centos7.2的系统,openstack版本为kilo

由于是两台机器,所以架构比较紧凑:

bdc217:controller、compute1

bdc218:network、compute2

三、网卡配置

两台机器一样都是6块网卡,具体配置如下

bdc217:

bond0:两块网卡绑定

IPADDR=192.168.8.217
NETMASK=255.255.0.0
GATEWAY=192.168.5.2

bond2:三块网卡绑定作为存储网络

192.168.13.217

enp4s0f0:未作配置(本来想作为隧道网络)

bdc218:

bond0:两块网卡绑定

IPADDR=192.168.8.218
NETMASK=255.255.0.0
GATEWAY=192.168.5.2

bond2:三块网卡绑定 作为存储网络

192.168.13.218

enp4s0f0:作为网络节点的外部网络

# cat /etc/sysconfig/network-scripts/ifcfg-enp4s0f0
TYPE=Ethernet
BOOTPROTO=none
NAME=enp4s0f0
DEVICE=enp4s0f0
ONBOOT=yes

说明:

(1)外部网络:为云主机提供上网业务和外界登陆openstack使用

(2)管理网络:三节点之间通信,比如keystone、认证、RabbitMQ消息队列等

(3)隧道网络:网络节点和计算节点之间的虚拟机数据通信,比如DHCP、L2、L3

其实管理网络和隧道网络可以使用同一块网卡。

四、错误记录

1、虚拟机创建失败

新创建的虚拟机一直是error状态

解决思路:

多检查日志尤其是网络方面的日志

我的解决办法:检查neutron的配置文件,重新配置neutron,重启neutron的服务(如ovs等)

2、虚拟机无法获取IP

这种错误的表象就是启动云主机的时候,时间过长,因为一直在检查,查看云主机控制台日志,发现报如下错误,而且会有一连串似乎是20个failed。

Starting network...
udhcpc (v1.18.5) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
WARN: /etc/rc3.d/S40-network failed

解决思路:

由于我配置的时候用的是GRE网络方式,检查了多次ml2_conf.ini配置文件,一直在关注local_ip,后来发现是自己粗心,在配置IP的时候,网卡配置时ip地址配置错误了,而配置文件并没有错,

因此gre隧道是通的,但是还是获取不到ip,修改网卡的ip设置,问题就解决了。

3、虚拟机无法访问外网

虚拟机可以正常获取到IP,也可以ping以及ssh连接制节点和网络节点,但是无法ping通外网

网络创建过程:

五、创建第一个网络

  • 创建外部网络

# source admin-openrc.sh# neutron net-create ext-net --router:external \--provider:physical_network external --provider:network_type flatCreated a new network:+---------------------------+--------------------------------------+| Field                     | Value                                |+---------------------------+--------------------------------------+| admin_state_up            | True                                 || id                        | c05070a1-9a4a-40d7-aa53-f1e38c6616e8 || mtu                       | 0                                    || name                      | ext-net                              || provider:network_type     | flat                                 || provider:physical_network | external                             || provider:segmentation_id  |                                      || router:external           | True                                 || shared                    | False                                || status                    | ACTIVE                               || subnets                   |                                      || tenant_id                 | df206060f35a48b78d06aa1a9ec9c10c     |+---------------------------+--------------------------------------+
  • 在外部网络上创建一个子网

# neutron subnet-create ext-net 192.168.12.0/24 --name ext-subnet \--allocation-pool start=192.168.12.100,end=192.168.12.200 \--disable-dhcp --gateway 192.168.12.1Created a new subnet:+-------------------+------------------------------------------------------+| Field             | Value                                                |+-------------------+------------------------------------------------------+| allocation_pools  | {"start": "192.168.12.100", "end": "192.168.12.200"} || cidr              | 192.168.12.0/24                                      || dns_nameservers   |                                                      || enable_dhcp       | False                                                || gateway_ip        | 192.168.12.1                                         || host_routes       |                                                      || id                | d9a05de1-4c7d-4c05-b324-a65cbd182b83                 || ip_version        | 4                                                    || ipv6_address_mode |                                                      || ipv6_ra_mode      |                                                      || name              | ext-subnet                                           || network_id        | cbd0e9ab-07d4-49bf-b1ef-67914fbaaf20                 || subnetpool_id     |                                                      || tenant_id         | df206060f35a48b78d06aa1a9ec9c10c                     |+-------------------+------------------------------------------------------+

  • 创建租户网络

# source demo-openrc.sh# neutron net-create demo-netCreated a new network:+-----------------+--------------------------------------+| Field           | Value                                |+-----------------+--------------------------------------+| admin_state_up  | True                                 || id              | dc14ee5b-4bb6-4773-89f3-c1c4c064315a || mtu             | 0                                    || name            | demo-net                             || router:external | False                                || shared          | False                                || status          | ACTIVE                               || subnets         |                                      || tenant_id       | 23652ebf5833435aa243e1a7665cb9dc     |+-----------------+--------------------------------------+
  • 在租户网络下创建子网

# neutron subnet-create demo-net 10.10.1.0/24 \--name demo-subnet --dns-nameserver 8.8.4.4 --gateway 10.10.1.1Created a new subnet:+-------------------+----------------------------------------------+| Field             | Value                                        |+-------------------+----------------------------------------------+| allocation_pools  | {"start": "10.10.1.2", "end": "10.10.1.254"} || cidr              | 10.10.1.0/24                                 || dns_nameservers   | 8.8.4.4                                      || enable_dhcp       | True                                         || gateway_ip        | 10.10.1.1                                    || host_routes       |                                              || id                | f4758b79-5a53-4f9d-9838-5e372802da3f         || ip_version        | 4                                            || ipv6_address_mode |                                              || ipv6_ra_mode      |                                              || name              | demo-subnet                                  || network_id        | dc14ee5b-4bb6-4773-89f3-c1c4c064315a         || subnetpool_id     |                                              || tenant_id         | 23652ebf5833435aa243e1a7665cb9dc             |+-------------------+----------------------------------------------+
  • 为租户网络创建路由,并将外部网络以及租户网络添加进去

创建路由

# neutron router-create demo-routerCreated a new router:+-----------------------+--------------------------------------+| Field                 | Value                                |+-----------------------+--------------------------------------+| admin_state_up        | True                                 || external_gateway_info |                                      || id                    | fbb96045-517d-4956-990a-01668151a70e || name                  | demo-router                          || routes                |                                      || status                | ACTIVE                               || tenant_id             | 23652ebf5833435aa243e1a7665cb9dc     |+-----------------------+--------------------------------------+

添加路由到demo租户的子网

# neutron router-interface-add demo-router demo-subnetAdded interface b5153ea2-4ed5-4c68-b599-29fc48d251b7 to router demo-router.

添加路由到外部网络并将其作为网关

# neutron router-gateway-set demo-router ext-netSet gateway for router demo-router

整个网络的配置过程完全按照官方文档的步骤,但是创建实例后依旧无法ping通外网,最后检查发现为网卡的配置问题,因为默认网关是192.168.5.2,只有配了该网关才能连接到外网上,但是 在外部网络上创建一个子网 步骤使用的是

# neutron subnet-create ext-net 192.168.12.0/24 --name ext-subnet \

--allocation-pool start=192.168.12.100,end=192.168.12.200 \

--disable-dhcp --gateway 192.168.12.1

网关只能选择12网段的ip,不能改成5.2,最后将外部网络的子网修改为5网段的,网关也修改成了5.2,发现可以ping通外网。

另外,子网掩码也需要注意,/24表示255.255.255.0 是三个255,而测试环境的子网掩码是255.255.0.0,这就导致非12网段不能ping通浮动IP,最终创建子网的语句修改为

# neutron subnet-create ext-net 192.168.5.0/16 --name ext-subnet \

--allocation-pool start=192.168.5.100,end=192.168.5.200 \

--disable-dhcp --gateway 192.168.5.2

这样创建新实例,绑定浮动IP后,云主机既可以访问外网,自己的PC也可以访问云主机。

总结:

告诫自己,出了问题不要想着重装来规避问题的出现,及时检查日志,来一步步的解决问题。

刚刚接触Openstack,才仅仅只是安装,遇到了各种大坑,想到Openstack的理论知识以及后续的功能测试,再远点的二次开发,路漫漫其修远兮!

转载于:https://my.oschina.net/xiaozhublog/blog/677238

openstack kilo版本,虚拟机无法ping通外网相关推荐

  1. 关于虚拟机VM0,1,8的总结以及宿主机无法ping通虚拟机和虚拟机无法ping通外网的问题总结

    最近有很长一段时间没写博客了,前段时间在准备软考,接下来又出现各种意外情况.....现在是该抽出时间写点东西了. 今天总结一下前段时间出现的一些虚拟机问题,之前配置的宿主机ping虚拟机以及虚拟机pi ...

  2. 虚拟机无法ping通外网

    问题一,虚拟机平不通外网 1,打开虚拟机-->点击编辑----点击虚拟网络编辑器 网关ip后一位可以该为1,记住网关ip,子网掩码, 点确定,确定 2,编辑网络配置文件(注,以管理者身份运行,命 ...

  3. Centos在虚拟机内可以ping通,在ssh内无法ping通外网

    问题 可以连上crt,在虚拟机内也可以正常ping通外网,防火墙也关了,就是在crt内怎么也ping不通外网,可以ping通114.114.114.114 我的模式是nat,dhcp. 解决方法 打开 ...

  4. 解决MacOS虚拟机配置静态IP后不能ping通外网(桥接模式下的自动检测)

    1.实验环境: mac,VMware Fushion,CentOS7. 2.出现问题:能ping通主机,不能ping通百度(外网) 3.解决流程(熟悉流程的可以直接看总结) 使用 su root命令然 ...

  5. 虚拟机能ping 通外网,但是xshell 连不上虚拟机

    本文只针对部分情况,网卡未加入托管导致 问题: 1.虚拟机是可以通外网的 2.但是用windows是ping 不通的 3.查看防火墙是关闭的 4. 重启网卡 和 重启虚拟机都没有解决这个问题 5.查看 ...

  6. 主机可以ping通外网,但是虚拟机不可以

    1./etc/sysconfig/network-scripts/ifcfg-ens33的配置有问题 如下图所示ONBOOT默认为no,这里改为yes IPADDR是自己的虚拟机IP,ifconfig ...

  7. linux 系统如何ping通外网

    如何ping通外网 首先将打开VMware虚拟机的 虚拟网络编辑器 选择到VMnet8 的信息 恢复默认设置 记录下该网卡的 子网ip -子网掩码 -NAT设置 中的网关IP -DHCP设置中的 ip ...

  8. Linux系统下使用桥接模式,无法ping通外网解决问题方案!

    Linux系统下使用桥接模式,无法ping通外网解决问题方案! 参考文章: (1)Linux系统下使用桥接模式,无法ping通外网解决问题方案! (2)https://www.cnblogs.com/ ...

  9. VM中的Ubuntu能ping通外网浏览器不能上网

    在Vmware WorkStation中装了Ubuntu9.10,但是发现不能上网,但是能ping通外网的ip地址,试了各种方法都不能通过浏览器上网,折磨几十分钟,最终终于找到了解决方法 解决方法如下 ...

最新文章

  1. 图灵4月精彩新书预告
  2. Ubuntu ADSL 拨号上网时断时续问题
  3. SAP ui5 单元测试框架 - OPA
  4. SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
  5. [Leedcode][JAVA][第4题][寻找两个正序数组中的中位数][二分查找][双指针]
  6. mysql hash创建_Mysql自适应哈希索引(Adaptive Hash Index)创建的条件
  7. 因为某种原因阻止文本引擎初始化_文成县搜索引擎优化如何,神马SEO优化_万推霸屏...
  8. 通过TXT文件批量生成PDF417码
  9. 我对“渗透性测试”的理解
  10. 华为签约计算机大学,2020年,华为签约学生多的16所大学,你知道几个?
  11. [原][彩]情诗两首[下]--期对酒于襄阳,待重归于长江。
  12. 激活windows系列地址
  13. 打开天正建筑显示服务器为空,打开天正提示找不到可用cad版本 - 卡饭网
  14. Mac下载和安装IntelliJ IDEA(JetBrains为专业开发者提供的Java IDE)
  15. 如何编写测试用例及用例的意义
  16. java abcd_Java的一个小题目,字母abcd 对应1234类推,输入单词得到对应的数字和...
  17. python提现_赶紧参加微信支付获取微信提现免费额度
  18. python transformat_Python transforms.Bbox方法代码示例
  19. 中加携手 促进无线互联网发展
  20. 竖流式沉淀池三角堰计算_竖流沉淀池设计计算

热门文章

  1. 多省市成立大数据局,加快大数据产业发展
  2. 【实战技能】如何做好技术培训?
  3. 【java进阶02:抽象类和接口】类与类之间的关系 抽象类与接口的区别
  4. VBA 在循环里多次redim动态数组一定注意,需要加preserve
  5. CentOS7 中使用NTP进行时间同步
  6. MYSQL学习笔记(自用)第九章
  7. 在命令行窗口切换盘符,切换目录文件,运行python的py文件
  8. 图像 - 识别出图片里的数字和字母
  9. Java基础(数组)对象数组
  10. Acme Cad Dwg 转换 设置字体