@[TOC](openstack controller高可用之一(小节9))
ha1和ha2
安装包
[root@ha1 ~]# yum install keepalived haproxy -y
[root@ha2 ~]# yum install keepalived haproxy -y
ha1
编辑'keepalived.conf'配置文件
[root@ha1 ~]# vim /etc/keepalived/keepalived.conf
15 vrrp_iptables <--添加参数
30 virtual_ipaddress {
31 192.168.37.248 dev eth0 label eth0:0
32 }
33 }
后面的全部删除掉
重启'keepalived.conf'
[root@ha1 ~]# systemctl restart keepalived
设为开机启动
[root@ha1 ~]# systemctl enable keepalived
把配置文件拷贝过去
[root@ha1 ~]# scp /etc/keepalived/keepalived.conf 192.168.37.107:/etc/keepalived/
ha2
修改配置文件
[root@ha2 ~]# vim /etc/keepalived/keepalived.conf
21 state BACKUP <--设置为从
24 priority 80 <--优先级调为80
重启服务并设为开机启动
[root@ha2 ~]# systemctl restart keepalived
[root@ha2 ~]# systemctl enable keepalived
ha1
可以看到'37.248'地址
[root@ha1 ~]# ifconfig eth0:0
eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.37.248 netmask 255.255.255.255 broadcast 0.0.0.0
ether 00:0c:29:79:d6:48 txqueuelen 1000 (Ethernet)
编辑'haproxy'配置文件
[root@ha1 ~]# vim /etc/haproxy/haproxy.cfg
63 #此行后全部删除,改为如下信息
64 listen openstack-dashboard-80
65 bind 192.168.37.248:80
66 mode tcp
67 server 192.168.37.101 192.168.37.101:80 check inter 3s fall 3 rise 5
68
69 listen openstack-keystone
70 bind 192.168.37.248:5000
71 mode tcp
72 server 192.168.37.102 192.168.37.102:5000 check inter 3s fall 3 rise 5
73
74 listen mysql
75 bind 192.168.37.248:3306
76 mode tcp
77 server mysql1 192.168.37.105:3306 check inter 3s fall 3 rise 3
78
79 listen memcached
80 bind 192.168.37.248:11211
81 mode tcp
82 server mysql1 192.168.37.105:11211 check inter 3s fall 3 rise 3
83
84 listen rabbitmq
85 bind 192.168.37.248:5672
86 mode tcp
87 server mysql1 192.168.37.105:5672 check inter 3s fall 3 rise 3
重启'haproxy',并开机启动
[root@ha1 ~]# systemctl restart haproxy
[root@ha1 ~]# systemctl enable haproxy
查看监听端口
[root@ha1 ~]# ss -ntlp|grep haproxy
LISTEN 0 128 192.168.37.248:5672 *:* users:(("haproxy",pid=4197,fd=10))
LISTEN 0 128 192.168.37.248:5000 *:* users:(("haproxy",pid=4197,fd=7))
LISTEN 0 128 192.168.37.248:3306 *:* users:(("haproxy",pid=4197,fd=8))
LISTEN 0 128 192.168.37.248:11211 *:* users:(("haproxy",pid=4197,fd=9))
LISTEN 0 128 192.168.37.248:80 *:* users:(("haproxy",pid=4197,fd=5))
浏览器
加入参数
[root@ha1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
使参数生效
[root@ha1 ~]# sysctl -p
ha2
加入参数
[root@ha2 ~]# vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
使参数生效
[root@ha2 ~]# sysctl -p
controller2
安装包
[root@controller2 ~]# yum install centos-release-openstack-stein.noarch -y
[root@controller2 ~]# yum install python-openstackclient openstack-selinux -y
[root@controller2 ~]# yum install python-memcached python2-PyMySQL -y
安装keystone认证服务
[root@controller2 ~]# yum install openstack-keystone httpd mod_wsgi -y
controller1
打包拷贝到'controller2'
[root@controller1 ~]# cd /etc/keystone/
[root@controller1 keystone]# tar czvf keystone-controller1.tar.gz ./*
[root@controller1 keystone]# scp keystone-controller1.tar.gz 192.168.37.102:/etc/keystone/
[root@controller1 keystone]# scp -r /root/scripts 192.168.37.102:/root/
controller2
解压缩出来
[root@controller2 ~]# cd /etc/keystone/
[root@controller2 keystone]# tar xvf keystone-controller1.tar.gz
软链接
[root@controller2 keystone]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
重启服务并设置开机启动
[root@controller2 keystone]# systemctl enable httpd.service
[root@controller2 keystone]# systemctl start httpd.service
修改hosts文件
[root@controller2 keystone]# vim /etc/hosts
192.168.37.248 openstack.123.net <--添加此行
导入环境变量
[root@controller2 keystone]# source /root/scripts/admin_stein.sh
查看openstack用户列表
[root@controller2 keystone]# openstack user list
+----------------------------------+-----------+
| ID | Name |
+----------------------------------+-----------+
| 0f584dfa1d2e47599ac6c4235dfeb80d | demo |
| a4421ad7296c44909679101ffad22c7e | neutron |
| c262b783c3804f20b6ffbf8eab791cd8 | admin |
| c8a6c425605d4701b51e3f954ddbc049 | placement |
| dcd1ed99cdc74410a664eeaaa67f953a | nova |
| e0b4289866944ab6a062224b7b73a5e1 | glance |
+----------------------------------+-----------+
查看openstack服务列表
[root@controller2 keystone]# openstack service list
+----------------------------------+-----------+-----------+
| ID | Name | Type |
+----------------------------------+-----------+-----------+
| 08ec565d0c9744239dc7829f1468fb2b | keystone | identity |
| 29712f44f34b41a0b6fddf5787fd053f | glance | image |
| 408c14e39c5e424fa2df23bc2211abea | neutron | network |
| 7b29655f8a1d41f2a263fd82685aafb3 | nova | compute |
| d41642dacde64225880fe8645949689b | placement | placement |
+----------------------------------+-----------+-----------+
ha1
修改haproxy配置文件
[root@ha1 ~]# vim /etc/haproxy/haproxy.cfg
63 #此行后全部删除,改为如下信息
64 listen openstack-dashboard-80
65 bind 192.168.37.248:80
66 mode tcp
67 server 192.168.37.101 192.168.37.101:80 check inter 3s fall 3 rise 5
68
69 listen openstack-keystone
70 bind 192.168.37.248:5000
71 mode tcp
72 server 192.168.37.102 192.168.37.102:5000 check inter 3s fall 3 rise 5
73
74 listen openstack-neutron
75 bind 192.168.37.248:9696
76 mode tcp
77 server mysql1 192.168.37.102:9696 check inter 3s fall 3 rise 3
78
79 listen openstack-glance
80 bind 192.168.37.248:9292
81 mode tcp
82 server mysql1 192.168.37.102:9292 check inter 3s fall 3 rise 3
83
84 listen openstack-placement
85 bind 192.168.37.248:8778
86 mode tcp
87 server mysql1 192.168.37.102:8778 check inter 3s fall 3 rise 3
88
89 listen openstack-nova
90 bind 192.168.37.248:8774
91 mode tcp
92 server mysql1 192.168.37.102:8774 check inter 3s fall 3 rise 3
93
94 listen openstack-nova-api
95 bind 192.168.37.248:8775
96 mode tcp
97 server mysql1 192.168.37.102:8775 check inter 3s fall 3 rise 3
98
99 listen openstack-vncproxy
100 bind 192.168.37.248:6080
101 mode tcp
102 server mysql1 192.168.37.102:6080 check inter 3s fall 3 rise 3
103
104 listen openstack-mysql
105 bind 192.168.37.248:3306
106 mode tcp
107 server mysql1 192.168.37.105:3306 check inter 3s fall 3 rise 3
108
109 listen openstack-memcached
110 bind 192.168.37.248:11211
111 mode tcp
112 server mysql1 192.168.37.105:11211 check inter 3s fall 3 rise 3
113
114 listen openstack-rabbitmq
115 bind 192.168.37.248:5672
116 mode tcp
117 server mysql1 192.168.37.105:5672 check inter 3s fall 3 rise 3
重启服务
[root@ha1 ~]# systemctl restart haproxy
查看端口
[root@ha1 ~]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 192.168.37.248:8775 *:*
LISTEN 0 128 192.168.37.248:5672 *:*
LISTEN 0 128 192.168.37.248:5000 *:*
LISTEN 0 128 192.168.37.248:3306 *:*
LISTEN 0 128 192.168.37.248:8778 *:*
LISTEN 0 128 192.168.37.248:11211 *:*
LISTEN 0 128 192.168.37.248:9292 *:*
LISTEN 0 128 192.168.37.248:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 192.168.37.248:6080 *:*
LISTEN 0 128 192.168.37.248:9696 *:*
LISTEN 0 128 192.168.37.248:8774 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
controller2
安装包
[root@controller2 keystone]# yum install openstack-glance -y
controller1
打包
[root@controller1 keystone]# cd /etc/glance/
[root@controller1 glance]# ll
total 456
-rw-r----- 1 root glance 193928 Sep 20 09:03 glance-api.conf
-rw-r----- 1 root glance 88749 Jan 20 2020 glance-cache.conf
-rw-r--r-- 1 root glance 7779 Jan 20 2020 glance-image-import.conf
-rw-r----- 1 root glance 66392 Sep 20 09:04 glance-registry.conf
-rw-r----- 1 root glance 80991 Jan 20 2020 glance-scrubber.conf
-rw-r--r-- 1 root glance 632 Jan 22 2020 glance-swift.conf
drwxr-xr-x 2 root root 4096 Sep 20 09:01 metadefs
-rw-r----- 1 root glance 1388 Jan 20 2020 policy.json
-rw-r----- 1 root glance 941 Jan 22 2020 rootwrap.conf
drwxr-xr-x 2 root root 65 Sep 20 09:01 rootwrap.d
-rw-r----- 1 root glance 1495 Jan 20 2020 schema-image.json
#打包当前目录下所有
[root@controller1 glance]# tar czvf glance-controller1.tar.gz ./*
拷贝
[root@controller1 glance]# scp glance-controller1.tar.gz 192.168.37.102:/etc/glance/
controller2
解压缩
[root@controller2 keystone]# cd /etc/glance/
[root@controller2 glance]# tar xvf glance-controller1.tar.gz
过滤一下当前目录下的所有文件、看是否有IP地址要修改
[root@controller2 glance]# grep 192.* ./* -R
创建目录
[root@controller2 glance]# mkdir /var/lib/glance/images
递归修改属主属组权限
[root@controller2 glance]# chown glance.glance /var/lib/glance/images -R
安装包
[root@controller2 glance]# yum install nfs-utils -y
添加到开机自动挂载
[root@controller2 glance]# vim /etc/fstab
192.168.37.105:/data/openstack/image /var/lib/glance/images nfs defaults,_netdev 0 0
将/etc/fstab的所有内容重新加载
[root@controller2 glance]# mount -a
可以看到刚刚的挂载信息
[root@controller2 glance]# df -hT|grep 192
192.168.37.105:/data/openstack/image nfs4 98G 1.8G 96G 2% /var/lib/glance/images
设置开机启动
[root@controller2 glance]# systemctl enable openstack-glance-api.service openstack-glance-registry.service
启动服务
[root@controller2 glance]# systemctl start openstack-glance-api.service openstack-glance-registry.service
可以看到镜像
[root@controller2 glance]# openstack image list
+--------------------------------------+--------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------+--------+
| a36cbc0c-1813-46e7-9698-deef028a2a71 | cirros-0.4.0 | active |
+--------------------------------------+--------------+--------+