简单利用鲲鹏服务器搭建OpenStack平台实践(上)

网友投稿 1013 2022-05-29

1.搭建基础实验环境

1.1系统环境及配置

(1)控制节点:CPU:Huawei Kunpeng 920 2.6GHz,鲲鹏通用计算增强型 | kc1.xlarge.2 | 4vCPUs | 8GB,系统:CentOS 7.6 64bit with ARM,

系统盘:超高IO 100G

计算节点:CPU:Huawei Kunpeng 920 2.6GHz,4vCPUs | 8GB ,系统:CentOS 7.6 64bit with ARM,系统盘:通用性SSD 80G

(2)地址信息配置

控制节点

计算节点

Jack20(主机名)

子网掩码:255.255.255.0

1.2 配置域名解析

(1)配置主机名

#主机名设置好就不能修改,否则会出问题!

控制节点:

echo "jack20_controller"> /etc/hostname cat /etc/hostname

计算节点:

echo "calculate"> /etc/hostname cat /etc/hostname

(2)配置主机名解析

注:控制节点和计算节点配置相同

vim /etc/hosts

192.168.0.76 jack20_controller 192.168.0.131 calculate block1 1 2

# 配置主机名的FQDN格式,和集群内部角色名称方便后续配置

1.3 关闭防火墙和selinux

注:从1.3到1.4控制节点和计算节点配置相同,且都需要配置。

(1)关闭防火墙

systemctl stop firewalld systemctl disable firewalld systemctl status firewalld

(2)关闭selinux

进入selinux的config文件,将selinux原来的强制模式(enforcing)修改为关闭模式(disabled)。

setenforce 0 getenforce sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux grep SELINUX=disabled /etc/sysconfig/selinux cat /etc/sysconfig/selinux reboot

重启后重现连接继续配置

1.4 安装openstack客户端及相关软件

(1)安装openstack­stein的仓库

yum install centos-release-openstack-stein -y --nogpgcheck yum clean all yum makecache

(2)更新软件包

yum update -y --nogpgcheck

(3)安装openstack客户端相关软件

yum install python-openstackclient openstack-selinux -y --nogpgcheck yum clean all yum makecache yum -y update --nogpgcheck

1.5 在控制节点安装数据库

# 可以修改系统内核更改最大连接数和文件句柄数

(1)安装mariadb相关软件包

yum --enablerepo=centos-openstack-stein install mariadb mariadb-server python2-PyMySQL -y --nogpgcheck

(2)创建openstack的数据库配置文件

# 在[mysqld]添加以下配置

vim /etc/my.cnf.d/openstack.cnf

[mysqld] bind-address = 192.168.0.76 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8

# 配置解释:

default­storage­engine = innodb //默认存储引擎

innodb_file_per_table //使用独享表空间模式,每一个表都会建一个表空间,都会有索引文件,查索引快,共享表空间,共用一个表空间和索引,如果有损坏很难修复,比如说zabbix用到的数据库如果不使用的独享表空间,很难进行优化

(3)启动数据库设置开机启动

systemctl restart mariadb systemctl status mariadb systemctl enable mariadb systemctl list-unit-files |grep mariadb.service

(4)初始化数据库并重新启动

# 设置密码,默认密码为空,所以直接回车,输入Y后再输入两次密码123456,之后一直Y回车。

/usr/bin/mysql_secure_installation

systemctl restart mariadb

(5)创建openstack相关数据库,进行授权

mysql -p123456

flush privileges; show databases; select user,host from mysql.user; exit

1.6 在控制节点安装消息队列rabbitmq

消息队列( MQ)全称为 Message Queue, 是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。他遵循 Mozilla Public License开源协议。

(1)安装rabbitmq-server

yum --enablerepo=centos-openstack-stein install rabbitmq-server lsof -y --nogpgcheck

(2)启动rabbitmq,并配置自启动

# 端口5672,15672,用于排错

systemctl start rabbitmq-server systemctl status rabbitmq-server systemctl enable rabbitmq-server systemctl list-unit-files |grep rabbitmq-server

(3)创建消息队列中openstack账号及密码

# 添加openstack用户和密码,配置用户权限,配置读,写权限

rabbitmqctl add_user openstack openstack rabbitmqctl set_permissions openstack ".*" ".*" ".*"

