OpenStack基礎服務安裝
CentOS Linux release 7.6.1810 (Core)
OpenStack安裝M版
規劃
controller 內存3G CPU虛擬化開啓 IP地址 10.0.0.11
compute1 內存1G CPU虛擬化開啓 IP地址hi 10.0.0.31
網關地址爲10.0.0.2
環境準備
1、修改主機名 IP地址 hosts解析 ping百度測試網絡
controller節點:
hostnamectl set-hostname controller
bash
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.11
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.5.5.5
[root@controller ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.11 controller
10.0.0.31 compute1
[root@controller ~]#
[root@controller ~]# ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=128 time=6.92 ms
^C
--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 6.920/6.920/6.920/0.000 ms
compute1節點
hostnamectl set-hostname compute1
[root@compute1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.11 controller
10.0.0.31 compute1
[root@compute1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.31
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.5.5.5
[root@compute1 ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=8.15 ms
^C
--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 8.157/8.157/8.157/0.000 ms
2、配置yum源 (雙節點執行)
mount /dev/cdrom /mnt
rz 上傳openstack_rpm.tar.gz到/opt,並解壓
生成repo配置文件
echo '[local]
name=local
baseurl=file:///mnt
gpgcheck=0
[openstack]
name=openstack
baseurl=file:///opt/repo
gpgcheck=0' >/etc/yum.repos.d/local.repo
echo 'mount /dev/cdrom /mnt' >>/etc/rc.local
chmod +x /etc/rc.d/rc.local
[root@compute1 opt]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
openstack | 2.9 kB 00:00:00
openstack/primary_db | 398 kB 00:00:00
repo id repo name status
local local 4,021
openstack openstack 598
repolist: 4,619
在線源安裝
cd /etc/yum.repos.d/
rm -rf ./*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
ls
yum makecache
yum list |grep openstack
yum install -y centos-release-openstack-train.noarch
[root@controller yum.repos.d]# ls
CentOS-Base.repo CentOS-OpenStack-train.repo
CentOS-Ceph-Nautilus.repo CentOS-QEMU-EV.repo
CentOS-NFS-Ganesha-28.repo CentOS-Storage-common.repo
基礎服務安裝
1、所有節點安裝時間服務
yum install chrony -y
客戶端 監聽 323
服務端監聽 123
controller節點同步阿里雲時間
vim /etc/chrony.conf
server ntp5.aliyun.com iburst
allow 10.0.0.0/24
systemctl restart chronyd.service
compute1同步controller時間
[root@compute1 ~]# vim /etc/chrony.conf
[root@compute1 ~]# grep -Ev "^$|#" /etc/chrony.conf
server 10.0.0.11 iburst
[root@compute1 ~]# systemctl restart chronyd.service
安裝openstack客戶端和openstack-selinux 所有節點執行
yum install python-openstackclient -y
yum install openstack-selinux -y
僅控制節點執行 :安裝配置mariadb
存儲各個組件的信息
yum install mariadb mariadb-server python2-PyMySQL -y
cat /etc/my.cnf.d/openstack.cnf
python2-PyMySQL :幫助python連接mysql的模塊
配置
[root@controller ~]# cd /etc/my.cnf.d/
[root@controller my.cnf.d]# vim openstack.cnf
[root@controller my.cnf.d]# cat /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
重啓數據庫並執行安全初始化
#啓動
systemctl start mariadb
systemctl enable mariadb
#安全初始化
mysql_secure_installation
回車
n 不設置數據庫密碼
y
y
y
y
安裝消息隊列服務 controller節點
使得各個組件之間互相調用
安裝rabbitmq並創建用戶 監聽5672 15672 25672 端口
yum install rabbitmq-server -y
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service
rabbitmqctl add_user openstack RABBIT_PASS OpenStack用戶設置密碼爲 RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*" 給OpenStack用戶授權
啓動rabbitmq 插件 監聽15672
用於監控頁面查看
rabbitmq-plugins enable rabbitmq_management
登錄rabbitmqweb頁面
http://10.0.0.11:15672/
默認用戶名和密碼
guest
guest
memcached緩存token
緩存token 監聽11211
安裝
yum install memcached python-memcached -y
python-memcached python連接memcache的模塊
配置 監聽10.0.0.11的主機
[root@controller my.cnf.d]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 10.0.0.11,::1"
啓動並開機啓動
systemctl restart memcached.service
systemctl enable memcached.service