002-官网安装openstack之-安装基础服务

安装openstack基础服务

1.控制节点安装时间同步服务(chrony)

(1)时间同步大体来说有两种方式:

一种是自己搭建时间同步服务器,各个需要同步时间的节点,与其同步时间

另一种则是使用ntpdate命令直接同步网络中已存在的时间服务器(如阿里云的服务器,地址为ntp.aliyun.com)

这里我是用后者进行时间同步,这样比较方便.如果在企业中主机可以联网的情况下,可以选择与网络时间同步.

 1 [root@controller ~]# ntpdate ntp.aliyun.com 

(2)date命令查看同步后的系统时间

 1 同步前的系统时间
 2 [root@controller ~]# date
 3 Sun Dec 22 11:00:07 CST 2019
 4 [root@controller ~]# 
 5 与阿里云时间服务器进行同步
 6 [root@controller ~]# ntpdate ntp.aliyun.com
 7 查看同步后的系统时间
 8 [root@controller ~]# date
 9 Sun Dec 22 19:09:22 CST 2019
10 写入到系统硬件中
11 [root@controller ~]# hwclock -w

2.控制节点安装数据库服务(mariadb)

(1)安装基础软件包

自从mysql被oracle后,centos7中默认使用的为mariadb,语法及操作与mysql类似.

 1 [root@controller ~]# yum install mariadb mariadb-server MySQL-python python2-PyMySQL -y 

(2)创建openstack数据库配置文件

 1 [root@controller ~]# vim /etc/my.cnf.d/openstack.cnf
 2 [root@controller ~]# cat /etc/my.cnf.d/openstack.cnf #添加内容如下:
 3 [mysqld]
 4 bind-address = 0.0.0.0
 5 default-storage-engine = innodb   
 6 innodb_file_per_table = on          
 7 max_connections = 4096
 8 collation-server = utf8_general_ci
 9 character-set-server = utf8
10 init-connect = 'SET NAMES utf8'
11 [root@controller ~]# 

注释:
#默认存储引擎使用的是innodb
default-storage-engine = innodb
#使用独享表空间模式
innodb_file_per_table = on

(3)启动数据库且设置开机自启动

1 [root@controller ~]#systemctl restart mariadb
2 [root@controller ~]#systemctl status mariadb
3 [root@controller ~]#systemctl enable mariadb 
4 [root@controller ~]#systemctl list-unit-files |grep -i  mariadb 

(4)初始化数据库,且重新启动数据库服务

设置mysql中默认root用户的密码. 注意,root用户与lnux中root无任何关系,只是用户名一样.

我这里推荐两种方式设置mysql的密码,具体如下:

设置数据库密码。默认密码为空。此处设置密码为123456。

方法1:

直接使用mysqladmin命令

[root@controller ~]# mysqladmin  -uroot -p password 123456
Enter password:  直接回车即可.123456为需要设置的密码

方法2:

mysql_secure_installation交互式方式设置.

 1 [root@controller ~]#mysql_secure_installation #交互过程中分别为 y y n y y  

#重启数据库服务

  1 [root@controller ~]# systemctl restart mariadb 

(5)测试密码是否设置成功

 1 [root@controller ~]# mysql -uroot -p
 2 Enter password:  #此处为刚设置的数据库新密码123456
 3 MariaDB [(none)]> show databases;
 4 +--------------------+
 5 | Database           |
 6 +--------------------+
 7 | information_schema |
 8 | mysql              |
 9 | performance_schema |
10 | test               |
11 +--------------------+
12 4 rows in set (0.01 sec)
13 
14 MariaDB [(none)]> quit
15 [root@controller ~]#

3.安装消息队列服务(rabbitmq)

概念理解(参考百度百科):
        消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。

(1)安装相关服务rabbitmq-server

 1 [root@controller ~]# yum install rabbitmq-server -y 

(2)启动rabbitmq服务,且设置开机自启动

[root@controller ~]# systemctl start rabbitmq-server
[root@controller ~]# systemctl enable rabbitmq-server

