Install openstack rocky version on local multi-node

Local multi-node installation of openstack rocky version
Foreword:
OpenStack-Rocky multi-node one-click installation and deployment
First show you how to automatically build a set of openstack cloud platform quickly, and then start to explain each component of openstack in detail, and then start to explain a complete The cloud host creation process includes network configuration, image upload, instance type creation, security group creation, cloud host dynamic adjustment, and cloud host dynamic migration.
1. Experimental environment
1. Control node (ct)
CPU: dual-core dual-thread-CPU virtualization Open
memory: 6G hard disk: 300G + 1024G (used as CEPH block storage)
Network card: vm1-192.168.254.10 nat-192.168.247.200
Operating system: Centos 7.5 (1804) -Minimal installation
2. Compute node 1 (comp1)
CPU: Dual-core dual-thread-CPU virtualization Open
memory: 8G Hard disk: 300G + 1024G (used as CEPH block storage)
Network card: vm1-192.168.254.11
operating system : Centos 7.5 (1804)
-Minimal installation 3. Compute node 2 (comp2)
CPU: Dual-core dual-thread-CPU virtualization Open
memory: 8G Hard disk: 300G + 1024G (used as CEPH block storage)
Network card: vm1-192.168.254.12
operation System: Centos 7.5 (1804)
-Minimal installation 4.YUM local source (openstack + centos7)
(In order to save resources, the yum source is set locally on each node, and no separate server is configured.)
CPU: dual-core dual-thread-CPU virtualization Open
memory: 4G hard disk: 300G
network card: vm1-192.168.254.15 nat-192.168.247.201
Operating system: Centos 7.5 (1804) -Minimum installation The
above configuration description:
[control node]
minimum memory 6G, below 6G otherwise it will cause problems
1024G (acting as ceph block storage)
[computing node, network]
minimum memory 6G, below Otherwise, there will be problems with 6G.
1024G (used as ceph block storage)
has 2 network cards: 1.VM1 (internal network card) 2.NAT (can access the Internet)
will do a hot migration demo
2. Experimental ideas
1. System installation
2. System environment
configuration IP address, hostname, hosts, after local yum repository configuration, turn off the firewall, turn off core protection, closed network management, configuration-free interaction, configuration time synchronization, configuration is complete snapshot of the environment to remember
3. deploy openstack
deployment openstack installation tools, configuration response file, a key deployment, landing back test, openstack deployed recall snapshots
Third, the experimental
installation system
1.ct control node, minimizing Loading
Install openstack rocky version on local multi-node
Install openstack rocky version on local multi-node
each node to install the system money should be doing so!
2.comp computing node
Install openstack rocky version on local multi-node
system environment configuration
1. network card IP address configuration, modify the host name
ct control node network card configuration

[root@localhost ~]# hostnamectl set-hostname ct
[root@localhost ~]# su
[root@ct ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ae:bd:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.10/24 brd 192.168.254.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feae:bda7/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ae:bd:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.247.200 brd 192.168.247.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::1d4a:f010:a85e:2bcf/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@ct ~]# 
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=3522bf09-0bdb-4258-9e1e-a6041186a28b
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.254.10
NETMASK=255.255.255.0
#vm1的网关先不配置,等openstack部署完毕在把网关开启
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=f1233b1c-bfa8-468e-9378-52b188ac9fa8
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.247.200
NETMASK=255.255.255.0
GATEWAY=192.168.247.2
DNS1=8.8.8.8
DNS2=114.114.114.114

comp1 network card configuration

