Packstackda搭建Openstack R版本


@环境准备

A、三台Centos7.8实验节点。

B、最小内存设置为4G,Controller节点需要系统盘大小为100,并添加一个大小为200G的空白磁盘,三个节点都可提前删除mapper-home逻辑卷,Network节点和Compute1节点磁盘大小都为100G。

C、配置两块网卡,一张网卡为nat模式,另一张网卡为仅主机模式。

D、虚拟机处理器需要开启虚拟化功能。

E、各节点IP如下所示:

Network节点 Controller节点 Compute节点
Host-only:192.168.101.9 Host-only:192.168.101.10 Host-only:192.168.101.11
NAT:192.168.108.9 NAT:192.168.108.10 NAT:192.168.108.11

F、各节点IP均为静态配置。

G、模板机的网卡名称分别为ens33和ens36。

@配置

A、以下步骤1-8需要对三个节点都进行配置

1、准备yum源,分别为epel、aliyun、和openstack-Rocky的源。

#curl -o     /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#yum -y install wget
#wget -O     /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

2、openstack.repo仓库的书写格式如下所示:

[root@controller ~]# cat /etc/yum.repos.d/openstack.repo
[Aliyun-rocky]
name=Aliyun-rocky
baseurl=https://mirrors.aliyun.com/centos/$releasever/cloud/$basearch/openstack-rocky/
gpgcheck=0
enabled=1
cost=88[Aliyun-gemu-ev]
name=Aliyun-gemu-ev
baseurl=https://mirrors.aliyun.com/centos/$releasever/virt/$basearch/kvm-common
gpgcheck=0
enabled=1

3、由于节点是最小化安装的,所以需要下载一些方便后面操作的包。

yum -y install bash-completion vim open-vm-tools

4、设置三个节点的主机名,可用长主机名,短主机名或者长主机名加别名。三台主机的主机名设置如下所示:

[root@controller ~]# for host in controller network compute1; do ssh root@$host hostname; done
controller.cjx.com
network.cjx.com
compute1.cjx.com

5、Controller节点修改/etc/hosts文件。随后使用scp命令将文件复制到其他的节点。