(4)启用rabbitmq_management插件实现 web 管理

# 查看支持的插件

rabbitmq-plugins list

#启用web管理插件,需要重启服务使之生效

rabbitmq-plugins enable rabbitmq_management systemctl restart rabbitmq-server rabbitmq-plugins list lsof -i:15672

(5)浏览器访问RabbitMQ进行测试

访问地址:http://124.70.35.167:15672

# 打开自己电脑中的浏览器后输入上面的网址。首次登陆,默认用户名密码都是guest,需要登录上去修改openstack用户的权限(Tags)

# 打开admin管理标签,点击openstack用户名,打开如下图所示的界面,点击“Update this user”前的三角图标,输入要设置的密码openstack, Tags点击admin设置为administrator,点击“Update user”更新用户设置,最后使用openstack用户进行登陆测试

1.7 在控制节点上安装Memcached

认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,推荐联合启用防火墙、认证和加密保证它的安全。

(1)安装Memcached用于缓存令牌

yum --enablerepo=centos-openstack-stein install memcached python-memcached -y --nogpgcheck

(2)修改memcached配置文件

vim /etc/sysconfig/memcached

OPTIONS="-l 127.0.0.1,::1,jack20_controller"

# 如果没有启用IPv6地址需要删掉::1的地址绑定

(3)启动memcached并设置开机自启动

systemctl start memcached systemctl status memcached netstat -anptl|grep memcached systemctl enable memcached systemctl list-unit-files |grep memcached

1.8 在控制节点上安装Etcd服务

# 这个Etcd服务是新加入的,用于自动化配置

(1)安装etcd服务

yum --enablerepo=centos-openstack-stein install etcd -y --nogpgcheck

(2)修改etcd配置文件

vim /etc/etcd/etcd.conf

#[Member] ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://192.168.0.76:2380" ETCD_LISTEN_CLIENT_URLS="http://192.168.0.76:2379" ETCD_NAME="jack20_controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.0.76:2380" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.0.76:2379" ETCD_INITIAL_CLUSTER="jack20_controller=http://192.168.0.76:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd­cluster­01" ETCD_INITIAL_CLUSTER_STATE="new"

# 注意上面的IP地址不能用controller替代,无法解析

(3)启动etcd并设置开机自启动

systemctl start etcd systemctl start etcd systemctl status etcd netstat -anptl|grep etcd systemctl enable etcd systemctl list-unit-files |grep etcd

# 至此,控制节点controller就完成基础环境的配置,下面可以开始安装 openstack 的组件了。

2.安装Keystone认证服务组件(控制节点)

2.1 在控制节点创建keystone相关数据库

#创建keystone数据库并授权

mysql -u root -p123456

CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; flush privileges; show databases; select user,host from mysql.user; exit

2.2 在控制节点安装keystone相关软件包

(1)安装keystone相关软件包

# 配置Apache服务,使用带有“mod_wsgi”的HTTP服务器来相应认证服务请求,端口为5000和35357,默认情况下,Kestone服务仍然监听这些端口

yum --enablerepo=centos-openstack-stein,epel install openstack-keystone httpd mod_wsgi python-keystoneclient openstack-utils -y --nogpgcheck

(2)快速修改keystone配置

# 下面使用的快速配置方法需要安装Openstack-utils才可以实现

openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:keystone@jack20_controller/keystone openstack-config --set /etc/keystone/keystone.conf token provider fernet

# 注:keystone不需要连接rabbitmq

# 查看生效的配置

egrep -v "^#|^$" /etc/keystone/keystone.conf

#其他方式查看生效配置

grep '^[a-z]' /etc/keystone/keystone.conf

# keystone不需要启动,通过http服务进行调用

2.3 初始化同步keystone数据库

(1)同步keystone数据库(47张)

su -s /bin/sh -c "keystone-manage db_sync" keystone

(2)同步完成进行连接测试

mysql -p123456

grant select,insert,update,delete on *.* to keystone@'%' Identified by "keystone"; exit

mysql -h192.168.0.76 -ukeystone -pkeystone -e "use keystone;show tables;"|wc -l

2.4 初始化同步keystone数据库

# 以下命令无返回信息

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

