最近因课程要求,自己动手搭了一个OpenStack云平台,我将整个过程分了六篇博客。我使用了两个CentOS的虚拟机,一个作为计算节点,一个作为控制节点,整体过程比较繁杂,有心人可以细心看一看
1、修改各主机名(重新登录才能使其生效):
hostname controll
echo controll > /etc/hostname
备注:在所有节点上执行上述操作(注意设置对应主机名)。
2、配置各主机hosts(/etc/hosts)文件,增加以下内容:
vi /etc/hosts
10.104.199.9 controll
10.104.199.23 compute
备注:在所有节点上执行上述操作。
3、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
备注:在所有节点上执行上述操作。
4、关闭SElinux
vi /etc/selinux/config 文件
SELINUX=enforcing改为SELINUX=disable (非常重要,主要在网络配置上)
备注:在所有节点上执行上述操作。
5、配置系统安装盘为yum软件源:
屏蔽 /etc/yum.repos.d/ 下所有yum源(将所有.repo文件更名为.repo.bak)
设置本地ftp源CentOS-Media.repo:
vi /etc/yum.repos.d/CentOS-Media.repo
添加以下内容:
[c7-media]
name=CentOS-$releasever – Media
baseurl=ftp://10.104.199.221/repo/centos
gpgcheck=0
enabled=1
保存并执行以下命令:
yum makecache
(需要自己下载CentOS镜像)将CentOS-7.4.iso放置于/home/centos目录下,同时新建目录/media/centos,将ISO文件挂载于/media/centos下,命令如下:
mount -t iso9660 -o loop CentOS-7.4.iso /media/centos
配置本地源文件:
vi /etc/yum.repos.d/CentOS-Media.repo
做以下修改:
[c7-media]
name=CentOS-$releasever – Media
baseurl=file:///media/centos
gpgcheck=0
enabled=1
保存并执行以下命令:
yum makecache
备注:在所有节点上执行上述操作。
6、新建Ocata软件yum源:
vi /etc/yum.repos.d/openstack_ocata.repo
[ocata]
name=ocata_rpm
baseurl=ftp://10.104.199.221/repo/ocata_rpm
enabled=1
gpgcheck=0
yum makecache
备注:在所有节点上执行上述操作。
控制节点云平台基础服务部署
1、安装MySQL数据库:
yum install -y mariadb mariadb-server python2-PyMySQL
修改配置文件,添加以下内容:
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.104.199.10
default-storage-engine = innodb
innodb_file_per_table=on
max_connections=4096
collation-server = utf8_general_ci
character-set-server = utf8
设置开机启动,并启动服务:
systemctl enable mariadb.service
systemctl restart mariadb.service
数据库初始化,创建root密码等,操作如下
mysql_secure_installation
Enter current password for root (enter for none):[Enter]
Set root password? [Y/n] Y
New password: openstack
Re-enter new password:openstack
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
注意:Mysql的最大连接数据会根据具体操作系统的版本有所变动,必要时还须手动更改;
2、安装消息队列RabbitMQ:
yum install -y rabbitmq-server
设置开机自启动并启动服务:
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
设置rabbitmq账户密码和权限(账户密码都为openstack):
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl set_user_tags openstack administrator
3、安装分布式缓存服务Memcached:
yum install -y memcached python-memcached
修改如下对应项:(注意#前面是controll说明是在控制节点上执行该命令,是compute说明是在计算节点上执行该命令,没有强调的控制节点和计算节点都要执行)
controll# vi /etc/sysconfig/memcached
OPTIONS=”-l 127.0.0.1,::1,controll”
设置开机自启动并启动服务
systemctl enable memcached.service
systemctl restart memcached.service
systemctl status memcached.service
4、安装时间同步软件chrony并进行配置:
yum install chrony
vi /etc/chrony.conf
并修改以下内容:
allow10.104.199.0/24
设置开机自启动并启动服务
systemctl enable chronyd.service
systemctl restart chronyd.service
5、安装httpd软件包:
controll# yum install -y httpd mod_wsgi
配置以下内容:
controll# vi /etc/httpd/conf/httpd.conf
ServerName controll
启动http服务并设置开机自启动:
controll# systemctl enable httpd.service
controll# systemctl restart httpd.service
control# systemctl status httpd.service
在其他节点上执行以下操作:
安装时间同步软件chrony并进行配置:
yum install chrony
vi /etc/chrony.conf
屏蔽其他server(在server项的前面加#号,注释掉),并添加以下内容
server controll iburst
设置开机自启动并启动服务:
systemctl enable chronyd.service
systemctl restart chronyd.service
验证同步源:
chronyc sources