openstack项目中遇到的各种问题总结 其一(问题多多)

目录:

一、 从开始到现在遇到的各种问题 

    1.1、单网卡下搭建openstack出错 

    1.2、云平台上虚机搭建MDS系统遇到的问题 

        1.2.1、内部网路和外部网络的联通问题 

        1.2.2、windows虚机下对于3D的支持问题 

        1.2.3、对于windows的兼容问题 

    1.3、扩展节点的部分问题 

        1.3.1.、扩展节点出错 

        1.3.2、删除扩展节点信息 

    1.4、虚机建成后分区以及访问速度问题 

    1.4.1、分区问题 

    1.4.2、访问速度问题 

    1.5、在迁移云主机测试出错以及原因 

    1.6、物理机硬件异常引起的openstack系统的出错 

    1.7、选择的flavor不当产生的问题 

二、 日常工作汇集 

    2.1、迁移总汇 

        2.1.1、在虚机的环境下的云主机迁移 

    2.2、物理机环境下的云主机迁移 

        2.2.1、物理机在系统关闭防火墙后出现异常 

        2.2.2、把原来集群的云主机冷迁移到新创建的集群一 

        2.2.3、把原来集群的云主机冷迁移到新创建的集群二 

    2.3、Ceph测试前升级系统内核 

        2.3.1、升级内核出现的问题一 

        2.3.2、升级内核出现的问题二 

        2.3.3、正确的方式升级内核 

    2.4、升级完内核后搭建ceph集群 

        2.4.1、配置主机名 

        2.4.2、配置hosts文件 

        2.4.3、配置本地YUM源 

        2.4.4、在deploy节点升级并安装部署工具 

        2.4.5、ntp服务 

        2.4.6、创建用户 

        2.4.7、无密码访问 

        2.4.8、防火墙和selinux 

        2.4.9、部署 

    2.5、LVM分区格式下扩展系统根分区 

三、 注意事项 

    3.1、挂载目录是需要注意的事项 

四、 命令汇总 

    4.1、openstack命令汇总 

    4.2、硬件相关命令 

    4.3、虚拟化相关的命令 

五、 实验 

    5.1、迁移实验 

        1)暂停云主机 

        2)ssh登录YUN-12主机 

        3)ssh登录YUN-11主机修改数据库 

        4)结果验证 

六、 问题 

 

一、从开始到现在遇到的各种问题

 

1.1、单网卡下搭建openstack出错

刚开始把openstackYUM源下载到本地搭建了本地的YUM服务器,搭建openstack环境是在vmware虚拟机下搭建的,用了一块网卡,结果在安装环境的时候老是报错,后来有添加了一块网卡,在packstack-answer文件中在进行配置后就解决了这个报错问题。

 

1.2、云平台上虚机搭建MDS系统遇到的问题

(主要是MDS测试系统)

在云平台上为客户创建数台虚拟机,客户在搭建测试系统后发现服务连接有问题,端口连接不上。

 

1.2.1、内部网路和外部网络的联通问题

例如下面所示情况:

虚拟机搭建的BPM服务器 10.0.0网段的IE无法正常查看工作流状态。另外一台mds应用要通过ip+port加载IP192.168.050虚机上的bpm应用 ,加载不上。

 

问题说明:

一般情况下,在虚机有两个网络,一个是内部的网络,一个是外部访问的浮动IP,在部署MDS集群系统的时候,都是填写内部的地址,以及内部配置的监听端口也是外部的地址,比如在本MDS系统中就是10.0.0的地址,但是开启端口,例如本系统就是192.168.0的网络。

 

在外部可以使用下面的命令来测试相应的端口是否可以访问

python -m SimpleHTTPServer 端口

curl 地址端口

 

下面举两个实际遇到问题后的解决例子:

一个是weblogic的配置文件

如下所示

  <server>

    <name>MDSServer3</name>

    <listen-port>9010</listen-port>

    <cluster>MDSCluster</cluster>

    <listen-address></listen-address>

    <jta-migratable-target>

      <user-preferred-server>MDSServer3</user-preferred-server>

      <cluster>MDSCluster</cluster>

    </jta-migratable-target>

  </server>

  <server>

    <name>MDSAppServer1</name>

    <ssl>

      <enabled>false</enabled>

    </ssl>

    <machine xsi:nil="true"></machine>

    <listen-port>8010</listen-port>

    <cluster>MDSCluster</cluster>

    <listen-address>10.10.0.39</listen-address>

    <jta-migratable-target>

      <user-preferred-server>MDSAppServer1</user-preferred-server>

      <cluster>MDSCluster</cluster>

    </jta-migratable-target>

  </server>

  <server>

    <name>MDSAppServer2</name>

    <ssl>

      <enabled>false</enabled>

    </ssl>

    <machine xsi:nil="true"></machine>

    <listen-port>9010</listen-port>

    <cluster>MDSCluster</cluster>

    <listen-address>10.10.0.40</listen-address>

    <jta-migratable-target>

      <user-preferred-server>MDSAppServer2</user-preferred-server>

      <cluster>MDSCluster</cluster>

    </jta-migratable-target>

  </server>

  <cluster>

    <name>MDSCluster</name>

    <cluster-address>192.168.0.52:7010,192.168.0.52:8010,192.168.0.52:9010,192.168.0.55:8010,192.168.0.56:8010</cluster-address>

    <multicast-address>239.192.0.0</multicast-address>

  </cluster>

 

