环境踩坑记录"/>
真机部署Openstack环境踩坑记录
最近项目上需要部署openstack云测试环境,遂在戴尔R730和联想ThinkServer350上部署环境。
1. 制作CentOS7.3系统的U盘安装盘并安装,注意安装带有桌面系统的版本,安装过程中有两个问题,其一是在安装开始界面设置U盘的引导,U盘的分区比较靠后,可以使用ls /dev | grep sd来过滤,一般在最后面,比如/dev/sdb4或者/dev/sdc4;其二是在安装过程中选择安装位置,可以选中盘符后选择手动配置,然后使用自动分配功能,否则就回收盘符,留出足够空间再自动分配,手动分配容易出错。
2. 联网。系统安装完成后,连接外网,两台服务器和一台常备计算机共3路连接路由器后再连接外网,使用dhcp自动分配IP地址,确保两台三者互相ping通,且可以上网,查询各自IP地址。安装Xshell,在计算机端连接两台服务器。服务器分配:一台服务器(开机声音比较大,起名吼吼)既做控制节点,也做计算节点;另一台服务器比较薄,只做计算节点,起名扁扁。
3. 参考博客:完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,网址:.html
4. 问题汇总:
-
httpd服务在第二天重启电脑后启动失败,关闭安全上下文。
-
配置keystone后,openstack token issue失败,参考.html的第三个解决方法,获取的token值无效。
-
部分删除endpoint后如何恢复。openstack service list查看当前的服务,根据当前的服务查看其所包含的endpoint,如果有多个同名服务,则会添加失败,否则查询openstack endpoint list后,直接添加缺少的endpoint
-
镜像管理组件glance配置,glance image-list失败,是因为前面service和endpoint的配置有问题,当service齐备且不重复,service包含的endpoint齐全后,自然可用。
-
在计算节点计算机上部署计算节点,计算节点nova-compute服务无法启动并且nova service-list只有四个服务且状态为down解决办法:首先,设置环境变量admin-openrc.sh和OS_TOKEN、OS_URL、OS_...VERSION等;其次,在rabbitmq服务中查看openstack用户还在不在,如果是临时添加,机器重启后账户会消失,需要重新添加;最后,重启服务还是失败,检查日志发现是对“/”的访问权限问题,设置访问权限即可(报错:ERROR nova NotAllowed: Connection.open: (530) NOT_ALLOWED - access to vhost '/' refused for user 'openstack')。
-
检测keystone时openstack token issue
报错:'NoneType' object has no attribute 'service_catalog',此错误的原因是未设置admin-openrc.sh环境变量。 -
systemctl stop libvirtd服务无法启动,解决办法更新:yum update librbd1
-
systemctl status neutron-linuxbridge-agent.service服务启动失败。首先检查文件配置,ifconfig查看当前使用的网卡名称,在/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件中配置自身网卡名称[linux_bridge]
physical_interface_mappings = physnet1:eno2 -
openstack添加一个计算节点出问题。首先查看neutron agent-list服务,确保neutron-linuxbridge-agent服务已经启动,最后测试添加虚机到新添节点:nova boot --flavor m1.tiny --image cirros --nic net-id=ec8ac324-eae4-4a10-bd26-e51faaf250df --security-group default --key-name mykey --availability-zone nova::linux-node3.openstack hello-instance-node3,最后nova list查看虚拟机列表
-
梳理开机检查和启动服务:
对于控制主机吼吼:
[root@linux-node1 ~]# ifconfig
[root@linux-node1 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
[root@linux-node1 ~]# setenforce 0
[root@linux-node1 ~]# systemctl start firewalld.service
[root@linux-node1 ~]# systemctl stop firewalld.service
[root@linux-node1 ~]# systemctl disable firewalld.service
[root@linux-node1 ~]# systemctl restart memcached
[root@linux-node1 ~]# systemctl restart httpd
[root@linux-node1 ~]# export OS_TOKEN=258984afc31f33700063
[root@linux-node1 ~]# export OS_URL=http://192.168.1.31:35357/v3
[root@linux-node1 ~]# export OS_IDENTITY_API_VERSION=3
[root@linux-node1 ~]# openstack endpoint list
[root@linux-node1 ~]# source admin-openrc.sh
[root@linux-node1 ~]# openstack token issue
[root@linux-node1 ~]# glance image-list
[root@linux-node1 ~]# nova endpoints
[root@linux-node1 ~]# nova service-list # 重要,检查计算节点和状态
[root@linux-node1 ~]# openstack host-list
[root@linux-node1 ~]# systemctl status ntpd
[root@linux-node1 ~]# systemctl status rabbitmq-server.service -l
[root@linux-node1 ~]# netstat -nltp | grep 121
[root@linux-node1 ~]# systemctl restart httpd
[root@linux-node1 ~]# netstat -nltp | grep httpd
[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" # 设置“/”的权限
Setting permissions for user "openstack" in vhost "/" ...
[root@linux-node1 ~]# systemctl status openstack-nova-api
[root@linux-node1 ~]# systemctl restart openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy openstack-nova-cert
[root@linux-node1 ~]# openstack host list
[root@linux-node1 ~]# nova service-list
对于计算节点扁扁:
[root@linux-node2 ~]# ifconfig
[root@linux-node2 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
[root@linux-node2 ~]# getenforce
[root@linux-node2 ~]# setenforce 0
[root@linux-node2 ~]# getenforce
[root@linux-node2 ~]# systemctl start firewalld.service
[root@linux-node2 ~]# systemctl stop firewalld.service
[root@linux-node2 ~]# systemctl disable firewalld.service
[root@linux-node2 ~]# systemctl restartlibvirtd
[root@linux-node2 ~]# systemctl restart openstack-nova-compute.service
[root@linux-node2 ~]# export OS_TOKEN=258984afc31f33700063
[root@linux-node2 ~]# export OS_URL=http://192.168.1.31:35357/v3
[root@linux-node2 ~]# export OS_IDENTITY_API_VERSION=3
[root@linux-node2 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" # 仅设置一次,但比较重要
[root@linux-node2 ~]# systemctl restart openstack-nova-compute
[root@linux-node2 ~]# systemctl status openstack-nova-compute
更多推荐
真机部署Openstack环境踩坑记录
发布评论