(3)创建消息队列中openstack账号及密码

1 # 添加openstack用户和密码,配置用户权限,配置读,写权限
2 [root@controller ~]# rabbitmqctl add_user openstack openstack
3 [root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
4 [root@controller ~]# rabbitmqctl set_permissions -p "/" openstack ".*" ".*" ".*"

(4)启用rabbitmq_management插件,用来实现 web 管理,重启rabbitmq服务

 1 查看rabbitmq支持的插件
 2 [root@controller ~]# rabbitmq-plugins list
 3 启动rabbitmq_managemen web管理插件
 4 [root@controller ~]# rabbitmq-plugins enable rabbitmq_management
 5 #重启rabbitmq服务
 6 [root@controller ~]#systemctl restart rabbitmq-server
 7 [root@controller ~]#rabbitmq-plugins list
 8 #查看相关端口是否开启
 9 方法1:
10 [root@controller ~]# lsof -i:15672
11 方法2:
12 [root@controller ~]# netstat -lntpv|grep -i beam
13 tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      6711/beam.smp       
14 tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      6711/beam.smp       
15 tcp6       0      0 :::5672                 :::*                    LISTEN      6711/beam.smp       
16 [root@controller ~]# 
17 方法3:
18 [root@controller ~]# ss -lan|grep -i 567
19 tcp    LISTEN     0      128       *:25672                 *:*                  
20 tcp    LISTEN     0      128       *:15672                 *:*                  
21 tcp    LISTEN     0      128      :::5672                 :::*                  
22 [root@controller ~]# 

(5)浏览器访问rabbitmq web管理平台

使用浏览器访问rabbitmq web管理平台进行测试用户名/密码:guest/guest

002-官网安装openstack之-安装基础服务_第1张图片

002-官网安装openstack之-安装基础服务_第2张图片

4.控制节点安装缓存服务(memcached)

概念理解:

认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。

 (1)安装memcached软件包

 1 [root@controller ~]# yum install memcached python-memcached -y 

(2)修改memcached配置文件

建议在后续任何修改的操作前,每次修改配置文件前先备份再修改
注意:如果没有启用IPv6地址需要删掉::1的地址绑定
[root@controller ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,controller"

(3)启动memcached服务且设置开机自启动

 1 [root@controller ~]# systemctl start memcached

2 [root@controller ~]# systemctl enable memcached 

(4)查看服务是否启动

1 [root@controller ~]# netstat -lntpv|grep -i memcache
2 [root@controller ~]# systemctl list-unit-files |grep memcached
3 memcached.service         enabled 
4 [root@controller ~]# 

5.控制节点上安装etcd服务(etcd)

概念理解

Etcd服务是新版本中新加入的,用于自动化配置,用于配置共享和服务发现

(1)安装相关软件包etcd

 1 [root@controller ~]# yum install etcd -y 

(2)修改etcd配置文件

 1 该配置文件中,只能写IP地址,不能使用主机名controller来代替IP.
 2 vim /etc/etcd/etcd.conf
 3 -----------------------------------
 4 #[Member]
 5 ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
 6 ETCD_LISTEN_PEER_URLS="http://192.168.20.10:2380"
 7 ETCD_LISTEN_CLIENT_URLS="http://192.168.20.10:2379"
 8 ETCD_NAME="controller"
 9 
10 #[Clustering]
11 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.20.10:2380"
12 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.20.10:2379"
13 ETCD_INITIAL_CLUSTER="controller=http://192.168.20.10:2380"
14 ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
15 ETCD_INITIAL_CLUSTER_STATE="new"

(3)启动服务,设置开机启动

1 [root@controller ~]# systemctl start etcd
2 [root@controller ~]#systemctl enable etcd
3 [root@controller ~]#netstat -lntpv|grep etcd

至此,openstack控制节点所有基础环境及服务准备完毕。开始安装openstack各个组件。

欢迎大家多评论,多提好的建议.正在更新中.还会有docker,python等相关文档出来.

你可能感兴趣的:(002-官网安装openstack之-安装基础服务)