openstack 双节点搭建

一.硬件配置

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

评论

  1. 周润
    Windows Edge
    6 月前
    2024-6-29 13:15:25

    周润我无敌了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