鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

环境部署

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

安装OpenStack相关组件

  1. 安装依赖。
    1. 安装依赖的软件包。
      yum install python3-iniparse python3-crudini libaio-devel
    2. 请参见部署软件安装Kernel、QEMU、libvirt和edk2。
    3. 安装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
    4. 参考获取安全内存信息安装tmm_driver。
    • OpenStack依赖tmm_driver获取安全内存信息,每次重启机器后需重新加载tmm_driver.ko。
    • 本文档使用的OpenStack版本为OpenStack-Wallaby版本,部署流程可参考openEuler OpenStack-Wallaby官方文档

OpenStack创建机密虚拟机

  1. 进行权限验证。
    source ~/.admin-openrc

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

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

  3. 查看计算节点列表。
    openstack hypervisor list

  4. 生成公钥。
    1. 使用以下命令创建密钥对,并根据提示输入密钥存储路径和密钥名。
      ssh-keygen -q -N ""
    2. 密钥对默认位置为“~/.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核,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. 创建网络。
    1. 创建公共网络。
      openstack network create --share --provider-physical-network provider --provider-network-type flat public-network
    2. 创建子网。
      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