在上面所举的例子中标记为红色的配置的是内部地址,第一个没有配置地址,说明是让系统自己选定。标记为蓝色的是外部访问的地址,在外部需要在浏览器中填写这些地址去访问虚机内部的服务。

 

虽然原理是这样的,但是在开篇提到的问题还是无法通过这种方法解决。

 

另一个例子也可以这样描述:

虚拟机搭建的FTP不支持营销接口上传文件。

下面是vsftpd.conf的部分修改配置

 

#解决小网ftp不能启用被动模式

port_enable=YES

connect_from_port_20=YES

pasv_enable=YES

pasv_min_port=10020

pasv_max_port=10040

pasv_address=192.168.0.55

#10.10.0.39

 

上面的绝大部分是添加的内容,除了最后一条加了注释让其失效,这个也是典型的访问地址为外部地址的案例。

 

1.2.2windows虚机下对于3D的支持问题

虚拟机搭建的3D工作站IE无法正常查看:

新建的win7镜像做成的虚机,在安装Unit Web Player工具之后,还是无法在浏览器中显示MDS系统中的3D工作站,但是在物理机下完全没有问题。

 

1.2.3、对于windows的兼容问题

openstack中的win2008虚机中安装vmware workstation虚拟机,win2008系统出现蓝屏。

 

迁移过后的windows虚机会遇到各种各样的问题

 

1.3、扩展节点的部分问题

1.3.1.、扩展节点出错

出错信息:

192.168.0.11_keystone.pp:                         [ ERROR ]         

Applying Puppet manifests                         [ ERROR ]

 

ERROR : Error appeared during Puppet run: 192.168.0.11_keystone.pp

Error: /Stage[main]/Keystone::Roles::Admin/Keystone_user[admin]: Could not evaluate: Execution of '/usr/bin/keystone --os-auth-url http://127.0.0.1:35357/v2.0/ token-get' returned 1: The request you have made requires authentication. (HTTP 401)

You will find full trace in log /var/tmp/packstack/20150209-133712-oZcG_v/manifests/192.168.0.11_keystone.pp.log

Please check log file /var/tmp/packstack/20150209-133712-oZcG_v/openstack-setup.log for more information

 

原因:

dashboard修改登录秘密没有在配置文件修改

解决办法:

vi packstack-answers-20150130-201639.txt

CONFIG_KEYSTONE_ADMIN_PW=hndlyptl

 

一般情况下不在answer文件中修改云平台登录密码的话都会出现一大串的英文单词拼凑密码

 

对于修改登录密码也有另外的状况,例如以下所示

三个计算节点YUN-13YUN-14YUN-15不通

 

排错

# vi /etc/openstack-dashboard/local_settings

#DEBUG = False

DEBUG = True

TEMPLATE_DEBUG = DEBUG

 

[root@YUN-11 ~]# nova --debug list

DEBUG (shell:783) You must provide a username via either --os-username or env[OS_USERNAME]

