---
title: 创建虚拟机
description: "建议使用块存储作为后端存储，不建议使用镜像直接创建虚拟机。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/OpenStack/kunpengopenstacktrain_04_031.html
sourcePath: /source/zh/kunpengcpfs/ecosystemEnable/OpenStack/kunpengopenstacktrain_04_031.html
indexId: 8f1004ccf58c61d8911b0d8dc4a5b85e22ba9c75281ba16e41bff6cf82ec2a3f82
---
# 创建虚拟机

建议使用块存储作为后端存储，不建议使用镜像直接创建虚拟机。

本文提供以下两种虚拟机创建方式。

#### 操作方式一

1. 根据镜像创建系统卷。

```
cinder create
$disk_size
--image
$image_id
--name
$volume_name
```


  以下参数请根据实际情况修改： 将disk_size替换为所创建磁盘大小，单位GB。 将image_id替换为系统镜像的ID。该ID可通过openstack image list命令查询获取。 将volume_name替换为所创建系统卷的名称。 记录所创建系统卷的ID，以备后续步骤使用。该ID可通过cinder list命令查询获取。 disk_size不能低于镜像的虚拟磁盘大小，否则会导致创建虚拟机失败。镜像的虚拟磁盘大小查询命令如下，openEuler-22.03-LTS-SP2-aarch64.qcow2为上传的镜像文件名称。 qemu-img info openEuler-22.03-LTS-SP2-aarch64.qcow2

2. 由系统卷创建虚拟机。

```
nova boot --nic net-name=
$vm_net
--flavor
$flavor_id
--boot-volume
$volume_id
$vm_name
```


  以下参数请根据实际情况修改： 将vm_net替换为所创建虚拟机网络ID。该ID可通过openstack network list命令查询获取。 将flavor_id替换为创建所需虚拟机规格类型的ID。该ID可通过nova flavor-list命令查询获取。 将volume_id替换为1中系统卷的ID。该ID可通过cinder list命令查询获取。 将vm_name替换为所创建虚拟机的名称。


#### 操作方式二

使用一条命令创建系统卷和虚拟机。
```
nova boot --nic net-name=
$vm_net
--flavor
$flavor_id
--block-device source=image,dest=volume,id=
$image_id
,bootindex=0,size=
$disk_size
$vm_name
```

以下参数请根据实际情况修改：

- 将vm_net替换为所创建虚拟机网络ID。该ID可通过openstack network list命令查询获取。
- 将flavor_id替换为创建所需虚拟机规格类型的ID。该ID可通过nova flavor-list命令查询获取。
- 将image_id替换为系统镜像的ID。该ID可通过openstack image list命令查询获取。
- 将disk_size替换为所创建磁盘大小，单位GB。
- 将vm_name替换为所创建虚拟机的名称。
- disk_size不能低于镜像的虚拟磁盘大小，否则会导致创建虚拟机失败。镜像的虚拟磁盘大小查询命令如下，openEuler-22.03-LTS-SP2-aarch64.qcow2为上传的镜像文件名称。

```
qemu-img info openEuler-22.03-LTS-SP2-aarch64.qcow2
```