[root@localhost ~]# hostnamectl set-hostname comp1
[root@localhost ~]# su
[root@comp1 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:5c:58:b8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.11/24 brd 192.168.254.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::618b:3730:4569:2bc5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@comp1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=ed1250c0-0890-487d-8610-bcd4dd7b53ee
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.254.11
NETMASK=255.255.255.0

comp1 network card configuration

[root@localhost ~]# hostnamectl set-hostname comp2
[root@localhost ~]# su
[root@comp2 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:de:8a:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.12/24 brd 192.168.254.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::c840:57b5:193b:3010/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@comp2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=c30ca6d8-4c59-4bf5-b97f-65b5dbd4347c
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.254.12
NETMASK=255.255.255.0

The network card is configured, the three hosts ping each other, and the control node pings the external network, such as www.baidu.com and 8.8.8.8
2. Modify the hosts file

[root@ct packages]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.254.10 ct
192.168.254.11 comp1
192.168.254.12 comp2
[root@ct packages]# scp /etc/hosts [email protected]:/etc
[email protected]'s password: 
hosts                                                           100%  218    70.1KB/s   00:00    
[root@ct packages]# scp /etc/hosts [email protected]:/etc
[email protected]'s password: 
hosts                                                           100%  218    81.9KB/s   00:00 

3. Deploy the local yum source
Put the openstack package under / opt, and then deploy the local yum warehouse, all three nodes do

[root@ct ~]# cd /opt
[root@ct opt]# ls
openstack_rocky.tar.gz
[root@ct opt]# tar zxvf openstack_rocky.tar.gz -C /opt
[root@ct opt]# cd /etc/yum.repos.d/
[root@ct yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@ct yum.repos.d]# mkdir bak
[root@ct yum.repos.d]# mv C* bak/
[root@ct yum.repos.d]# vi openstack-rocky.repo
[openstack]
name=rocky
baseurl=file:///opt/openstack_rocky
enabled=1
gpgcheck=0
[root@ct yum.repos.d]# yum clean all
[root@ct yum.repos.d]# yum makecache

4. Turn off the firewall, core protection, network management (all three nodes need to be turned off)

[root@ct packages]# systemctl stop firewalld
[root@ct packages]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ct packages]# setenforce 0
[root@ct packages]# vi /etc/selinux/config 
7 SELINUX=disabled
[root@ct packages]# systemctl stop NetworkManager
[root@ct packages]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.

5. Install ntp time synchronization (all three nodes must be installed)

[root@ct packages]# vi /etc/yum.conf 
cachedir=/var/cache/yum/$basearch/$releasever       //此处为缓存软件包所在位置
keepcache=1     //改为1,开启缓存软件包功能
[root@ct ~]# yum install -y ntpdate

Control nodes synchronize Alibaba Cloud time, and compute nodes synchronize control nodes

[root@ct packages]# yum install ntp -y
[root@ct packages]# vi /etc/ntp.conf
      8 restrict default nomodify 
     17 restrict 192.168.254.0 mask 255.255.255.0 nomodify notrap
     21 server 0.centos.pool.ntp.org iburst     //21-24删除
     22 server 1.centos.pool.ntp.org iburst
     23 server 2.centos.pool.ntp.org iburst
     24 server 3.centos.pool.ntp.org iburst
//删除的位置插入下面内容
fudeg 127.127.1.0 stratum 10
server 127.127.1.0
[root@ct packages]# systemctl disable chronyd.service   //关闭系统时钟服务
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@ct yum]# systemctl stop chronyd.service
[root@ct packages]# systemctl restart ntpd
[root@ct packages]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service 

same configuration for comp1 and comp2

[root@comp1 ~]# ntpdate ct
26 Feb 23:58:58 ntpdate[44196]: adjust time server 192.168.254.10 offset 0.010589 sec
[root@comp1 ~]# crontab -e
*/30 * * * * /usr/sbin/ntpdate ct >> /var/log/ntpdate.log
[root@comp1 ~]# systemctl restart crond
[root@comp1 ~]# systemctl enable crond
[root@comp1 ~]# systemctl disable chronyd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@comp2 yum.repos.d]# systemctl enable ntpdate
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpdate.service to /usr/lib/systemd/system/ntpdate.service.

6. Configure interaction-free

[root@ct packages]# ssh-keygen -t rsa
[root@ct packages]# ssh-copy-id ct
[root@ct packages]# ssh-copy-id comp1
[root@ct packages]# ssh-copy-id comp2

Deploy openstack
Next, you can install the openstack-packstack package on the control node for deployment
1. Modify the answer file

