openstack controller高可用之二(小节10)

156 阅读6分钟

@[TOC](openstack controller高可用之二(小节10))

controller2

安装包(placement)

[root@controller2 glance]# yum install openstack-placement-api -y

controller1

打包

[root@controller1 glance]# cd /etc/placement/
[root@controller1 placement]# ll
total 24
-rw-r----- 1 root placement 19719 Sep 20 12:25 placement.conf
-rw-r----- 1 root placement     4 Jul 25  2019 policy.json

[root@controller1 placement]# tar czvf placement-controller.tar.gz ./*

拷贝到102

[root@controller1 placement]# scp placement-controller.tar.gz 192.168.37.102:/etc/placement/

controller2

解压缩

[root@controller2 placement]# pwd
/etc/placement

[root@controller2 placement]# tar xvf placement-controller.tar.gz

过滤一下(检查配置文件中是否有IP地址需要修改)

[root@controller2 placement]# grep 192.* ./* -R

修复bug

[root@controller2 placement]# vim /etc/httpd/conf.d/00-placement-api.conf

#结尾添加下面信息、修复bug
<Directory /usr/bin>
   <IfVersion >= 2.4>
      Require all granted
   </IfVersion>
   <IfVersion < 2.4>
      Order allwo,deny
      Allow from all
   </IfVersion>
</Directory>

重启apche服务

[root@controller2 placement]# systemctl restart httpd

导入变量

[root@controller2 nova]# source /root/scripts/admin_stein.sh

验证

[root@controller2 placement]# placement-status upgrade check
+----------------------------------+
| Upgrade Check Results            |
+----------------------------------+
| Check: Missing Root Provider IDs |
| Result: Success                  |
| Details: None                    |
+----------------------------------+
| Check: Incomplete Consumers      |
| Result: Success                  |
| Details: None                    |
+----------------------------------+

安装包(nova)

[root@controller2 placement]# yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler -y

controller1

打包

[root@controller1 placement]# cd /etc/nova/
[root@controller1 nova]# ll
total 396
-rw-r----- 1 root nova   2923 Nov  9  2020 api-paste.ini
-rw-r----- 1 root nova 388496 Sep 22 16:23 nova.conf
-rw-r----- 1 root nova      4 Nov  9  2020 policy.json
-rw-r--r-- 1 root root     64 Nov  9  2020 release
-rw-r----- 1 root nova    966 Nov  9  2020 rootwrap.conf
[root@controller1 nova]# tar czvf nova-controller1.tar.gz ./*

拷贝到102

[root@controller1 nova]# scp nova-controller1.tar.gz 192.168.37.102:/etc/nova/

controller2

解压缩

[root@controller2 placement]# cd /etc/nova/
[root@controller2 nova]# ll
total 496
-rw-r----- 1 root nova   2923 Nov  9  2020 api-paste.ini
-rw-r----- 1 root nova 387263 Nov  9  2020 nova.conf
-rw-r--r-- 1 root root 100505 Sep 27 09:25 nova-controller1.tar.gz
-rw-r----- 1 root nova      4 Nov  9  2020 policy.json
-rw-r--r-- 1 root root     64 Nov  9  2020 release
-rw-r----- 1 root nova    966 Nov  9  2020 rootwrap.conf
[root@controller2 nova]# tar xvf nova-controller1.tar.gz

过滤一下(检查配置文件中是否有IP地址需要修改)

[root@controller2 nova]# grep 192.* ./* -R
./nova.conf:#my_ip = 192.168.37.101
./nova.conf:#     1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160
./nova.conf:server_listen = 192.168.37.101
./nova.conf:server_proxyclient_address = 192.168.37.101

把文件中'192.168.37.101'全部替换成'192.168.37.102'

[root@controller2 nova]# vim /etc/nova/nova.conf

:%s/192.168.37.101/192.168.37.102/g    <--把文件中'192.168.37.101'全部替换成'192.168.37.102'

启动服务并设置开机启动

[root@controller2 nova]# systemctl start openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

[root@controller2 nova]# systemctl enable openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service 

查看nova服务列表

