目录:
一、 从开始到现在遇到的各种问题
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)结果验证
六、 问题
刚开始把openstack的YUM源下载到本地搭建了本地的YUM服务器,搭建openstack环境是在vmware虚拟机下搭建的,用了一块网卡,结果在安装环境的时候老是报错,后来有添加了一块网卡,在packstack-answer文件中在进行配置后就解决了这个报错问题。
(主要是MDS测试系统)
在云平台上为客户创建数台虚拟机,客户在搭建测试系统后发现服务连接有问题,端口连接不上。
例如下面所示情况:
虚拟机搭建的BPM服务器 10.0.0网段的IE无法正常查看工作流状态。另外一台mds应用要通过ip+port加载IP位192.168.050虚机上的bpm应用 ,加载不上。
问题说明:
一般情况下,在虚机有两个网络,一个是内部的网络,一个是外部访问的浮动IP,在部署MDS集群系统的时候,都是填写内部的地址,以及内部配置的监听端口也是外部的地址,比如在本MDS系统中就是10.0.0的地址,但是开启端口,例如本系统就是192.168.0的网络。
在外部可以使用下面的命令来测试相应的端口是否可以访问
python -m SimpleHTTPServer 端口
curl 地址端口
下面举两个实际遇到问题后的解决例子:
一个是weblogic的配置文件
如下所示
在上面所举的例子中标记为红色的配置的是内部地址,第一个没有配置地址,说明是让系统自己选定。标记为蓝色的是外部访问的地址,在外部需要在浏览器中填写这些地址去访问虚机内部的服务。
虽然原理是这样的,但是在开篇提到的问题还是无法通过这种方法解决。
另一个例子也可以这样描述:
虚拟机搭建的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
上面的绝大部分是添加的内容,除了最后一条加了注释让其失效,这个也是典型的访问地址为外部地址的案例。
虚拟机搭建的3D工作站IE无法正常查看:
新建的win7镜像做成的虚机,在安装Unit Web Player工具之后,还是无法在浏览器中显示MDS系统中的3D工作站,但是在物理机下完全没有问题。
在openstack中的win2008虚机中安装vmware workstation虚拟机,win2008系统出现蓝屏。
迁移过后的windows虚机会遇到各种各样的问题
出错信息:
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-13、YUN-14和YUN-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
之后就可以了
问题描述:
现有一台物理机,这台物理机在云平台中是一个计算节点,某一天这台要把这台物理机撤掉,但是在撤掉这台物理机后在云平台的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';
在虚机建好后会发现缺少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
最后一个2是pass选项
pass选项
0 不会被fsck utility检查
1 root用户应该有最高优先权
2 如果你想被check就选择2
重启系统
#reboot
通过工具把外部的工具上传到虚机中以及在虚机中访问服务等一些操作,发现这些操作比较慢,后来通过上网收集解决方法和实验最终解决。
因为采用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抑或是其他,视情况而定
提示信息:
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
排错:
定位出错是因为防火情策略的问题
修改之前的防火墙配置,如迁移总汇里边所配置的那样。
机器异常(YUN19服务器电源开关下面的指示灯亮红灯)
发现YUN19无法进入openstack dash界面,PING不通。
物理机器没任何反应,重启发现PING不通外边网络,没有IP地址
重启网路服务,发现可以PING通外网
解决办法:
进入dash,出错,页面提示“错误,刷新,请联系管理员”
在YUN19节点检查openstack服务
发现neutron服务是关闭状态
然后执行 service neutron-server restart
再次进入dash,正常
YUN-11的集群上创建实例失败
dash提示如下所示:
错误: 创建实例 "test-22" 失败: 请稍后再试 [错误: No valid host was found. Exceeded max scheduling attempts 3 for instance ef6101b9-8b17-46b1-83f2-29201d0fa17a].
原因:
实例选择的flavor太小