[root@controller ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.9 network.cjx.com network
192.168.101.10 controller.cjx.com controller
192.168.101.11 compute1.cjx.com compute1
[root@controller ~]# for host in  network compute1; do scp /etc/hosts root@$host:/etc/hosts; done
hosts                                                                                                                                                                         100%  288   117.9KB/s   00:00
hosts

6、查看修改是否成功,建议使用ping命令检查。

[root@controller ~]# for host in  network compute1; do  ssh root@$host cat /etc/hosts; done
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.9 network.cjx.com network
192.168.101.10 controller.cjx.com controller
192.168.101.11 compute1.cjx.com compute1
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.9 network.cjx.com network
192.168.101.10 controller.cjx.com controller
192.168.101.11 compute1.cjx.com compute1

7、关闭防火墙,设置Selinux为禁用模式,关闭NetworkManager服务(可以在xshell的撰写栏内将命令发送到所有主机内)。

[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
[root@controller ~]# systemctl stop NetworkManager
[root@controller ~]# systemctl disable NetworkManager
[root@controller ~]# head -10 /etc/selinux/config # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
[root@controller ~]# setenforce 0
setenforce: SELinux is disabled
[root@controller ~]# getenforce
Disabled

8、修改/etc/resolv.conf文件,删除搜索本地的条目,将域名解析服务器的地址设置为NAT网段的网关,VMnet8网段的网关可在【虚拟机网络编辑器】内查看。

[root@controller ~]# cat /etc/resolv.conf
nameserver 192.168.108.2

B、以下步骤9-21,需要在不同节点进行操作

9、在controller节点上生成公钥文件。

[root@controller ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:2XGSemGFwYGnvRnKrZbpMpdHqjO/AOOvkaU34d5yzV8 root@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
|         oo+.    |
|        . +o     |
|         +* .    |
|        .=o=     |
|    o o.Soo+     |
|   . B .o.=      |
|    = =  X    E  |
|     =*+X +  .   |
|    ..+&=o ..    |
+----[SHA256]-----+

10、在controller节点上添加自身的公钥到允许列表内,随后使用ssh-copy-id命令将公钥文件发布到compute1节点和network节点上。

[root@controller ~]# cd ~/.ssh
[root@controller ~]# cat ./id_rsa.pub >> ./authorized_keys
[root@controller ~]# for host in compute1 network
> do ssh-copy-id root@$host
> done

11、修改SSH服务的配置文件,取消Checking条目注释,并设置内容为no。

[root@controller ~]# cat /etc/ssh/ssh_configStrictHostKeyChecking no

12、在所有节点安装leatherman,安装leatherman需指定版本号1.3.0,下面为列出查看版本的方法和安装的过程。

[root@controller ~]# yum list leatherman --showduplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
Installed Packages
leatherman.x86_64                      1.3.0-9.el7                    @Aliyun-rocky
Available Packages
leatherman.x86_64                      1.3.0-9.el7                    Aliyun-rocky
leatherman.x86_64                      1.10.0-1.el7                   epel

13、在三个节点都去安装leatherman1.3.0。

[root@controller ~]# yum -y install leatherman-1.3.0

14、在controller节点上安装openstack-packstack服务。

[root@controller ~]# yum -y install openstack-packstack

15、在controller节点上使用packstack命令生成应答文件answers.txt。可以使用【packstack --help】命令去查看packstack的用法,下面给出生成应答文件的命令和查询过程。

[root@controller ~]# packstack --help | grep answer--gen-answer-file=GEN_ANSWER_FILEGenerate a template of an answer file.--validate-answer-file=VALIDATE_ANSWER_FILECheck if answerfile contains unexpected options.--answer-file=ANSWER_FILEanswerfile will also be generated and should be used-o, --options         Print details on options available in answer file(rstPackstack a second time with the same answer file and[root@controller ~]# packstack –gen-answer-file=answers.txt

16、由于生成的应答文件参数比较多,而且应答文件内使用的网段默认为NAT网段的地址,默认为192.168.108.0网段,所以需要使用sed脚本对于应答文件进行修改。下面给出默认脚本的参数。

[root@controller ~]# grep -v ^# answers.txt | grep 192
CONFIG_CONTROLLER_HOST=192.168.108.10
CONFIG_COMPUTE_HOSTS=192.168.108.11
CONFIG_NETWORK_HOSTS=192.168.108.9
CONFIG_STORAGE_HOST=192.168.108.10
CONFIG_SAHARA_HOST=192.168.108.10
CONFIG_AMQP_HOST=192.168.108.10
CONFIG_MARIADB_HOST=192.168.108.10
CONFIG_KEYSTONE_LDAP_URL=ldap://192.168.108.10
CONFIG_REDIS_HOST=192.168.108.10

17、编辑一个sed脚本对于应答文件进行处理。脚本内容如下所示:
(该脚本需要认真检查,任何参数错误都会导致安装失败)

[root@controller ~]# cat sed-scripts
s/192\.168\.108\.10/192\.168\.101\.10/
/^CONFIG_NETWORK_HOSTS=/cCONFIG_NETWORK_HOSTS=192.168.101.9
/^CONFIG_CONTROLLER_HOST=/cCONFIG_CONTROLLER_HOST=192.168.101.10
/^CONFIG_COMPUTE_HOSTS=/cCONFIG_COMPUTE_HOSTS=192.168.101.11
/^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=/cCONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vlan,vxlan,geneve
/^CONFIG_NEUTRON_ML2_FLAT_NETWORKS=/cCONFIG_NEUTRON_ML2_FLAT_NETWORKS=datacenter
/^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=/cCONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=datacenter:br-ex
/^CONFIG_NEUTRON_ML2_VLAN_RANGES=/cCONFIG_NEUTRON_ML2_VLAN_RANGES=datacenter:1000:2000
/^CONFIG_PROVISION_DEMO=/cCONFIG_PROVISION_DEMO=n
/^CONFIG_HEAT_INSTALL=/cCONFIG_HEAT_INSTALL=y
/^CONFIG_CINDER_VOLUMES_CREATE=/cCONFIG_CINDER_VOLUMES_CREATE=n
s/(.+_PW)=[0-9a-z]+/\1= redhat/g

18、使用脚本对于应答文件answers.txt进行更改,修改完成后查看结果。

[root@controller ~]# sed -i -r -f sed-scripts answers.txt
[root@controller ~]# grep -v ^# answers.txt | grep 192
CONFIG_CONTROLLER_HOST=192.168.101.10
CONFIG_COMPUTE_HOSTS=192.168.101.11
CONFIG_NETWORK_HOSTS=192.168.101.9
CONFIG_STORAGE_HOST=192.168.101.10
CONFIG_SAHARA_HOST=192.168.101.10
CONFIG_AMQP_HOST=192.168.101.10
CONFIG_MARIADB_HOST=192.168.101.10
CONFIG_KEYSTONE_LDAP_URL=ldap://192.168.101.10
CONFIG_REDIS_HOST=192.168.101.10

19、在controller节点上使用新添加的200G硬盘创建一个卷组,卷组的名称为volumes。创建完成后查看卷组是否成功创建。
(卷组的名称是由配置文件决定的,如果没创建卷组或者名称与配置文件无法匹配,那么安装过程会报错)

[root@controller ~]# pvcreate volumes /dev/sdb
[root@controller ~]# lsblk
NAME                                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                             8:0    0  100G  0 disk
├─sda1                                          8:1    0    1G  0 part /boot
└─sda2                                          8:2    0 98.9G  0 part ├─centos-root                               253:0    0   95G  0 lvm  /└─centos-swap                               253:1    0  3.9G  0 lvm  [SWAP]
sdb                                             8:16   0  200G  0 disk
├─cinder--volumes-cinder--volumes--pool_tmeta 253:2    0   96M  0 lvm
│ └─cinder--volumes-cinder--volumes--pool     253:4    0  190G  0 lvm
└─cinder--volumes-cinder--volumes--pool_tdata 253:3    0  190G  0 lvm  └─cinder--volumes-cinder--volumes--pool     253:4    0  190G  0 lvm
sr0                                            11:0    1  4.5G  0 rom
loop0                                           7:0    0    2G  0 loop /srv/node/swiftloopback

20、完成上述操作后,在controller节点上进行openstack的安装,使用packstack命令进行安装。如果安装成功会提示scussess,如果失败可以在节点中找到问题所在,安装的时间取决于机器的性能,20-40分钟不等。

[root@controller ~]# packstack --answer-file=answers.txt

21、安装成功的结果如图所示:

C、以下操作在Network节点进行操作

22、由于openstack不会自动network节点的网卡进行迁移,所以需要手动进行迁移。使用cd命令切换到/etc/sysconfig/network-scripts目录下,将原来的nat网卡配置文件进行备份,备份完成后修改ifcfg-ens36内的内容,使得ens36网卡桥接到虚拟交换机上。

[root@network ~]# cd /etc/sysconfig/network-scripts/
[root@network network-scripts]# cp ifcfg-ens36 /media/
[root@network network-scripts]# cat ifcfg-ens36
DEVICE=ens36
DEVICETYPE=ovs
TYPE=OVSPort
ONBOOT=yes
BOOTPROTO=none
OVS_BRIDGE=br-ex

23、使用vim命令添加虚拟网桥br-ex的配置文件ifcfg-br-ex,并写入以下内容。

[root@network network-scripts]# cat ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=none
IPADDR=192.168.108.9
PREFIX=24
GATEWAY=192.168.108.2
DNSl=192.168.108.2
ONBOOT=yes

24、重启网络服务,检验配置是否正确。

[root@network network-scripts]# systemctl restart network

25、自此openstack安装完成,可以使用IP地址/dashboard进行访问。

26、在完成了openstack的安装后,进行ssh操作的时候会提示错误,这时只要下载对应的服务就可以消除这段提示。下面列举错误的提示和解决方法。(可在任意节点进行操作)

Connecting to 192.168.101.9:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Sat Jun 19 12:54:56 2021 from 192.168.101.1
net_mlx5: cannot load glue library: libibverbs.so.1: cannot open shared object file: No such file or directory
net_mlx5: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx5)
PMD: net_mlx4: cannot load glue library: libibverbs.so.1: cannot open shared object file: No such file or directory
PMD: net_mlx4: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx4)
net_mlx5: cannot load glue library: libibverbs.so.1: cannot open shared object file: No such file or directory
net_mlx5: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx5)
PMD: net_mlx4: cannot load glue library: libibverbs.so.1: cannot open shared object file: No such file or directory
PMD: net_mlx4: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx4)
[root@controller ~]# yum -y install libibverbs