2.5 配置启动Apache(httpd)

(1)修改httpd主配置文件(大概第95行)

vim /etc/httpd/conf/httpd.conf

ServerName jack20_controller

(2)配置虚拟主机

# 创建keystone虚拟主机配置文件的快捷方式,也可以复制过来

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

(3)启动httpd并配置开机自启动

systemctl start httpd systemctl status httpd netstat -anptl|grep httpd systemctl enable httpd systemctl list-unit-files |grep httpd

注:如果http起不来,需要关闭 selinux 或者安装 yum install openstack­selinux

# 至此,http服务配置完成

2.6 初始化keystone认证服务

(1)创建 keystone 用户,初始化的服务实体和API端点

# 在之前的版本(queens之前),引导服务需要2个端口提供服务(用户5000和管理35357),本版本通过同一个端口提供服务

# 创建keystone服务实体和身份认证服务,以下三种类型分别为公共的、内部的、管理的。

export jack20_controller=192.168.0.76

# 需要创建一个密码ADMIN_PASS,作为登陆openstack的管理员用户,这里创建为123456

keystone-manage bootstrap --bootstrap-password 123456 \

--bootstrap-admin-url http://jack20_controller:5000/v3/ \ --bootstrap-internal-url http://jack20_controller:5000/v3/ \ --bootstrap-public-url http://jack20_controller:5000/v3/ \ --bootstrap-region-id RegionOne

# 运行这条命令,会在keystone数据库执增加以下任务,之前的版本需要手动创建:

在endpoint表增加3个服务实体的API端点;在local_user表中创建admin用户;

在project表中创建admin和Default项目(默认域);在role表创建3种角色,admin,member和reader;在service表中创建identity服务。

(2)临时配置管理员账户的相关变量进行管理

# 这里的export OS_PASSWORD要使用上面配置的ADMIN_PASS

export OS_PROJECT_DOMAIN_NAME=Default export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_USERNAME=admin export OS_PASSWORD=123456 export OS_AUTH_URL=http://jack20_controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export PS1='[\u@\h \W(keystone)]$ '

# 查看声明的变量

env |grep OS_

2.7 创建keystone的一般实例

(1)创建一个名为example的keystone域

# 以下命令会在project表中创建名为example的项目

openstack domain create --description "An Example Domain" example

(2)为keystone系统环境创建名为service的项目提供服务

# 用于常规(非管理)任务,需要使用无特权用户

# 以下命令会在project表中创建名为service的项目

openstack project create --domain default --description "Service Project" service

(3)创建myproject项目和对应的用户及角色

# 作为一般用户(非管理员)的项目,为普通用户提供服务

# 以下命令会在project表中创建名为myproject项目

openstack project create --domain default --description "Demo Project" myproject

(4)在默认域创建myuser用户

# 使用--password选项为直接配置明文密码,使用--password-prompt选项为交互式输入密码

# 以下命令会在local_user表增加myuser用户

# 直接创建用户和密码

openstack user create --domain default --password=myuser myuser

(5)在role表创建myrole角色

openstack role create myrole

(6)将myrole角色添加到myproject项目中和myuser用户组中

# 以下命令无返回,数据表操作不太明显

openstack role add --project myproject --user myuser myrole

2.8 验证操作keystone是否安装成功

(1)去除环境变量

# 关闭临时认证令牌机制,获取 token,验证keystone配置成功

unset OS_AUTH_URL OS_PASSWORD env |grep OS_

(2)作为管理员用户去请求一个认证的token

# 测试是否可以使用admin账户(密码123456)进行登陆认证,请求认证令牌

openstack --os-auth-url http://jack20_controller:5000/v3 \ --os-project-domain-name Default --os-user-domain-name Default \ --os-project-name admin --os-username admin token issue

(3)使用普通用户获取认证token

# 以下命令使用”myuser“用户的密码(密码和用户名相同)和API端口5000,只允许对身份认证服务API的常规(非管理)访问。

openstack --os-auth-url http://jack20_controller:5000//v3 \ --os-project-domain-name Default --os-user-domain-name Default \ --os-project-name myproject --os-username myuser token issue

2.9 创建OpenStack客户端环境脚本

# 上面使用环境变量和命令选项的组合通过“openstack”客户端与身份认证服务交互。

