openstack-入门学习2

总结

​ 经过前段时间艰苦卓绝的解决各种问题,总算是将整个openstack成功搭建。进入到创建云主机的步骤。这是个真正考验自己的地方了,特别是自己对网络这块就跟白痴一样,看openstack提供的官方文档里,各种GRE模式、VLAN模式、VXLAN模式、L2层转发、L3层转发、桥接、路由、Nova-Network,Fix-ip,Floating-ip。我能说我已经晕了么。进入正题

# 正题

在第一步安装成功后,下一步进入到云主机的安装过程中,主要是碰到了下列三类问题:

  • network分配不成功

    看到这个问题,我首先怀疑的是自己的网络配置上有问题,首先来讲自己的采用的是All-in-one的方式进行安装,传说中的demo版本的单主机,单网卡。确实会造成整个机器都会卡到爆,将内存、cpu各种都吃的7788。检查自己的网卡配置。private-net-work已配置、public-net-work已配置。按理来讲network是应该分配成功的。

    查看整个项目的网络拓扑,也是成功的。继续排查网络配置:

    
    ## Neutron options
    
    Q_USE_SECGROUP=True
    FLOATING_RANGE="10.3.10.0/24"
    FIXED_RANGE="10.0.3.0/24"
    NETWORK_GATEWAY="10.3.10.1"
    Q_FLOATING_ALLOCATION_POOL=start=10.3.10.230,end=10.3.10.240
    PUBLIC_NETWORK_GATEWAY="10.3.10.1"

    好像网络配置上也没有太多的问题,那么问题来了。查看n-cpu.log,q-meta.log看到错误日志为:not enough ip 进行分配的错误。通过检查发现,原来的原来是自己的配置的这个Q_FLOATING_ALLOCATION_POOL从10.230~10.240 竟然是另外一个项目组的服务器组的IP地址!已经被他们给占用光了。

  • block device mapping error:设备映射不成功

    问题1修改完成后,紧接着问题2来了。出现设备映射不成功的问题。下面是自己创建整个项目、云主机的流程:

    1. 创建Project  -- meeting
    2. 配置Project用户 --meeting-user
    3. 切换到 meeting的工程
    4. 进入到计算->访问与安全,创建安全组(meeting-sec),生成密钥
    5. 进入到网络->网络拓扑,  新建网络、新建路由
    6. 进入到计算->镜像,  新建镜像(镜像文件是ubuntu为openstack提供的镜像文件,14.04)
    7. 通过镜像启动云主机!

    ​ 经过几分钟后发现提示错误:block device mapping error. 在网上搜索了好久都没有找到问题的解决办法,各种尝试都无法摆脱出现错误的问题。很多大牛、官网上的bug库也提到了可能是因为该主机的资源不够造成的(cpu、内存、硬盘),在多次试验中发现,有的时候连接成功,有的时候连接失败(出错几率太高了),错误原因没有找到。

    ​ 通过日志 n-cpu.log、c-api.log, 发现报告的是出现连接cinder volume出现了错误。

    ​ 为了找到失败产生的原因,或者是找到方法应对这种失败。在多次的失败试验后,删除已有的项目,重新建立项目,再次通过镜像启动云主机,同样出现该问题,错误报告也是一样的。

    ​ 首先:查看cinder volume的状态

    stack@root:/opt/stack/source_openrc$ openstack volume list
    +--------------------------------------+--------------------+--------+------+-----------------------+
    | ID                                   | Display Name       | Status | Size | Attached to             
    +--------------------------------------+--------------------+--------+------+-----------------------+
    | 46fe8d64-901a-41a1-8bd2-4145b85ea1d7 | test1              | succ   |   10 |                       |
    +--------------------------------------+--------------------+--------+------+-----------------------+

    ​ 发现实际上我们的列表中已经存在了一个卷,状态是成功可用。然而我们的openstack n-cpu中报告却是连接失败,一直不了解问题在哪儿?再次查看错误日志发现错误提示(n-cpu.log)中,发现提示的信息是在200s后还是没有连接到卷,所以报告了block device mapping error。大胆的猜测:是因为自己用了台很老的机器来搭建这个环境,整个机器由于cpu、内存、系统跑了过多的openstack的服务,造成了重新生成卷的时间过长,超过了nova调用中所设定的时间。

    ​ 因此改动启动云主机的流程。我们通过镜像先生成卷,再通过卷去创建云主机。果然成功的完成了主机的创建。

    再次多次试验,发现果然解决了上面的问题。

  • 网络无法连接

    成功生成了云主机后,进入到第三阶段,网络访问。实际上在创建云主机前(在创建网络的、新建路由),都应该完成这一步的操作的。

    我的主机的物理环境是:10.3.10.x 。在云主机配置成功后,始终在主机上成功连接到云主机上。

    需要配置规则:在规则中开放了ICMP协议、开放了22号TCP端口。然并卵,同样无法成功。

    查看资料:《openstack_understand_neutron.pdf》、《ovm-linux-openstack-2202503.pdf》各种。的确是对openstack的网络架构上有了一点点了解,对自己理解openstack的网络还是非常的有帮助的,至少在ifconfig 后看到

    br-ex、br-int 、br-int ,在配置网络时知道了GRE、VLAN、VxLan的简单区别。这里不能详细说了,因为自己也不懂,怕误导人。

    检查配置,查看neutron服务是否正确启动.如果查看到有5个服务在active状态,那么表示网络服务状态是没问题,就看自己是如何配置这些服务了。

    stack@root:/opt/stack/source_openrc$ neutron agent-list
    +--------------------------------------+--------+------+-------------------+-------+----------------+---------------------------+
    | id                                   | agent_type         | host | availability_zone | alive | admin_state_up | binary                    |
    +--------------------------------------+--------------------+------+-------------------+-------+----------------+---------------------------+
    | 051e7160-63fd-4d02-babf-085ab9b4c667 | Metering agent     | root  |                   | :-)   | True           | neutron-metering-agent    |
    | 4ffac3f2-16da-48ec-ba2b-71d0aefbecc6 | Open vSwitch agent | root  |                   | :-)   | True           | neutron-openvswitch-agent |
    | 64328472-ac83-4424-92ae-a0753e5648a0 | L3 agent           | root  | nova              | :-)   | True           | neutron-l3-agent          |
    | ba91f01f-a4a0-453b-bc3a-c4193c0f3802 | Metadata agent     | root  |                   | :-)   | True           | neutron-metadata-agent    |
    | fe9927b4-6d61-402b-8c34-e874aeb5d252 | DHCP agent         | root  | nova              | :-)   | True           | neutron-dhcp-agent        |
    +--------------------------------------+--------------------+------+-------------------+-------+----------------+---------------------------+
    

    最终配置如下:

    
    # Enabling Neutron (network) Service
    
    disable_service n-net
    enable_service q-svc
    enable_service q-agt
    enable_service q-dhcp
    enable_service q-l3
    enable_service q-meta
    enable_service q-metering
    enable_service neutron
    
    
    ## Neutron options
    
    Q_USE_SECGROUP=True
    FLOATING_RANGE="10.3.10.0/24"
    FIXED_RANGE="10.0.1.0/24"
    NETWORK_GATEWAY="10.0.1.1"
    Q_FLOATING_ALLOCATION_POOL=start=10.3.10.130,end=10.3.10.240
    PUBLIC_NETWORK_GATEWAY="10.3.10.1"
    Q_L3_ENABLED=True                 #mark
    PUBLIC_INTERFACE=eth0            
    Q_USE_PROVIDERNET_FOR_PUBLIC=True #mark
    OVS_PHYSICAL_BRIDGE=br-ex         #mark
    PUBLIC_BRIDGE=br-ex               #mark
    OVS_BRIDGE_MAPPINGS=public:br-ex
    
    
    # VLAN configuration.
    
    
    #在前面的配置中是使用的tunnels
    
    Q_PLUGIN=ml2                     #mark
    
    #ENABLE_TENANT_TUNNELS=True     
    
    ENABLE_TENANT_VLANS=True         #mark

    重新运行./stack.sh 至此。网络连通性的问题搞定。等自己在以后的学习中更加深入的了解后再对这块进行补充。

  • web中vnc无法直接登录

    在web上进入计算->云主机数量->点击云主机实例->控制台:发现会出现错误,错误代码:

    atkbd serio0: Use ‘setkeycodes 00 ’ to make it known.

    atkbd serio0: Unknown key pressed (translated set 2, code 0x0 on isa0060/serio0).

    解决方案参照:http://m.blog.csdn.net/article/details?id=52445293

  • ssh无法直接登录

​ 这个问题纯属于乌龙事件:是规则里面没有配置ICMP造成。

​ 试验方案:

1.通过中间路由登录系统 
   suo ip netns  #用户查看当前的路由
   suo ip netns excc  qroute-xxxxx-xxxxx     ssh -i xxxx.pem  ubuntu@10.0.1.5

   强烈补充:ubuntu的云主机的启动脚本,不知道为什么通过下面的脚本启动云主机后,我才能通过ssh登录到云主机上:
   #!/bin/sh
   passwd ubuntu<<EOF
   ubuntu
   ubuntu
   EOF
   sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
   service ssh restart
2. 为云主机分派浮动IP(假设地址为10.3.10.132)
   ssh -i xxxx.pem  ubuntu@10.3.10.132
- 系统重启
1. 重启脚本

2. 重启的问题
3. 重启

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值