@注意

1、删除本地DNS搜索的条目。

2、虚拟机需要联网。

3、报错检查应答文件是否出错,检查sed脚本是否有问题。

4、记得提前创建卷组。

5、查看日志文件 如下表所示,这里会提示那个组件或者配置文件哪里出错,哪个服务出错。

[root@controller ~]# tail /var/log/neutron/server.log Open vSwitch agent  2021-06-19 17:27:14 compute1.cjx.comOpen vSwitch agent  2021-06-19 17:27:25 network.cjx.com
2021-06-20 03:40:28.427 30682 WARNING neutron.db.agents_db [req-33603833-2294-4033-a487-1a9b1595b007 - - - - -] Agent healthcheck: found 2 dead agents out of 6:Type       Last heartbeat hostOpen vSwitch agent  2021-06-19 17:27:14 compute1.cjx.comOpen vSwitch agent  2021-06-19 17:27:25 network.cjx.com
2021-06-20 03:41:05.999 30682 WARNING neutron.db.agents_db [req-33603833-2294-4033-a487-1a9b1595b007 - - - - -] Agent healthcheck: found 2 dead agents out of 6:Type       Last heartbeat hostOpen vSwitch agent  2021-06-19 17:27:14 compute1.cjx.comOpen vSwitch agent  2021-06-19 17:27:25 network.cjx.com

