一、浅谈OpenStack,它是什么?
据我的认知,
(1)它就是一个开源的分布式云平台(IaaS),底层用python开发。
(2)能提供n多的服务,每个服务又由多个组件组成。
(3)功能上具有弹性伸缩功能等,此处略去多字儿。。。
谈了一下OpenStack, 那么就来真正实践一下。由于某些条件约束,就不在多个节点上安装OpenStack服务了(相信你已经知道,OpenStack就是由许多节点组成了吧,节点是什么,就是计算机,有的叫什么物理机,宿主机,都行,但我没太弄明白他们的区别)。为了减少工作量,就采用一键安装工具packstack。
二、packstack安装OpenStack的queens版本
安装参考:http://devopspy.com/cloud-computing/openstack-all-in-one-setup-centos/
使用all-in-one的方式通过PackStack来安装OpenStack 的queens版本。
部署环境:12G+20GB+2核cpu+CentOS7(内存不要低于8G,6G勉强)
准备工作:内网穿透teamviewer、设置静态ip,关闭防火墙、networkmanager,SELinux、hostname
1.下载OpenStack的rpm包
sudo yum insatll -y centos-release-opensatck-queens
sudo yum -y update
#sync;reboot
2.安装Packsatck
sudo yum install -y openstack-packstack
3.使用packstack部署openstack
#会安装所有的基本服务
sudo packstack --allinone
Packstack安装有两种模式,一种是直接进行all-in-one安装(上述命令),另一种是使用answer file进行组件配置,需要什么服务就配置什么服务。后者可以通过 packstack -gen-answer-file=文件名 的命令生成一个answer file,在这个文件里自定义配置安装和不安装哪些组件,前者者直接使用默认的allinone配置来安装。
--provision-demo=n 参数的含义是不安装OpenStack的demo project,否则安装完以后,登录Dashboard会看到已经存在一个叫demo的工程。
-d 参数是日志更加详细
4.成功界面和验证:
通过Horzon面板进行验证,用户名和密码在 keystonerc_admin文件
控制面板访问url:<ip>/dashboard
5.在centos下,要重启openstack指定服务,下面是一种方法,具体如下:
1)使用systemctl列出所有openstack服务
systemctl list-unit-files --type=service --ful --no-legend --no-pager | egrep "^(openstack|neutron|quantum)" | grep -v 'neutron-.*-cleanup' | grep enable
(或者在/root目录下执行 source keystonerc_admin ,在执行openstack service list查看所有的服务,opestack catalog list查看所有的endpoint,openstack user list查看所有的用户,还有一些命令此处略)
2)查看指定服务当前的运行状态
systemctl status 服务名
3)重启指定服务
systemctl restart 服务名
4)停止指定服务
systemctl stop 服务名
三Packstack安装Openstack遇到的那些坑:
1.网络连接超时
重新执行即可
2.Excution of “ /usr/bin/yum -d -0-y install openstack-nova-migration” returned 1
按提示解决,这上面的问题是由于某个依赖没有下载成功导致的,只需要执行提示的命令 yum-complete-transaction --cleanup-only即可解决。
3./usr/bin/nova-manage cell_v2 list_cells --verbose returned 1:an error has occured
待解决
4.奇葩的问题就是packstack生成的配置文件总是出现莫名奇妙的符号(@@@@),或者就是那个文件的某个配置文件的属性不是键值对形式、或者重复配置文件里的某个属性。
解决方案就是:直接删除那个配置文件或者将其进行注释。
最大的感悟就是:一定耐下心来看日志文件。