---
title: 环境部署
description: "OpenStack部署节点包含控制节点、计算节点和存储节点。可单台机器部署上述节点，也可分布式部署，用户可根据实际情况进行部署。通常情况为控制节点和存储节点部署在同一服务器上，计算节点单独部署（可多台服务器部署多台计算节点）。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC2/confidt/kunpengtee_16_0060.html
sourcePath: /source/zh/kunpengboostkithistory/251RC2/confidt/kunpengtee_16_0060.html
indexId: e2c01c1827e09c881e042c1b6a720d5ae2e69f077b0c69065d1b1166186022bc72
---
# 环境部署

OpenStack部署节点包含控制节点、计算节点和存储节点。可单台机器部署上述节点，也可分布式部署，用户可根据实际情况进行部署。通常情况为控制节点和存储节点部署在同一服务器上，计算节点单独部署（可多台服务器部署多台计算节点）。

#### 安装OpenStack相关组件

1. 安装依赖。

  a. 安装依赖的软件包。

```
yum install python3-iniparse python3-crudini libaio-devel
```


  b. 请参见    部署软件
安装Kernel、QEMU、libvirt和edk2。
  c. 安装EDK2后修改以下文件内容，并重启服务。

    1. 打开“/usr/share/qemu/firmware/10-edk2-aarch64-verbose-raw.json”文件。

```
vim /usr/share/qemu/firmware/10-edk2-aarch64-verbose-raw.json
```


    2. 按“i”进入编辑模式，将QEMU_EFI-pflash.raw修改为QEMU_EFI.fd；将raw修改为fd。
    3. 按“Esc”键退出编辑模式，输入:wq!，按“Enter”键保存退出文件。
    4. 重启服务。

```
systemctl restart libvirtd
```


  d. 参考    获取安全内存信息
安装tmm_driver。
- OpenStack依赖tmm_driver获取安全内存信息，每次重启机器后需重新加载tmm_driver.ko。
- 本文档使用的OpenStack版本为OpenStack-Wallaby版本，部署流程可参考  openEuler OpenStack-Wallaby官方文档(https://openstack-sig.readthedocs.io/zh/latest/install/openEuler-24.03-LTS-SP1/OpenStack-wallaby/)
。


#### OpenStack创建机密虚拟机

1. 进行权限验证。

```
source
~
/.admin-openrc
```


  “~/.admin-openrc”文件为部署过程创建。

2. 检查nova环境，应全部为Success，否则按照返回信息进行修改。

```
nova-status upgrade check
```


3. 查看计算节点列表。

```
openstack hypervisor list
```


4. 生成公钥。

  a. 使用以下命令创建密钥对，并根据提示输入密钥存储路径和密钥名。

```
ssh-keygen -q -N ""
```


  b. 密钥对默认位置为“~/.ssh/xx.pub”，根据该路径将对应公钥上传至OpenStack。

```
openstack keypair create --public-key
~
/.ssh/xx.pub
mykey
openstack keypair list
```


5. 创建实例类型。

  - 创建普通虚拟机实例类型。

```
openstack flavor create
normal-flavor
--vcpus
--ram
8192
--disk
```


  - 创建机密虚拟机实例类型。

```
openstack flavor create
cca-flavor
--vcpus
--ram
8192
--disk
\
--property trait:HW_CPU_AARCH64_HISI_VIRTCCA=required \
--property sw:qemu_cmdline="tmm-guest,id=tmm0,num-pmu-counters=1" \
--property hw:mem_secure=true
```


本文档中实例类型示例名称为normal-flavor、cca-flavor，使用示例flavor实例类型创建的虚拟机拥有4个CPU核，8G内存，50G系统磁盘。在创建虚拟机的时候需要指定实例类型。


6. 上传镜像。
  参考制作qcow2镜像
  制作机密虚拟机qcow2镜像，上传OpenStack。

```
openstack image create
openEuler-image
--file
openEuler-24.03-LTS-SP2-aarch64.qcow2
--disk-format qcow2 --container-format bare --public
```

制作的qcow2镜像大小默认为40G，创建虚拟机时使用的flavor对应disk大小应不小于镜像大小，否则会导致虚拟机创建失败。


7. 创建网络。

  a. 创建公共网络。

```
openstack network create --share --provider-physical-network provider --provider-network-type flat
public-network
```


  b. 创建子网。

```
openstack subnet create --network
public-network
--subnet-range
xx.xx.xx.xx/xx
--gateway
xx.xx.xx.xx
public-subnet
```


    --subnet-range：子网范围。 --gateway：网关。

8. 创建机密虚拟机。

```
openstack server create --image
openEuler-image
--flavor
cca-flavor
--network
public-network
cca-server
```