6、重启可以解决大部分的问题。

7、虚拟机的NAT网段网关不是物理的NAT网卡的网段,网关地址以192.168.108.0/24网段举例子一般是192.168.108.2。

8、注意YUM仓库必须配置好否则无法搭建成功。以下是实验所需要的完整包个数为29,441。

[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
repo id                                                                                  repo name                                                                                                        status
Aliyun-rocky/7/x86_64                                                                    Aliyun-rocky                                                                                                      2,746
Aliyun-gemu-ev/7/x86_64                                                                  Aliyun-gemu-ev                                                                                                       63
base/7/x86_64                                                                            CentOS-7 - Base - mirrors.aliyun.com                                                                             10,072
epel/x86_64                                                                              Extra Packages for Enterprise Linux 7 - x86_64                                                                   13,604
extras/7/x86_64                                                                          CentOS-7 - Extras - mirrors.aliyun.com                                                                              498
updates/7/x86_64                                                                         CentOS-7 - Updates - mirrors.aliyun.com                                                                           2,458
repolist: 29,441

制作成员: 蔡君贤
排版: 赖裕新
初审: 蔡君贤
复审: 二月二


点击下方“正月十六工作室”查看更多学习资源

正月十六工作室

Packstack搭建Openstack R版本相关推荐

  1. Openstack : 17、在vmware的centos7虚拟机中通过packstack安装openstack queen版本

    目标: 1研究核心组件nova,neutron,cinder,ironic原理 2安装openstack queen版本 零.环境 1)win10中安装VMware-workstation-full- ...

  2. 用Packstack 安装 Openstack,无法启动实例,cpu affinity is not supported

    用Packstack 安装 Openstack N版本,无法启动实例 ,nova日志报错:Couldn't obtain the vpu count from domain. Requested op ...

  3. Mac安装虚拟机(parallels desk或者VmwareFusion)搭建Openstack服务器管理,安装开源的 pritunl 进行服务器连接

    Mac安装虚拟机(parallels desk或者VmwareFusion)搭建Openstack服务器管理,安装pritunl–基于Open VPN 协议构建的服务器. 一.完全卸载parallel ...

  4. ubuntu16.04 svn搭建多项目搭建多个版本仓

    ubuntu16.04 svn搭建多项目搭建多个版本仓 需求:A.B项目代码不同,建立不同的代码仓库,开机时自动启动对应svn 创建a和b版本仓库和配置 进入/opt/workspace/svn sv ...

  5. 创纪录!浪潮云海完成OpenStack Rocky版本全球最大规模单一集群测试!

    戳蓝字"CSDN云计算"关注我们哦! 云计算的概念已悄然走过十余年,在助力新兴技术发展的同时,自身也在历经变革.开源作为推动云计算发展的强大动力,于云计算而言,不仅是技术变革的历史 ...

  6. Fuel 5.1安装openstack I版本环境 (ESXi)

    2019独角兽企业重金招聘Python工程师标准>>> Fuel 简介 Fuel是Mirantis公司开发的部署openstack集群工具,主要功能为裸机PXE安装操作系统,mast ...

  7. 快速搭建ELK7.5版本的日志分析系统--搭建篇

    一.ELK安装部署 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide ...

  8. 搭建Openstack环境以及Openstack认证服务

    搭建Openstack环境以及Openstack认证服务 Openstack之glance镜像服务.nova计算服务 Openstack之neutron网络服务. 启动一个实例 Openstack之d ...

  9. Openstack Queens版本双节点架构笔记9,Ceph安装1:

    做Ceph实验需要重新创建三个Ceph环境用到的虚拟机:(以下实验在node1,node2,node3节点做) 虚拟机初始化搭架参考:Openstack Queens版本双节点架构笔记1,虚拟机环境安 ...