# 为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件,我这里使用自定义的文件名

(1)创建admin用户的环境管理脚本

mkdir -p /server/tools cd /server/tools vim admin-openrc.sh

export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=123456 export OS_AUTH_URL=http://jack20_controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 export PS1='[\u@\h \W(admin-openrc)]$ '

# 应用:如果修改dashboard登陆密码忘记了,可以使用admin_token认证机制修改登陆密码。

(2)创建普通用户myuser的客户端环境变量脚本

vim demo-openrc.sh

export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_NAME=myproject export OS_USERNAME=myuser export OS_PASSWORD=myuser export OS_AUTH_URL=http://jack20_controller:5000/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 export PS1='[\u@\h \W(demo-openrc)]$ '

(3)测试环境管理脚本

# 使用脚本加载相关客户端配置,以便快速使用特定租户和用户运行客户端

cd /server/tools source admin-openrc.sh

(4)请求认证令牌

openstack token issue

# 可以看到user_id和上面用命令获取到的是一样的,说明配置成功

3 安装Glance镜像服务组件(控制节点)

3.1 在控制端安装镜像服务glance

#创建glance数据库

mysql -u root -p123456

CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance'; flush privileges; exit

3.2 在keystone上面注册glance

(1)在keystone上创建glance用户

# 以下命令在local_user表创建glance用户

cd /server/tools source admin-openrc.sh openstack user create --domain default --password=glance glance openstack user list

(2)在keystone上将glance用户添加为service项目的admin角色(权限)

# 以下命令无输出

openstack role add --project service --user glance admin

(3)创建glance镜像服务的实体

# 以下命令在service表中增加glance项目

openstack service create --name glance --description "OpenStack Image" image openstack service list

(4)创建镜像服务的 API 端点(endpoint)

# 以下命令会在endpoint表增加3条项目

openstack endpoint create --region RegionOne image public http://jack20_controller:9292 openstack endpoint create --region RegionOne image internal http://jack20_controller:9292 openstack endpoint create --region RegionOne image admin http://jack20_controller:9292 openstack endpoint list

# 至此,glance在keystone上面注册完成,可以进行安装

3.3 安装glance相关软件

(1)检查Python版本

# 在安装glance前需要确认系统的Python版本;在当前版本中有一个bug在Python3.5中可能会有ssl方面的问题,以下是详情页面(本文测试是版本为2.7.5):

https://docs.openstack.org/glance/rocky/install/get-started.html#running-glance-under-python3

python --version

(2)安装glance软件

yum --enablerepo=centos-openstack-stein,epel install openstack-glance python-glance python-glanceclient -y --nogpgcheck

(3)执行以下命令可以快速配置glance-api.conf

openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:glance@jack20_controller/glance openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://jack20_controller:5000 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://jack20_controller:5000 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers jack20_controller:11211 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password glance openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http openstack-config --set /etc/glance/glance-api.conf glance_store default_store file openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/

(4)执行以下命令可以快速配置glance-registry.conf

openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:glance@jack20_controller/glance openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://jack20_controller:5000 openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://jack20_controller:5000 openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers jack20_controller:11211 openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password glance openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone

# 查看生效的配置

grep '^[a-z]' /etc/glance/glance-api.conf grep '^[a-z]' /etc/glance/glance-registry.conf

3.4 同步glance数据库

(1)为glance镜像服务初始化同步数据库

# 生成的相关表(16张表)

su -s /bin/sh -c "glance-manage db_sync" glance

(2)同步完成进行连接测试

# 保证所有需要的表已经建立,否则后面可能无法进行下去

mysql -h192.168.0.76 -uglance -pglance -e "use glance;show tables;" mysql -h192.168.0.76 -uglance -pglance -e "use glance;show tables;"|wc -l

3.5 启动glance镜像服务

#启动glance镜像服务、并配置开机自启动

systemctl start openstack-glance-api.service openstack-glance-registry.service systemctl status openstack-glance-api.service openstack-glance-registry.service systemctl enable openstack-glance-api.service openstack-glance-registry.service systemctl list-unit-files |grep openstack-glance*

3.6 检查确认glance安装正确

# 可以下载小型的Linux镜像CirrOS用来进行 OpenStack部署测试。