[root@controller2 nova]# nova service-list
+--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+
| Id                                   | Binary           | Host        | Zone     | Status  | State | Updated_at                 | Disabled Reason | Forced down |
+--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+
| f468a4e0-3f1b-4f1b-abb5-726fb146c75c | nova-consoleauth | controller1 | internal | enabled | up    | 2022-09-27T03:52:47.000000 | -               | False       |
| 7e997d79-dc48-47c7-bc9b-9f47b50c798d | nova-scheduler   | controller1 | internal | enabled | up    | 2022-09-27T03:52:46.000000 | -               | False       |
| f0cf6785-041d-4469-8636-5354493636b2 | nova-conductor   | controller1 | internal | enabled | up    | 2022-09-27T03:52:46.000000 | -               | False       |
| db3927d9-9748-4781-9778-dab1d87efb89 | nova-compute     | node1       | nova     | enabled | up    | 2022-09-27T03:52:51.000000 | -               | False       |
| 977b6bca-0cf0-4f4b-b228-6914af686cf8 | nova-console     | controller1 | internal | enabled | down  | 2022-09-22T10:35:39.000000 | -               | False       |
| b7665572-c7d7-45e7-9999-81794a940736 | nova-compute     | node2       | nova     | enabled | up    | 2022-09-27T03:52:50.000000 | -               | False       |
| 72fc44e4-f181-4f83-a085-9401aa3bde38 | nova-consoleauth | controller2 | internal | enabled | up    | 2022-09-27T03:52:46.000000 | -               | False       |
| 427b5c07-dfcd-4ccb-ac04-935a39090b9e | nova-scheduler   | controller2 | internal | enabled | up    | 2022-09-27T03:52:48.000000 | -               | False       |
| 36507085-8ac2-4ba8-b087-affcd9318c14 | nova-conductor   | controller2 | internal | enabled | up    | 2022-09-27T03:52:48.000000 | -               | False       |
+--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+

controller1

关闭服务

[root@controller1 ~]# systemctl stop openstack-nova-api.service openstack-nova-consoleauth openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service  haproxy
[root@controller1 ~]# systemctl stop httpd openstack-glance-api.service openstack-glance-registry.service

controller2

安装包

[root@controller2 nova]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge.noarch ebtables -y

controller1

打包

[root@controller1 nova]# cd /etc/neutron/
[root@controller1 neutron]# ll
total 72
drwxr-xr-x 11 root root      260 Sep 22 15:04 conf.d
-rw-r-----  1 root neutron  6634 Sep 22 16:13 dhcp_agent.ini
-rw-r-----  1 root neutron  6524 Nov 27  2020 l3_agent.ini
-rw-r-----  1 root neutron  9952 Sep 22 16:20 metadata_agent.ini
-rw-r-----  1 root neutron 39791 Sep 22 15:43 neutron.conf
lrwxrwxrwx  1 root root       37 Sep 22 16:24 plugin.ini -> /etc/neutron/plugins/ml2/ml2_conf.ini
drwxr-xr-x  3 root root       17 Sep 22 15:04 plugins
-rw-r--r--  1 root root     1298 Nov 27  2020 rootwrap.conf
[root@controller1 neutron]# tar czvf neutron-controller1.tar.gz ./*

拷贝到102

[root@controller1 neutron]# scp neutron-controller1.tar.gz 192.168.37.102:/etc/neutron/

controller2

解压缩

[root@controller2 nova]# cd /etc/neutron/
[root@controller2 neutron]# ll
total 92
drwxr-xr-x 11 root root      260 Sep 27 12:10 conf.d
-rw-r-----  1 root neutron  6524 Nov 27  2020 dhcp_agent.ini
-rw-r-----  1 root neutron  6524 Nov 27  2020 l3_agent.ini
-rw-r-----  1 root neutron  9873 Nov 27  2020 metadata_agent.ini
-rw-r-----  1 root neutron 38991 Nov 27  2020 neutron.conf
-rw-r--r--  1 root root    16541 Sep 27 12:13 neutron-controller1.tar.gz
drwxr-xr-x  3 root root       17 Sep 27 12:10 plugins
-rw-r--r--  1 root root     1298 Nov 27  2020 rootwrap.conf
[root@controller2 neutron]# tar xvf neutron-controller1.tar.gz

过滤一下(检查配置文件中是否有IP地址需要修改)

[root@controller2 neutron]# grep 192.* ./* -R

