搭建多OpenStack多节点私有云平台(一)
1、规划虚拟机
IP地址 | 主机名 | 内存 | 磁盘 | 用途 |
---|---|---|---|---|
ens33: 192.168.25.141 10.0.0.11 | controller | 4G | 20G | 控制节点 |
ens33: 192.168.25.143 10.0.0.31 | compute1 | 4G | 20G | 计算节点 |
ens33: 192.168.25.144 10.0.0.41 | block1 | 1G | 40G | 存储节点 |
准备实验环境
2、配置基础环境
创建第一台主机,安装完centos7后,再克隆2台,之后把一台机改成1g内存40g磁盘
-
改IP地址
修改IP地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.25.141 后面2台机就改这里就行了
NETMASK=255.255.255.0
GATEWAY=192.168.25.2
DNS1=114.114.114.114
重启网络:systemctl restart network
-
改主机名
controller:hostnamectl set-hostname controller
compute1:hostnamectl set-hostname compute1
block1:hostnamectl set-hostname block1
-
host解析
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 controller
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 controller
192.168.25.141 controller controller.locallocaldomain
192.168.25.143 compute1 compute1.locallocaldomain
192.168.25.144 block1 block1.locallocaldomain[root@controller ~]# scp -rp /etc/hosts 192.168.25.143:/etc/hosts
[root@controller ~]# scp -rp /etc/hosts 192.168.25.144:/etc/hosts
查看修改结果
[root@controller ~]# cat /etc/hosts
-
连通外网
[root@controller ~]# ping -c 10 www.baidu.com
4、配置yum源(可以本地、可以网络)
[root@controller ~]# yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache
查看yum有没有安装完
# yum repolist all
5、配置SSH免密码认证
每台主机都要弄
ssh-keygen -t rsa
ssh-copy-id -i controller
ssh-copy-id -i compute1
ssh-copy-id -i block1
6、关闭SeLinux和Firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
修改 SELINUX=disabled
7、配置时间同步
controller安装chrony组件
yum install chrony -y
添加阿里云时间源服务器
vim /etc/chrony.conf
server ntp6.aliyuncom iburst
allow 192.168.25.0/24 //记得把allow前面的#号删除
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
另外2台机操作一样
yum install chrony -y
vim /etc/chrony.conf
server controller iburst
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
如果虚拟机转到快照,要重新输入以下代码,或者关机创建快照
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
8、安装OPenStack客户端和OpenStack-selinux。
查看yum里有没有openstack
yum list|grep openstack
安装queens版本
yum install centos-release-openstack-queens.noarch -y
安装OpenStack-selinux。
yum install python-openstackclient openstack-selinux -y
9、安装及配置mysql数据库后面都是controller节点的操作
安装MariaDB数据库
yum install mariadb mariadb-server python2-PyMySQL -y
添加mysql配置文件
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.25.141
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
启动MariaDB服务,并设置其开机启动,如果这里出错肯是安装出错重新安装一下
systemctl enable mariadb.service
systemctl start mariadb.service
执行MariaDB的安全配置脚本,执行安全初始化,在设置root密码时候(官方文档的坑,不执行同步数据库出错)
mysql_secure_installation
Enter current password for root (enter for none):回车需要输入你当前用户的root密码,默认密码为空
Set root password? [Y/n] n设置root密码, n不设置,密码为空,y可以重新设置密码,设置密码root
Remove anonymous users? [Y/n] y移除匿名用户
Disallow root login remotely? [Y/n] y禁止root远程登录
Remove test database and access to it? [Y/n] y移除text数据库和访问它的权限
Reload privilege tables now? [Y/n] y重载权限表
10、NoSQL数据库安装
安装MongoDB包,用于监控计费,私有云不需要监控计费,略过
11、RabbitMQ安装及配置 (开发用的,运维安装可运行)
-
安装包:
# yum install rabbitmq-server
-
启动消息队列服务并将其配置为随系统启动:
# systemctl enable rabbitmq-server.service # systemctl start rabbitmq-server.service
-
添加
openstack
用户:# rabbitmqctl add_user openstack RABBIT_PASS Creating user "openstack" ... ...done.
用合适的密码替换
RABBIT_DBPASS
。 -
给
openstack
用户配置写和读权限:d# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ... ...done.
-
输入这个代码进入网页
rabbitmq-plugins enable rabbitmq_management
进入这个网页http://192.168.25.141:15672/
默认密码:guest guest (queues 队列 监控指标,例如:秒杀
12、Memcached安装
安装软件包:
# yum install memcached python-memcached
修改配置文件
# vi /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1,::1,controller"
启动Memcached服务,并且配置它随机启动。
# systemctl enable memcached.service
# systemctl start memcached.service
查看监听端口
# netstat -lntup