openstack controller高可用之一(小节9)

250 阅读6分钟

@[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))

浏览器

图片.png

加入参数

[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 |
+--------------------------------------+--------------+--------+