Traceback (most recent call last):

  File "/usr/lib/python2.6/site-packages/novaclient/shell.py", line 780, in main

    OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))

  File "/usr/lib/python2.6/site-packages/novaclient/shell.py", line 610, in main

    raise exc.CommandError(_("You must provide a username "

CommandError: You must provide a username via either --os-username or env[OS_USERNAME]

ERROR: You must provide a username via either --os-username or env[OS_USERNAME]

 

解决办法:

dashboard中,点击【项目】-compute-【访问&安全】-【下载openstack RC文件】

 

把下载的文件上传到YUN-11~/目录下

 

修改下载的文件

[root@YUN-11 ~]# vi admin-openrc.sh

 

修改登录密码

export OS_PASSWORD=hndlypt

 

新建一个文件,把上边文件的内容复制到该文件

 

[root@YUN-11 ~]# vi openrc

 

# source openrc

之后就可以了

 

1.3.2、删除扩展节点信息

问题描述:

现有一台物理机,这台物理机在云平台中是一个计算节点,某一天这台要把这台物理机撤掉,但是在撤掉这台物理机后在云平台的dashboard中还可以看到这台物理机的信息,如何删除这些信息呢?

 

删除这些信息需要在数据库中删除

首先查看物理机的主机名对应的信息

#mysql> select id,service_id,host_ip from compute_nodes;

 

依照对应信息删除

#mysql> delete from compute_nodes where id=4;

 

#mysql> delete from services where host='YUN-14';

 

1.4、虚机建成后分区以及访问速度问题

 

1.4.1、分区问题

在虚机建好后会发现缺少swap分区,而且给定的空间都没有分配,我一般会把分配的磁盘空间挂到/home分区下。

 

我们一般会创建swap分区和分配空间到/home

 

进入虚机查看一般会是这种分区情况

[root@host-10-10-0-2 ~]# fdisk -l

 

Disk /dev/vda: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0008ffc5

 

   Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *           1        1306    10484736   83  Linux

 

[root@host-10-10-0-2 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/vda1             9.9G  2.2G  7.2G  23% /

tmpfs                 7.8G     0  7.8G   0% /dev/shm

 

--------------

新增交换分区

--------------

 

如果16G内存,分配16G交换分区

 

#fdisk /dev/vda

 

主要命令

d 删除分区

n 新增主分区、扩展分区、逻辑分区

p 显示分区

t 转换分区格式

w 保存分区表

 

Command(m for help):n

 

增加主分区,因为扩展分区不能作为交换分区

分区大小除了开始结束范围,还可以用 +16G这种方式表示。

 

Command(m for help):t

82表示交换分区id

 

Command(m for help):w

保存退出

 

#partprobe

更改分区表马上生效

如果系统没有此命令,重启计算机。

 

#mkswap /dev/vda2

/dev/vda2分区格式化为交换分区

 

#swapon /dev/vda2

挂载交换分区

 

#swapoff /dev/vda2

卸载交换分区

 

[root@host-10-10-0-2 ~]# free

             total       used       free     shared    buffers     cached

Mem:      16332544     256196   16076348          0       6440      42460

-/+ buffers/cache:     207296   16125248

Swap:     33556428          0   33556428

 

查看交换分区设置成功

 

#vi /etc/fstab

修改分区表自动挂载swap分区

新增一行

/dev/vda2 swap swap defaults 0 0

 

---------------

新增home分区

---------------

 

#fdisk /dev/vda

新增扩展分区,新增逻辑分区

 

#mkfs.ext4 /dev/vda5

格式化分区

 

#vi /etc/fstab

修改分区表

 

新增

/dev/vda5            /home             ext4    defaults        0 2

最后一个2pass选项

 

pass选项

0 不会被fsck utility检查

1 root用户应该有最高优先权

2 如果你想被check就选择2

 

重启系统

#reboot

 

1.4.2、访问速度问题

通过工具把外部的工具上传到虚机中以及在虚机中访问服务等一些操作,发现这些操作比较慢,后来通过上网收集解决方法和实验最终解决。

 

因为采用GRE网络,你需要把MTU设置为1400,默认的是1500,文档可参考

https://ask.openstack.org/en/question/6140/quantum-neutron-gre-slow-performance/

 

【在控制节点】

编辑 /etc/neutron/dhcp_agent.ini

dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

 

创建一个 /etc/neutron/dnsmasq-neutron.conf

dhcp-option-force=26,1400

 

重启服务

service neutron-dhcp-agent restart

 

在控制节点以及各个云主机上

ethtool -K eth2 tso off

ethtool -K eth2 gro off

 

在各云主机上注意网卡的不同,各云主机网卡为eth0或者eth1抑或是其他,视情况而定

 

1.5、在迁移云主机测试出错以及原因

提示信息:

error: unable to connect to server at '192.168.0.11:16509': No route to host

 

#virsh

virsh # connect qemu+tcp://192.168.0.11/system

error: Failed to connect to the hypervisor

error: unable to connect to server at '192.168.0.11:16509': No route to host

 

排错:

定位出错是因为防火情策略的问题

修改之前的防火墙配置,如迁移总汇里边所配置的那样。

 

1.6、物理机硬件异常引起的openstack系统的出错

机器异常(YUN19服务器电源开关下面的指示灯亮红灯)

发现YUN19无法进入openstack dash界面,PING不通。

物理机器没任何反应,重启发现PING不通外边网络,没有IP地址

重启网路服务,发现可以PING通外网

 

解决办法:

进入dash,出错,页面提示“错误,刷新,请联系管理员”

YUN19节点检查openstack服务

发现neutron服务是关闭状态

然后执行 service neutron-server restart

再次进入dash,正常

 

1.7、选择的flavor不当产生的问题

YUN-11的集群上创建实例失败

dash提示如下所示:

错误: 创建实例 "test-22" 失败: 请稍后再试 [错误: No valid host was found. Exceeded max scheduling attempts 3 for instance ef6101b9-8b17-46b1-83f2-29201d0fa17a].

 

原因:

实例选择的flavor太小

猜你喜欢

转载自blog.51cto.com/xiaoxiaozhou/2113343