重启服务

[root@controller2 neutron]# systemctl restart openstack-nova-api.service

启动并开机启动

[root@controller2 neutron]# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

[root@controller2 neutron]# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

controller1

关闭服务

[root@controller1 neutron]# systemctl stop neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service

controller2

此时第二个注册端也会注册进来

[root@controller2 neutron]# neutron agent-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host        | availability_zone | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+
| 4a2a0ff2-2dcc-4fd1-8d30-55c3b89d7e92 | Linux bridge agent | node1       |                   | xxx   | True           | neutron-linuxbridge-agent |
| 773c65a3-6d62-464e-9129-b2c9a334cb7d | Linux bridge agent | controller2 |                   | :-)   | True           | neutron-linuxbridge-agent |
| 781ff61b-f70d-45d0-96c2-feb45aa8e80e | Metadata agent     | controller2 |                   | :-)   | True           | neutron-metadata-agent    |
| ace303e8-bcc2-42fe-a348-207c34f7032f | Linux bridge agent | controller1 |                   | xxx   | True           | neutron-linuxbridge-agent |
| b146298d-7dd4-4624-8d9e-d25b481bb7c3 | DHCP agent         | controller1 | nova              | xxx   | True           | neutron-dhcp-agent        |
| ca704fc1-f8f7-450b-9652-b08d4aed5f62 | Metadata agent     | controller1 |                   | xxx   | True           | neutron-metadata-agent    |
| d300f6c1-5eac-4950-a662-d1f4f082ed48 | Linux bridge agent | node2       |                   | xxx   | True           | neutron-linuxbridge-agent |
| e534b337-e48f-45de-b59c-606f22c1080f | DHCP agent         | controller2 | nova              | :-)   | True           | neutron-dhcp-agent        |
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+

node1和node2

以node1为例、更改hosts文件和网络配置文件

[root@node1 ~]# vim /etc/hosts

192.168.37.248 openstack.123.net    <--修改此行、把之前的'192.168.37.101'改为'192.168.37.248'

[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DNS1=192.168.37.2    <--

#重启网络、使用DNS生效
[root@node1 ~]# systemctl restart network

重启服务

[root@node1 ~]# bash scripts/nova-restart_agent.sh scripts/neutron-restart_agent.sh

ha1

修改'haproxy'配置文件

[root@ha1 ~]# vim /etc/haproxy/haproxy.cfg
 
#在'defaults'中把超时时长设置一下
 53     timeout connect         120s
 54     timeout client          600m
 55     timeout server          600m

#把'192.168.37.101'全部改为'192.168.37.102'
 63 
 64 listen openstack-dashboard-80
 65   bind 192.168.37.248:80
 66   mode tcp
 67   server 192.168.37.102 192.168.37.102: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.service

controller2

安装包

[root@controller2 ~]# yum install openstack-dashboard -y

controller1

拷贝到102

[root@controller1 ~]# scp /etc/openstack-dashboard/local_settings 192.168.37.102:/etc/openstack-dashboard/

controller2

过滤一下(检查配置文件中是否有IP地址需要修改)

[root@controller2 ~]# grep 192.* /etc/openstack-dashboard/* -R
/etc/openstack-dashboard/local_settings:OPENSTACK_HOST = "192.168.37.101"
/etc/openstack-dashboard/local_settings:#    'ipv4': ['10.0.0.0/8', '192.168.0.0/16'],

[root@controller2 ~]# vim /etc/openstack-dashboard/local_settings

OPENSTACK_HOST = "192.168.37.102"    <--修改IP地址

重启服务

[root@controller2 ~]# systemctl restart httpd

Windows

修改hosts文件 图片.png 浏览器 图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

再创建几个虚拟机

图片.png

图片.png

图片.png

图片.png 添加规则

图片.png

图片.png

XShell连接

图片.png

只有'102'能ping通 图片.png

上传镜像:CentOS-7-1511-ok.qcow2

图片.png

拷贝虚拟机 图片.png

图片.png

图片.png

此时:内存不足可以切换到demo用户把实例删除(步骤忽略)

管理员:创建实例类型(1C-1G-20G) 图片.png 创建实例

图片.png

图片.png

图片.png

图片.png

图片.png 可ping通外网 图片.png