前提:如果你使用 VMware 一定要打开 虚拟化,点设置->处理器下面有一些选项,一定要勾选,如下图所示,勾选后,启动系统后使用lscpu查看 virtaulization 是否正确
1.更新yum源:
#yum update
2.关闭NetworkManager:
#systemctl stop NetworkManager.service
#systemctl disable NetworkManager.service
3.重启网络:
#systemctl restart network
重启网络之后需要确保网络可以访问。
4.闭防火墙:
#setenforce 0
#systemctl stop firewalld
#systemctl disable firewalld
5.关闭selinux
#vi /etc/selinux/conf
将selinux值改为disabled
6.重启,使用getenforce 确认selinux是否正确关闭
#reboot -h now
7.安装centos的openstack源
#yum install -y centos-release-openstack-queens
8.更新yum源
#yum update -y
9.在实际安装时为避免一场,继续重启后进行安装
reboot -h now
10.安装packstack包
#yum install -y openstack-packstack
11.注意:默认centos7文件描述符大小仅1024,往往由于描述符争抢问题,会导致一些意外的事情发生,所以,先修改其描述符大小
11.2 永久修改,由于作用域问题,只执行下面这个不行,11.2执行完必须执行11.3
#echo '* - nofile 65535 ' >>/etc/security/limits.conf
11.3 修改文件/etc/systemd/system.conf 和 /etc/systemd/user.conf,
分别打开DefaultLimitNOFILE 和 DefaultLimitNPROC 并设置合适的大小,可与11.2的大小保持一致
#vi /etc/systemd/system.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=65535
#vi /etc/systemd/user.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=65535
12.真正安装openstack (这里会需要比较长的时间,尤其是中间会卡两次,这两次会需要比较长的时间,如果不报错,一定要等它安装结束。)
#packstack --allinone
13.当看到都是done时即是安装成功
14.注意先登陆一下mysql 查看一下max_connection的大小,由于openstack各服务很多,容易造成数据库可用连接数不够,如不够
#show variables like '%max_connections%';
#set global max_connections=5000;
14.1 永久修改,需修改/etc/my.cnf 在[mysqld]下新增或修改max_connections=5000,然后重启 systemctl restart mysqld
15.完成安装,访问 http://ip/dashboard 即可,密码在服务器的跟目录下 key****_admin 和 key****_demo 内
可能报错:
登陆后右侧出现一些报错,查看/var/log/cinder/* 后发现Too many connections 类似的错误,说明数据库连接不够,需进入数据库后 执行 set global max_connections=5000; 设置完成后,还需执行以下命令重启一下cinder相关服务,保证数据库重连成功,重启时,注意观察/var/log/cinder/*日志是否还有错误
# systemctl restart openstack-cinder-api
# systemctl restart openstack-cinder-backup
# systemctl restart openstack-cinder-scheduler
# systemctl restart openstack-cinder-volume
很多使用示例上让安装 fedaora 但是当实例创建成功后没办法拿到登陆账号密码,所以,这里可以使用注入方式设置密码,在创建实例时在配置中写入以下代码,注意将注释也复制走
#cloud-config
password: "abc*123"
chpasswd: { list: "root:abc*123" }