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

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 4 --ram 8192 --disk 50
```


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

```
openstack flavor create cca-flavor --vcpus 4 --ram 8192 --disk 50 \
--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核，8GB内存，50GB系统磁盘。在创建虚拟机的时候需要指定实例类型。


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

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

制作的qcow2镜像大小默认为40GB，创建虚拟机时使用的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.xxpublic-subnet
```


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

8. 创建机密虚拟机。

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