# 下载地址:http://download.cirros-cloud.net/

(1)下载镜像

cd /server/tools wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-aarch64-disk.img

(2)获取管理员权限

source admin-openrc.sh

(3)上传镜像到glance

# 使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

openstack image create "cirros" --file cirros-0.5.1-aarch64-disk.img --disk-format qcow2 --container-format bare --public

(4)查看镜像

openstack image list

# 至此glance镜像服务安装完成,启动成功

mysql -u root -p123456

CREATE DATABASE placement; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement'; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'placement'; flush privileges; show databases; select user,host from mysql.user; exit

(5)nova增加了placement项目

# 同样,创建并注册该项目的服务证书

cd /server/tools source admin-openrc.sh openstack user create --domain default --password=placement placement openstack role add --project service --user placement admin openstack service create --name placement --description "Placement API" placement

简单的利用鲲鹏服务器搭建OpenStack平台实践(上)

# 创建placement项目的endpoint(API端口)

openstack endpoint create --region RegionOne placement public http://jack20_controller:8778 openstack endpoint create --region RegionOne placement internal http://jack20_controller:8778 openstack endpoint create --region RegionOne placement admin http://jack20_controller:8778 openstack endpoint list

(1)安装nova相关软件包

yum --enablerepo=centos-openstack-stein,epel install openstack-placement-api -y --nogpgcheck

(3)快速修改placement配置

openstack-config --set /etc/placement/placement.conf placement_database connection mysql+pymysql://placement:placement@jack20_controller/placementopenstack-config --set /etc/placement/placement.conf api auth_strategy keystone openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_url http://jack20_controller:5000/v3 openstack-config --set /etc/placement/placement.conf keystone_authtoken memcached_servers jack20_controller:11211 openstack-config --set /etc/placement/placement.conf keystone_authtoken auth_type password openstack-config --set /etc/placement/placement.conf keystone_authtoken project_domain_name default openstack-config --set /etc/placement/placement.conf keystone_authtoken user_domain_name default openstack-config --set /etc/placement/placement.conf keystone_authtoken project_name service openstack-config --set /etc/placement/placement.conf keystone_authtoken username placement openstack-config --set /etc/placement/placement.conf keystone_authtoken password placement

# 检查生效的nova配置

egrep -v "^#|^$" /etc/placement/placement.conf

(4)修改nova的虚拟主机配置文件

# 由于有个包的bug需要配置修改文件,需要修改nova虚拟主机配置文件,增加内容,完整的文件内容如下

vim /etc/httpd/conf.d/00-placement-api.conf

Listen 8778 WSGIProcessGroup placement-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On WSGIDaemonProcess placement-api processes=3 threads=1 user=placement group=placement WSGIScriptAlias / /usr/bin/placement-api # = 2.4> # ErrorLogFormat "%M" # = 2.4> Require all granted Order allow,deny Allow from all ErrorLog /var/log/placement/placement-api.log #SSLEngine On #SSLCertificateFile ... #SSLCertificateKeyFile ... Alias /placement-api /usr/bin/placement-api SetHandler wsgi-script Options +ExecCGI WSGIProcessGroup placement-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On

# placement有13张表

(1)初始化placement数据库

su -s /bin/sh -c "placement-manage db sync" placement

# 修改完毕重启httpd服务

systemctl restart httpd systemctl status httpd

# 验证数据库

mysql -h192.168.0.76 -uplacement -pplacement -e "use placement;show tables;" mysql -h192.168.0.76 -uplacement -pplacement -e "use placement;show tables;"|wc -l

通过对比可知,placement有34张表

cd /server/tools source admin-openrc.sh placement-status upgrade check

>>点击我继续查看利用鲲鹏服务器搭建OpenStack平台实践(中)<<

将继续讲述:

4 安装Nova计算服务(控制节点)

5 安装Nova计算服务(计算节点)

6 安装Neutron网络服务(控制节点)

OpenStack RabbitMQ 云安全 鲲鹏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:你别不信,真的有人把SpringBoot从入门到实战全部写出来了!
下一篇:【实战来了】第3期:子弹时间、自由视角、沉浸式视频...华为云媒体服务解锁视频体验新角度!
相关文章