06-OpenStack-queens版-手动部署基础环境
控制节点controller 内存4G 192.168.136.134
计算节点Nova 内存2G 192.168.136.135
1、最基础的必备环境
[root@controller ~]# ifconfig ens33#检查网络是否可用
[root@controller ~]# ping www.baidu.com #检查网络是否连外网
[root@controller ~]# yum repolist #检查yum源是否可用
[root@controller ~]# hostnamectl set-hostname controller.cn #设置主机名
[root@controller ~]# hostname #查看主机名
controller.cn
[root@controller ~]# vim /etc/selinux/config #修改selinux配置
SELINUX=disabled
[root@controller ~]#reboot #必须重启,修改的selinux才能生效
[root@controller ~]# systemctl disable firewalld #禁止防火墙
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl status firewalld
[root@controller ~]# systemctl disable NetworkManager#禁止NetworkManager
[root@controller ~]#systemctl stop NetworkManager
[root@controller ~]# systemctl enable network #重启network服务
[root@controller ~]# systemctl start network
[root@control ~]# ping www.baidu.com #检查网络是否连外网
[root@controller ~]# vim /etc/hosts #设置主机名解析
192.168.136.134 openstack.cn openstack #一定要写对,否则后面有很多坑排错
[root@controller ~]# vim /etc/environment #设置语言环境,非必须步骤
LANG=en_US.utf-8
LC_ALL=en_US.utf-8
[root@controller ~]# yum -y install chrony #安装时间同步NTP包
[root@controller ~]# vim /etc/chrony.conf #修改chrony.conf配置文件
server ntp1.aliyun.com iburst #,将原来4个centos的时间删除,指向阿里云时间同步
allow 0/0 #允许所有主机连接本台机子,也可以设置其他网段连接
[root@controller ~]#systemctl restart chronyd#重启ntp服务
[root@controller ~]# chronyc sources -v #检验时间源是否生效
^* 120.25.115.20 2 6 377 39 +233us[ +595us] +/- 26ms
将yum源改成在线阿里源
将原来的Centos-Base.repo 更换成阿里的Centos-7.repo 否则在后面部署Nova时会出问题
[root@control ~]#mv -f /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@control ~]#cd /etc/yum.repos.d/
[root@control yum.repos.d]#curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
[root@control yum.repos.d]#curl -O http://mirrors.aliyun.com/repo/epel-7.repo
[root@control yum.repos.d]#yum clean all #清除缓存
[root@control yum.repos.d]#yum makecache
[root@control ~]#yum -y install centos-release-openstack-queens #安装centos-release-openstack-queens包
[root@control ~]# yum-config-manager --enable openstack-queens#保证centos-release-openstack-queens包可用
[root@control ~]#yum update -y 更新系统及内核
2、手动部署数据库、消息服务、Etcd服务
[root@controller ~]# yum install python-openstackclient -y #安装openstack客户端
1、手动安装和配置SQL数据库
[root@controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL #安装SQL数据库。通常安装MariaDB。
[root@controller ~]# /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.136.134 # 值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库
default-storage-engine = innodb#默认存储引擎
innodb_file_per_table = on#为每个表独立表空间文件
max_connections = 4096 #最大连接数
collation-server = utf8_general_ci #默认字符集
character-set-server = utf8
[root@controller ~]# systemctl start mariadb #启动数据库
[root@controller ~]# systemctl enable mariadb # 加入开机自启动
[root@controller ~]# mysql_secure_installation#为了保证数据库服务的安全性,数据库安全初始化,一定要执行要不然后面时间同步会有坑
Enter current password for root (enter for none): #直接回车即可
Set root password? [Y/n] y#设置数据库密码
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y #禁止root远程登录 选择Y
Disallow root login remotely? [Y/n] Y #移除data的数据库和访问他的权限 选择 y
Remove test database and access to it? [Y/n] y #重载权限表 选择 y
Reload privilege tables now? [Y/n] y
2、手动安装NoSQL数据库
①在控制节点上安装Redis,也可以安装其他NoSQL数据库如MongoDB
[root@controller ~]# yum -y install redis python-redis #安装redis相关软件包
[root@controller ~]# systemctl start redis.service #启动redis数据库
[root@controller ~]# systemctl enable redis.service#加入开机自启动
②在空节点上安装memcached
[root@controller ~]# yum -y install memcached python-memcached #安装memcached相关软件包
[root@controller ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 192.168.136.134,127.0.0.1"# 如果没有启用IPv6地址需要删掉::1的地址绑定,ip地址也可以用主机名controller代替,注意在/etc/hosts中ip地址与主机名一定要对应上,否则无法启动memcached。
[root@controller ~]# systemctl start memcached.service #启动memcached数据库
[root@controller ~]# systemctl enable memcached.service#加入开机自动启
[root@controller ~]# systemctl status memcached.service #查看memcached状态
[root@controller ~]# netstat -anptl|grep memcached #查看端口号
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3595/memcached
tcp 0 0 192.168.136.134:11211 0.0.0.0:* LISTEN 3595/memcached
3、手动安装RabbitMQ
[root@controller ~]# yum install rabbitmq-server -y # 安装服务
[root@controller ~]# systemctl enable rabbitmq-server.service #将其配置为随系统启动
[root@controller ~]# systemctl start rabbitmq-server.service # 启动消息队列服务
[root@controller ~]# rabbitmqctl add_user openstack whj1218 #添加用户openstack,设置密码 whj1218
[root@controller ~]# rabbitmqctl set_permissions openstack "." "." "." #授权给openstack用户配置写和读权限
[root@controller ~]# netstat -lntup |grep 5672 #查看端口,验证服务
tcp 0 0 0.0.0.0:25672 0.0.0.0: LISTEN 4338/beam.smp
tcp6 0 0 :::5672 :::* LISTEN 4338/beam.smp
[root@controller ~]# rabbitmq-plugins list #查看支持插件
[root@controller ~]# rabbitmq-plugins enable rabbitmq_management #启动管理界面(插件)
[root@controller ~]# systemctl restart rabbitmq-server.service 启用web管理插件,需要重启服务使之生效
web页面登陆,输入http://192.168.136.134:15672 默认用户名密码都是guest,验证其是否有效。
4、在控制节点上安装Etcd服务
用于自动化配置
[root@controller ~]# yum install etcd -y
[root@controller ~]# vim /etc/etcd/etcd.conf ##修改配置文件,主要修改下面内容,其他原文不变
[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.136.134:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.136.134:2379"
ETCD_NAME="controller"
[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.136.134:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.136.134:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.136.134:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
注意:IP地址不能用controller替代,无法解析
[root@controller ~]#systemctl enable etcd #设置开机自启动
[root@controller ~]#systemctl start etcd #启动etcd服务
[root@controller ~]# netstat -anptl|grep etcd #查看端口服务
tcp 0 0 192.168.136.134:2379 0.0.0.0:* LISTEN 7420/etcd
tcp 0 0 192.168.136.134:2380 0.0.0.0:* LISTEN 7420/etcd
tcp 0 0 192.168.136.134:47662 192.168.136.134:2379 ESTABLISHED 7420/etcd
tcp 0 0 192.168.136.134:2379 192.168.136.134:47662 ESTABLISHED 7420/etcd
至此 OpenStack控制节点上的基础环境配置完成。