最新文章

  1. 自学python还是报班-零基础学Python是应该报课还是自学?
  2. 《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色...
  3. #8ms平台,是一个支持ESP32/Sigamastar201、202/RK等硬件的开发平台,现平台Slogan有奖征集# 我们的广告语,将由你们来定!
  4. P6364 1024 程序员节发橙子(贪心+前缀和)
  5. 小程序 iphone和安卓_如何阻止iPhone和iPad应用程序要求评级
  6. 被裁之后才明白:有一种抗风险能力,叫做会讲故事
  7. mongo在哪创建管理员_MongoDB数据库创建管理员账户和数据库管理账户
  8. 再见,付费录屏软件!我用70行Python代码打造免费版!
  9. 数据挖掘:模型选择——集成算法与树模型
  10. sharepoint 2010 在线打开office时报错
  11. 基于连接跟踪机制的状态防火墙的设计与实现
  12. python自动交易软件排名_量化投资软件排名 哪个量化交易软件最好用
  13. 宝塔linux怎么运行war,宝塔Linux面板在线解压WAR压缩文件
  14. EDA程序设计--出租车计费器
  15. 企业如何选择?网站建设中常见的几种类型
  16. 关于OPCUA的配套规范
  17. 详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别)
  18. 大天使之剑h5服务器临时维护,大天使之剑H5合服细节 战盟对决时间安排
  19. Matlab读取并输出stl文件
  20. HTML5基础:布局和标签

热门文章

  1. 网络代理(Proxy)
  2. Windows 10:开机显示C:\WINDOWS\system32\config\systemprofile\Desktop不可用 的解决方法
  3. 城南花未开,老程已不在;
  4. 北京:2100名号贩子信息已录入医院人脸识别系统
  5. 清华大学宪法与行政法学学术硕士考研经验分享
  6. mac定时执行python_mac下定时执行python程序(附不执行解决方案).md
  7. systemverilog中实现饱和截位和饱和截位的分析
  8. 真假4K电视检测:一张图足矣
  9. vscode 自定义代码主题颜色
  10. 请说说,你平时是如何学习产品知识的?