[root@ct ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@ct ~]# yum -y install openstack-packstack     //安装openstack-packstack包
[root@ct ~]# packstack --gen-answer-file=openstack.txt  //获得应答文件,去修改安装的参数
[root@ct ~]# ls
anaconda-ks.cfg  openstack.txt
[root@ct ~]# vi openstack.txt 
     19 CONFIG_MARIADB_INSTALL=y        //mariadb数据库默认安装,是
     22 CONFIG_GLANCE_INSTALL=y         //glance镜像组件,开启
     25 CONFIG_CINDER_INSTALL=y         //cinder块存储,开启
     29 CONFIG_MANILA_INSTALL=n         //manila组件是openstack的扩展系统,默认是N,不需要更改
     32 CONFIG_NOVA_INSTALL=y           //nova计算组件,开启
     35 CONFIG_NEUTRON_INSTALL=y        //neutron网络组件,开启
     38 CONFIG_HORIZON_INSTALL=y        //horizon控制台组件,开启
     41 CONFIG_SWIFT_INSTALL=n          //swift对象存储,默认是Y,但是在生产环境中一般不装,选n
     46 CONFIG_CEILOMETER_INSTALL=y     //ceilometer计费服务,开启
     50 CONFIG_AODH_INSTALL=n           //aodh组件,改为n
     53 CONFIG_PANKO_INSTALL=n          //panko组件,n
     60 CONFIG_HEAT_INSTALL=n           //heat编排工具组件,默认是n,不该=改
     94 CONFIG_CONTROLLER_HOST=192.168.254.10       //指定控制节点IP地址
     97 CONFIG_COMPUTE_HOST=192.168.254.11,192.168.254.12       //指定计算节点
    101 CONFIG_NETWORK_HOSTS=192.168.254.10         //指定网络节点
    557 CONFIG_CINDER_VOLUMES_SIZE=5G   //系统在创建cinder组件时会创建一个20G卷,虚拟机空间有限,放小一点
    778 CONFIG_NEUTRON_METADATA_PW=123123       //修改网络metadata的密码
    782 CONFIG_LBAAS_INSTALL=y          //lbaas负载均衡组件,必须要装
    790 CONFIG_NEUTRON_FWAAS=y          //网络防火墙组件,必须要装
    794 CONFIG_NEUTRON_***AAS=y         //网络***组件,必须要装
    817 CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1       //flat网络这边要设置物理网卡名字
    862 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //ovs_bridge_mappings这边要设置物理网卡的名字
    873 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1     //ovs_bridge_ifaces这边br-ex:eth1是网络节点的nat网卡
   1185 CONFIG_PROVISION_DEMO=n         //关闭在线下载一个demo测试的镜像,这里把它关掉

After the configuration is complete, configure a gateway on the control node

[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=f1233b1c-bfa8-468e-9378-52b188ac9fa8
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.254.10
NETMASK=255.255.255.0
GATEWAY=192.168.254.1
[root@ct ~]# systemctl restart network

After the above configuration is completed, the original (control node nat) IP address will be changed to the IP of the control node.
2. Automatic installation and deployment

[root@ct ~]# packstack --answer-file=openstack.txt
[root@ct mnt]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@ct ~]# cd /etc/yum.repos.d/
[root@ct yum.repos.d]# ls
bak  openstack-rocky.repo
[root@ct yum.repos.d]# vi openstack-rocky.repo 
[openstack]
name=rocky
baseurl=file:///opt/openstack_rocky
enabled=1
gpgcheck=0

[centos]
name=centos
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@ct yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos openstack
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@ct yum.repos.d]# 
[root@ct ~]# yum makecache

Write the mirror source to / etc / fstab to automatically mount

[root@ct ~]# vi /etc/fstab
/dev/sr0        /mnt    iso9660 defaults        0       0

Dynamically view log write

[root@ct ~]# tail -f /var/log/messages 
**** Installation completed successfully ******

Additional information:
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.254.10. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.254.10/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * The installation log file is available at: /var/tmp/packstack/20200227-113853-n_jN5h/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20200227-113853-n_jN5h/manifests

Successful installation
3. View password

[root@ct ~]# ls
anaconda-ks.cfg  keystonerc_admin  openstack.txt
[root@ct ~]# vi keystonerc_admin 
unset OS_SERVICE_TOKEN
    export OS_USERNAME=admin    //用户
    export OS_PASSWORD='8012c759dd1540c1'   //密码
    export OS_AUTH_URL=http://192.168.254.10:5000/v3
    export PS1='[\u@\h \W(keystone_admin)]\$ '

export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

Install openstack rocky version on local multi-node
The page login test is successful1.You
will get a version information after passing the openstack --version command

[root@control ~]# openstack --version
openstack 3.16.3

2. Visit the website of the official website release information: https://releases.openstack.org

Guess you like

Origin blog.51cto.com/14557905/2488230