一.硬件配置
centos7镜像
虚拟机创建好了,添加网卡2,改成仅主机模式
controller节点: 4核 2g 100G
ipv4
ens33: 192.168.230.173/24 esn36: 192.168.107.130/24
compute节点: 4核 4g 100G
ipv4
ens33: 192.168.230.175/24 esn36: 192.168.107.132/24
号键是注释,注释里带中文,不是中文不是注释,要注意
二、openstack环境搭建
0.设置主机名
hostnamectl set-hostname controller #控制节点
hostnamectl set-hostname compute #计算节点
1.分别在两个节点主机上禁用防火墙和selinux
systemctl disable firewalld.service --now #永久关闭防火墙
systemctl is-active firewalld.service #查看
unknown #显示这个就代表设置对了
sed -i '/^SELINUX=/ c SELINUX=disabled' /etc/selinux/config #使用sed替换,也可以vim编辑,重启生效
2.安装Chrony,只在controller节点安装
yum install chrony
3.安装配置控制节点,只在控制节点安装 controller
sed -i "s@#allow.*@allow 192.168.107.0/24@ " /etc/chrony.conf #这里的ip是网卡二的ip
sed -i "s@#server.*@server ntp1.aliyun.com linurst@" /etc/chrony.conf
systemctl start chronyd && systemctl enable chronyd
4.给其他节点安装配置,只在计算节点(compute)的/etc/chrony.conf中将NTP服务设置为控制节点的NTP服务器
ssh compute 'sed -i "s@server.*@server controller iburst@" /etc/chrony.conf '
ssh compute 'systemctl start chronyd && systemctl enable chronyd'
5.重启NTP服务器,两个服务器(节点)都要重启
systemctl restart chronyd.service
6.查看同步情况
chronyc sources
7.查看计算节点是否同步
chronyc clients
8.配置主机名信息到/etc/hosts和同步hosts文件。
echo -e "控制节点网卡192.168.107.130 controller \n 192.168.107.132 compute" >> /etc/hosts
scp /etc/hosts compute:/etc/hosts
9.控制节点登陆其他节点主机,设置ssh免密,执行第一条命令过后按enter键,默认生成密钥。只在控制节点上运行。
ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub compute
ssh compute
10.测试控制节点到计算节点的连通性。
ssh compute #成功后exit退出
三、安装openstack软件包
1.启用Openstack软件库,两台主机都需要安装
yum install centos-release-openstack-train
2.升级安装包
yum upgrade
3.安装openstack客户端软件
yum install python-openstackclient
4.安装openstack-selinux软件包以自启动管理Openstack服务的安全策略
yum -y install openstack-selinux
5.验证安装
openstack --version
四、 在控制节点上安装SQL数据库
1.安装相关的软件包
yum -y install mariadb mariadb-server python2-PyMySQL
yum install crudini
2.编辑/etc/my.cnf.d/openstack.cnf配置文件
crudini --set /etc/my.cnf.d/openstack.cnf mysqld bind-address 192.168.230.173 #控制节点网卡一ip
crudini --set /etc/my.cnf.d/openstack.cnf mysqld default-storage-engine innodb
crudini --set /etc/my.cnf.d/openstack.cnf mysqld innodb_file_per_table on
crudini --set /etc/my.cnf.d/openstack.cnf mysqld max_connections 4096
crudini --set /etc/my.cnf.d/openstack.cnf mysqld collation-server utf8_general_ci
crudini --set /etc/my.cnf.d/openstack.cnf mysqld character-set-server utf8
3.将mariaDB设置为开机自启,并启动该数据库服务。
systemctl enable mariadb.service && systemctl start mariadb.service
systemctl status mariadb #检查是否是在运行
4.若服务无法启动可以检查MariaDB是否完全安装,服务是否正常
rpm -qa | grep mariadb
sudo yum install mariadb-server #没有则安装
systemctl daemon-reload #重新加载 systemd 守护进程
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
5.启动安全配置向导来提高数据库的安全性。启动服务并且初始化,初始化时第一个root密码为空,直接回车。并设置新的root密码为123456,设置允许root远程登录,除了此交互按n,其余都按y
mysql_secure_installation
五、在控制节点上安装消息队列Rabbit MQ服务
1.安装相应软件包
yum -y install rabbitmq-server
2.将Rabbit MQ服务设置为开机自启动,并启动该消息队列服务
systemctl enable rabbitmq-server && systemctl start rabbitmq-server
3.添加一个名为openstack的用户账户
rabbitmqctl add_user openstack 123456 #密码123456
4.为openstack用户配置写入和读取访问权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
5.查看RabbitMQ状态,并查看用户及权限
rabbitmqctl status
6.查看RabbitMQ监听端口
yum -y install net-tools
六、安装Memcached服务
1.安装相应的软件包
yum -y install memcached python-memcached
2. 编辑/etc/sysconfig/memcached配置文件
vi /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1,::1,controller192.168.107.130" ##修改配置文件,为控制节点网卡2ip
3. 将Memcached服务设置为开机自启动,并启动该服务
systemctl enable memcached && systemctl start memcached
4. 查看Memcached监听端口
netstat -tunlp | grep memcached
七、 控制节点安装Etcd服务
Etcd 是一个高可用的键值存储系统,用于配置共享和服务发现。
1.安装软件包
yum -y install etcd
2.编辑/etc/etcd/etcd.conf配置文件,将ETCD_INITAL_CLUSTER等选项的值设置为控制节点的管理IP地址。
vi /etc/etcd/etcd.conf
crudini --set /etc/etcd/etcd.conf ETCD_DATA_DIR /var/lib/etcd/default.etcd
crudini --set /etc/etcd/etcd.conf ETCD_LISTEN_PEER_URLS http://localhost:2380
crudini --set /etc/etcd/etcd.conf ETCD_LISTEN_CLIENT_URLS http://localhost:2379
crudini --set /etc/etcd/etcd.conf ETCD_NAME controller
crudini --set /etc/etcd/etcd.conf ETCD_INITIAL_ADVERTISE_PEER_URLS http://192.168.230.173:2380
crudini --set /etc/etcd/etcd.conf ETCD_ADVERTISE_CLIENT_URLS http://localhost:2379
crudini --set /etc/etcd/etcd.conf ETCD_INITIAL_CLUSTER controller=http://localhost:2380
crudini --set /etc/etcd/etcd.conf ETCD_INITIAL_CLUSTER_TOKEN etcd-cluster-01
crudini --set /etc/etcd/etcd.conf ETCD_INITIAL_CLUSTER_STATE new
3.将Etcd服务设置为开机自启动,并启动该服务
systemctl enable etcd && systemctl start etcd
八、 安装和部署Keystone身份服务
Keystone 是 OpenStack 的身份服务组件,负责用户认证(AuthN)和授权(AuthZ)。它是 OpenStack 云平台的关键部分,提供了服务令牌(tokens)的管理、项目(tenants)、用户(users)和角色(roles)的概念。
1.去数据库创建keystone用户并授权,我的数据库密码是123456(这密码很重要)
mysql -u root -p
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';
flush privileges;
2.生成一个随机初始值作为管理员令牌
openssl rand -hex 10
3.安装和配置 Keystone 及相关组件
yum -y install openstack-keystone httpd mod_wsgi #安装
#让Keystone 服务能知道如何连接到后端的数据库 keystone,这里的密码一定是刚刚设置的123456
cp -a /etc/keystone/keystone.conf{,.bak}
#通过pymysql模块访问mysql,指定用户名密码、数据库的域名、数据库名
#指定token的提供者;提供者就是keystone自己本身
crudini --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:123456@controller/keystone
crudini --set /etc/keystone/keystone.conf token provider fernet
#Fernet:一种安全的消息传递格式
2.编辑/etc/keystone/keystone.conf配置文件
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone #这才是我们要改的
[token]
token=provider = fernet #这才是我们要改的
3.初始化认证服务数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化fernet 密钥存储库(以下命令会生成两个密钥,生成的密钥放于/etc/keystone/目录下,用于加密数据)
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
4.配置bootstrap身份认证服务器,设置管理员密码为123456
keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://controller:5000/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
5.配置Apache HTTP服务器
echo "ServerName controller" >> /etc/httpd/conf/httpd.conf
6.创建到/usr/share/keystone/wsgi-keystone.conf 文件的连接文件
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d
7.启动Apache HTTP服务并将其配置为开机自启动
systemctl enable httpd.service
systemctl start httpd.service
8.配置管理员账户的环境变量
cat >> ~/.bashrc << EOF
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
EOF
source ~/.bashrc
systemctl status httpd #查看是否运行
openstack user list #查看用户列表
9.创建域、项目、用户和角色
openstack domain create --description "Default Domain" default
openstack project create --domain default --description "Service Project" service
openstack project create --domain default --description "Demo Project" demo # 创建demo项目
openstack user create --domain default --password-prompt demo #创建demo用户,创建后会让你输入新密码123456
openstack role create demo #创建角色
openstack role add --project demo --user demo member #将成员角色添加到demo项目和demo用户
openstack role list #查看openstack角色列表
10.创建Openstack客户端环境脚本
vi admin-openrc
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://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
vi demo-openrc
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
chmod +x admin-openrc #增加权限
chmod +x demo-openrc #增加权限
11.运行
. admin-openrc
openstack token issue #显示列表就对了,爆红就是配置文件没对,一般都是密码,不行的话重做一次
九、安装和部署 Glance
Glance 是 OpenStack 的镜像服务,它负责存储和分发虚拟机镜像。Glance 提供了一个 RESTful API 接口,允许用户和开发者查询、创建、更新和删除镜像。镜像是虚拟机实例的模板,可以用来启动新的虚拟机实例。
1. 创建Glance数据库
mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO'glance'@'localhost' IDENTIFIED BY '123456'; #创建用户并授权
GRANT ALL PRIVILEGES ON glance.* TO'glance'@'%' IDENTIFIED BY '123456';
2.获取管理员凭据
. admin-openrc
3.创建Glance服务凭据
创建用户
openstack user create --domain default --password-prompt glance #创建Glance用户这里密码123456
4.将admin角色授予glance用户和service项目
openstack role add --project service --user glance admin
5. 在服务目录中创建镜像服务的服务实体名为 glance
openstack service create --name glance --description "OpenStack Image" image #有列表
6.创建镜像服务的 API 端点
openstack endpoint create --region RegionOne image public http://controller:9292 #有列表
openstack endpoint create --region RegionOne image internal http://controller:9292 #有列表
openstack endpoint create --region RegionOne image admin http://controller:9292 #有列表
7.安装和配置 Glance 组件
yum install openstack-glance -y
8.配置
sed -i '2089 a connection = mysql+pymysql://glance:123456@controller/glance' /etc/glance/glance-api.conf #这里的123456是刚刚创建glance时候的密码
sed -i '5017a \
www_authenticate_uri = http://controller:5000 \
auth_url = http://controller:5000 \
memcached_servers = controller:11211 \
auth_type = password \
project_domain_name = Default \
user_domain_name = Default \
project_name = service \
username = glance \
password = 123456' /etc/glance/glance-api.conf
9.配置身份管理服务访问
sed -i 's/^#flavor/flavor/' /etc/glance/glance-api.conf
10.定义本地文件系统以及存储路径
sed -i '3350 a stores = file,http \
default_store = file \
filesystem_store_datadir = /var/lib/glance/images/' /etc/glance/glance-api.conf
11.初始化镜像服务数据库
su -s /bin/bash -c "glance-manage db_sync" glance #报错就是配置文件没对,密码这些检查一下,成功会有successfully这个字出来
echo $? #0表示成功
12. 启动服务并设置开机自启
systemctl enable openstack-glance-api.service --now
13.验证 Glance 镜像操作
下载镜像https://download.cirros-cloud.net/0.4.0/ #复制去浏览器搜索,然后上传到root目录下
. admin-openrc #加载 admin 用户的客户端环境脚本,获得只有管理员能执行命令的访问权限
#以 qcow2 磁盘格式和 bare 容器格式将镜像上传到 Glance 镜像服务,并将其设置为公共可见以让所有的项目都可以访问
openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
openstack image list #查看镜像
十、安装和部署Placement
Placement 是 OpenStack 中的一个服务,它是在 OpenStack Newton 版本中引入的,旨在解决资源优化和分配问题。Placement 的主要职责是跟踪和管理可用资源(如 CPU、内存、存储和网络)在 OpenStack 云环境中的分布情况。
1.创建Placement数据库以及placement用户并授权
mysql -u root -p #进入数据库
CREATE DATABASE placement; #创建Placement 数据库
GRANT ALL PRIVILEGES ON placement.* TO'placement'@'localhost' IDENTIFIED BY '123456'; #创建用户并授权
GRANT ALL PRIVILEGES ON placement.* TO'placement'@'%' IDENTIFIED BY '123456';
2. 创建用户及服务API端点
. admin-openrc #加载 admin 用户的客户端环境脚本
openstack user create --domain default --password-prompt placement #我设置的密码123456
openstack role add --project service --user placement admin #将 admin 角色授予 glance 用户和 service 项目
openstack service create --name placement --description "Placement API" placement #在服务目录中创建 Placement 服务实体,有列表显示
openstack endpoint create --region RegionOne placement public http://controller:8778 #Placement 服务端点,有列表
openstack endpoint create --region RegionOne placement internal http://controller:8778 #Placement 服务端点,有列表
openstack endpoint create --region RegionOne placement admin http://controller:8778 #Placement 服务端点,有列表
3.安装和配置放置服务组件
yum install openstack-placement-api -y
4.配置placement
sed -i '511 a connection = mysql+pymysql://placement:123456@controller/placement' /etc/placement/placement.conf #这里是我们刚刚设置的密码123456
sed -i 's/^#auth_strategy/auth_strategy/' /etc/placement/placement.conf #配置身份管理服务访问
sed -i '241 a auth_url = http://controller:5000/v3 \
memcached_servers = controller:11211 \
auth_type = password \
project_domain_name = Default \
user_domain_name = Default \
project_name = service \
username = placement \
password = 123456' /etc/placement/placement.conf
5.初始化placement数据库
su -s /bin/bash -c "placement-manage db sync" placement #爆红就是配置出了问题,检查密码,不行重新来一次
6.完成放置服务安装并进行验证
systemctl restart httpd
. admin-openrc ##执行状态检查以确保一切正常
placement-status upgrade check #有列表显示就代表成功
十一、安装和部署Nova
Nova 是 OpenStack 的计算组件,负责创建和管理虚拟机实例。它处理云环境中的虚拟机生命周期,包括启动、停止、暂停、恢复、删除和迁移等操作。Nova 还负责调度新创建的实例到合适的计算节点上,并与 OpenStack 的其他组件如 Glance(镜像服务)、Neutron(网络服务)和 Keystone(身份服务)紧密协作,以提供完整的云基础设施服务。
1.创建Nova数据库并nova用户授予访问权限
mysql -u root -p
CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_api.* TO'nova_api'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_api.* TO'nova_api'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO'nova'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO'nova'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO'nova_cell0'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO'nova_cell0'@'%' IDENTIFIED BY '123456';
exit#退出
2.获取管理员凭证
. admin-openrc
3.创建计算服务凭据
openstack user create --domain default --password-prompt nova #我设置的密码123456,有列表显示
#创建 Nova 的计算服务实体
openstack service create --name nova --description "OpenStack Compute" compute
4.创建计算服务的 API 端点
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
5.控制节点上安装和配置 Nova 组件
yum install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler -y
6.编辑配置文件(注意这里的密码是我设置的123456,如果不是请更改)
sed -i 's/^#enabled_apis/enabled_apis/' /etc/nova/nova.conf #在[DEFAULT]节中仅启用 compute 和 metadata API。
sed -i '1828 a connection = mysql+pymysql://nova:123456@controller/nova_api' /etc/nova/nova.conf #在[api_database]和[database]节中配置数据库访问
sed -i '2314 a connection = mysql+pymysql://nova:123456@controller/nova' /etc/nova/nova.conf #在[api_database]和[database]节中配置数据库访问
sed -i '2 a transport_url = rabbit://openstack:123456@controller:5672/' /etc/nova//nova.conf #在[DEFAULT]节中配置 RabbitMQ 消息队列访问
sed -i 's/^#auth_strategy/auth_strategy/' /etc/nova/nova.conf #在[api]和[keystone_authtoken]节中配置身份管理服务访问
sed -i '3202 a \
www_authenticate_uri = http://controller:5000/ \
auth_url = http://controller:5000/ \
memcached_servers = controller:11211 \
auth_type = password \
project_domain_name = Default \
user_domain_name = Default \
project_name = service \
username = nova \
password = 123456' /etc/nova/nova.conf
#在[DEFAULT]节中配置网路
sed -i '3 a \
my_ip = 192.168.107.130 \ #这里的为控制节点的网关2的ip
use_neutron = true \
firewall_driver = nova.virt.firewall.NoopFirewallDriver' /etc/nova/nova.conf
#在[vnc]节中配置 VNC 代理使用控制节点的管理网络接口 IP 地址
sed -i 's/^#enabled=true/enabled=true/' /etc/nova/nova.conf
sed -i '5886 a server_listen = $my_ip \
server_proxyclient_address = $my_ip' /etc/nova/nova.conf
#在[glance]节中配置镜像服务 API 的位置
sed -i '2639 a api_servers = http://controller:9292' /etc/nova/nova.conf
在[oslo_concurrency]节中配置锁定路径
sed -i 's/^#lock_path/lock_path/' /etc/nova/nova.conf
#在[placement]节中配置放置服务 API
sed -i '4755 a \
region_name = RegionOne \
project_domain_name = Default \
project_name = service \
auth_type = password \
user_domain_name = Default \
auth_url = http://controller:5000/v3 \
username = placement \
password =123456' /etc/nova/nova.conf
7.初始化nova_api数据库(如果报红显示nova访问不了数据库,就去加权限)
su -s /bin/bash -c "nova-manage api_db sync" nova #初始化 nova_api 数据库
#如果这里报错了nova连接不上nova_api就得去加权限刷新
mysql -u root -p
Grant all privileges on nova_api.* to 'nova'@'%';是授权nova用户在nova_api 数据库上拥有全部权限
Grant all privileges on nova_cell0.* to 'nova'@'%';#是授权nova用户在nova_cell0 数据库上拥有全部权限
flush privileges; #刷新并exit退出
#重新来一次,不报红就是对的
su -s /bin/bash -c "nova-manage api_db sync" nova
8.注册cell0数据库
su -s /bin/bash -c "nova-manage cell_v2 map_cell0" nova
9.创建 cell1 单元
su -s /bin/bash -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
10.初始化nova数据库(如果报红显示nova访问不了数据库,就去加权限,如上)
su -s /bin/sh -c "nova-manage db sync" nova #不红即对
11.验证nova的cell0和cell1已正确注册
su -s /bin/bash -c "nova-manage cell_v2 list_cells" nova #有列表显示
12.控制节点完成Nova安装
systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service --now #启动
systemctl is-active openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service #确保都是active,有一个红,建议找出错误,找不出来就重新做一遍,仔细一点
十一.一在计算节点计算节点安装和配置 Nova 组件
1.安装软件包
yum install openstack-nova-compute -y
2.编辑配置文件
#在[DEFAULT]节中仅启用 compute 和 metadata API
sed -i '2 a enabled_apis = osapi_compute,metadata' /etc/nova/nova.conf
#在[DEFAULT]节中配置 RabbitMQ 消息队列访问
sed -i '3 a transport_url = rabbit://openstack:123456@controller' /etc/nova/nova.conf
#在[api]和[keystone_authtoken]节中配置身份认证服务访问
sed -i 's/^#auth_strategy/auth_strategy/' /etc/nova/nova.conf
sed -i '3205 a \
www_authenticate_uri = http://controller:5000/ \
auth_url = http://controller:5000/ \
memcached_servers = controller:11211 \
auth_type = password \
project_domain_name = Default \
user_domain_name = Default \
project_name = service \
username = nova \
password = 123456' /etc/nova/nova.conf
sed -i '8 a my_ip = 192.168.107.130 \ #控制节点网卡2ip
use_neutron = true \
firewall_driver = nova.virt.firewall.NoopFirewallDriver' /etc/nova/nova.conf
#在[vnc]节中启用和配置远程控制台访问
sed -i '5907 a \
enabled = true \
server_listen = 0.0.0.0 \
server_proxyclient_address = $my_ip \
novncproxy_base_url = http://controller:6080/vnc_auto.html' /etc/nova/nova.conf
#在[glance]节中配置镜像服务 API 的位置
sed -i '2639 a api_servers = http://controller:9292' /etc/nova/nova.conf
#在[oslo_concurrency]节中配置锁定路径
sed -i 's/^#lock_path/lock_path/' /etc/nova/nova.conf
#在[placement]节中配置放置服务 API
sed -i '4754 a region_name = RegionOne \
project_domain_name = Default \
project_name = service \
auth_type = password \
user_domain_name = Default \
auth_url = http://controller:5000/v3 \
username = placement \
password = 123456' /etc/nova/nova.conf
3.计算节点完成Nova安装
egrep -c '(vmx|svm)' /proc/cpuinfo #显示0则需要配置
sed -i '3387 a virt_type = qemu' /etc/nova/nova.conf 进行配置
systemctl enable libvirtd.service openstack-nova-compute.service --now #启动
systemctl is-active libvirtd.service openstack-nova-compute.service #都是active
4.将计算节点添加到 cell 数据库
. admin-openr #加载 admin的环境脚本
openstack compute service list --service nova-compute #确认数据库中计算节点主机
5.注册计算节点主机
su -s /bin/bash -c "nova-manage cell_v2 discover_hosts --verbose" nova
6.验证 Nova 计算服务的安装
. admin-openrc #加载 admin的环境脚本
openstack compute service list #列出计算服务组件以验证每个进程是否成功启动和注册
openstack hypervisor list #计算节点compute1 的虚拟机管理器类型为 QEMU
周润我无敌了