不同的操作系统创建虚拟机的操作步骤不同,可直接参考表1直接跳转到对应的内容。
虚拟机操作系统 |
参考步骤 |
备注 |
---|---|---|
openEuler 22.03 LTS openEuler 20.03 LTS BC Linux 8.2 BC Linux 21.10 CentOS 7.5(5.10.0) CULinux 3.0 Kylin V10 Kylin V10 SP2 Kylin V10 SP3 Tlinux3.1 Ubuntu 20.04 Ubuntu 22.04 UOS V20(1050e) UOS V20(1050u2e) veLinux 1.1 veLinux 1.1(5.10.200) Debian10(veLinux 1.3) |
- |
|
veLinux 1.2 Debian10.13 Debian10.8 Debian 11.8 |
请用户自行安装EDK2相关功能。也可以单击GitHub网站下载、编译并安装EDK2工具,需要配套4.1.0版本的QEMU源码包。 |
本章节以Atlas 800 推理服务器(型号:3010)+Atlas 300I Pro 推理卡 openEuler 22.03 LTS系统为例说明,操作步骤中的打印信息仅为示例,请以实际操作界面为准。
getenforce
[root@localhost qemu-4.1.0]# getenforce Enforcing
若回显信息提示“command 'getenforce' not found”,请根界面据提示信息安装相关依赖。
若显示信息为Enforcing,需要通过如下方式关闭selinux。
[root@localhost qemu-4.1.0]# vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
export DISPLAY=<客户端ip>:0.0
客户端ip是指个人电脑的ip,可通过个人电脑的cmd输入ipconfig或者在服务器上输入who查看。
free -h
total used free shared buff/cache available Mem: 251Gi 1.5Gi 249Gi 19Mi 774Mi 248Gi Swap: 108Gi 0B 108Gi
创建虚拟机时,虚拟机分配的内存ram_size请根据当前环境查询的内存大小进行配置。
virt-install --name=<NAME> --vcpus=<VCPUS> --ram=<ram_size> --disk <DISK> --machine <Machine> --cdrom <CDROM> --network <NETWORK> --force --graphic <GRAPHICS> --input <INPUT>
例如:
virt-install --name=openeuler --vcpus=4 --ram=8192 --disk path=/home/kvm/images/openeuler.img,format=qcow2,size=50,bus=virtio --machine pc-q35-4.1 --cdrom /home/kvm/openEuler-22.03-LTS-x86_64-dvd.iso --network bridge=virbr0,model=virtio --force --graphic vnc,listen=0.0.0.0,port=5906 --input type=tablet,bus=usb --input type=keyboard,bus=virtio
[root@localhost qemu-4.1.0]# virt-install --name=openeuler --vcpus=4 --ram=8192 --disk path=/home/kvm/images/openeuler.img,format=qcow2,size=50,bus=virtio --machine pc-q35-4.1 --cdrom /home/kvm/openEuler-22.03-LTS-x86_64-dvd.iso --network bridge=virbr0,model=virtio --force --graphic vnc,listen=0.0.0.0,port=5906 --input type=tablet,bus=usb --input type=keyboard,bus=virtio WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results. Starting install...
对于Atlas 900 A3 SuperPoD 集群基础单元,请执行如下命令创建虚拟机。
virt-install --name=<NAME> --vcpus=<VCPUS> --ram=<ram_size> --disk <DISK> --machine <Machine> --cdrom <CDROM> --network <NETWORK> --force --graphic <GRAPHICS> --input <INPUT>
例如:
virt-install --name=debian --vcpus=368 --ram=1835008 --disk path=/home/kvm/images/debian.img,format=qcow2,size=50,bus=virtio --cdrom /home/kvm/velinux-1.3-hwe-arm64-DVD-1.iso --network bridge=virbr0,model=virtio --force --autostart --graphic vnc,listen=0.0.0.0,port=5906 --input type=tablet,bus=usb --input type=keyboard,bus=usb
virt-install --name=debian --vcpus=368 --ram=1835008 --disk path=/home/kvm/images/debian.img,format=qcow2,size=50,bus=virtio --cdrom /home/kvm/velinux-1.3-hwe-arm64-DVD-1.iso --network bridge=virbr0,model=virtio --force --autostart --graphic vnc,listen=0.0.0.0,port=5906 --input type=tablet,bus=usb --input type=keyboard,bus=usb WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results. Starting install... Domain creation completed. Restarting guest.
对于Atlas 200T A2 Box16 异构子框 veLinux 1.1/veLinux 1.1(5.10.200)系统时,请执行如下命令创建虚拟机。
virt-install --name=<NAME> --vcpus=<VCPUS> --ram=<ram_size> --disk <DISK> --machine <Machine> --cdrom <CDROM> --network <NETWORK> --force --graphic <GRAPHICS> --input <INPUT> --cpu <CPU>
例如:
virt-install --name=debian --vcpus=160 --ram=65536 --disk path=/home/kvm/images/debian.img,format=qcow2,size=50,bus=virtio --machine pc-q35-4.1 --cdrom /home/kvm/velinux-1.1-business-amd64-DVD-1.iso --network bridge=br0,model=virtio --force --graphic vnc,listen=0.0.0.0,port=5901 --input type=tablet,bus=usb --input type=keyboard,bus=virtio --cpu host-passthrough
virt-install --name=debian --vcpus=160 --ram=65536 --disk path=/home/kvm/images/debian.img,format=qcow2,size=50,bus=virtio --machine pc-q35-4.1 --cdrom /home/kvm/velinux-1.1-business-amd64-DVD-1.iso --network bridge=br0,model=virtio --force --graphic vnc,listen=0.0.0.0,port=5902 --input type=tablet,bus=usb --input type=keyboard,bus=virtio --cpu host-passthrough WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results. Starting install... Domain creation completed. Restarting guest.
参数 |
说明 |
---|---|
NAME |
指定新虚拟机的名称。 说明:
该名称必须保持唯一。 |
VCPUS |
指定虚拟CPU数量。 |
ram_size |
客户端虚拟机分配的内存,单位MB。 |
DISK |
指定存储设备及其属性。 |
Machine |
创建虚拟机时配置的机器类型。
可通过执行如下命令查询当前环境支持的机器类型。 qemu-system-<ARCH> -machine help |
CDROM |
对应全虚拟化客户机,文件或设备作为一个虚拟化CD-ROM设备使用。 可以是ISO映像路径或者一个CDROM设备,或是一个能够提取/访问最小引导ISO映像的URL。 |
NETWORK |
网络配置:指定网络接口的网络类型及接口属性如MAC地址、驱动模式等。
|
--force |
禁止命令进入交互式模式,如果有需要回答yes或no选项,则自动回答为yes。 |
--autostart |
(可选)指定虚拟机是否在物理启动后自动启动。 |
GRAPHICS |
定义虚拟机显示功能相关的配置,如VNC相关配置
|
INPUT |
配置虚拟机输入设备。例如:
|
CPU |
指定CPU模式。例如:
建议根据使用场景选择配置模式。 |
Debian_11_normal.xml名称用户自定义,此处仅为举例。
<domain type='kvm'> <name>Debian</name> <memory unit='GiB'>64</memory> <currentMemory unit='GiB'>64</currentMemory> <vcpu placement='static'>8</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='aarch64' machine='virt'>hvm</type> <loader readonly='yes' type='pflash'>/home/test/qemu_4_1/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader> <nvram>/home/test/qemu_4_1/usr/share/edk2/aarch64/vars-template-pflash.raw</nvram> <boot dev='hd'/> <boot dev='cdrom'/> </os> <features> <acpi /> <gic version='3'/> </features> <cpu mode='host-passthrough' check='none'/> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup' track='guest'/> <timer name='hpet' present='no'/> <timer name='pit' tickpolicy='delay'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <!--emulator>/usr/local/bin/qemu-system-aarch64</emulator--> <emulator>/home/test/qemu-4.1.0/aarch64-softmmu/qemu-system-aarch64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='threads'/> <source file='/home/test/debian.raw'/> <target dev='sda' bus='virtio'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/kvm/debian-11.8.0-arm64-DVD-1.iso'/> <target dev='sdb' bus='sata'/> <readonly/> </disk> <controller type='usb' index='0' model='ehci'> <address type='pci' domain='0x0000' bus='0x03' slot='0x01' function='0x0'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-to-pci-bridge'> <model name='pcie-pci-bridge'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xa'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xc'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xd'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='8' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='8' port='0xe'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='pci' index='9' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='9' port='0xf'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x03' slot='0x02' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:5b:38:51'/> <source bridge='virbr0'/> <model type='virtio'/> <driver name='vhost'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <target type='system-serial' port='0'> <model name='pl011'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <input type='keyboard' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> <serial type='file'> <source path='/home/serial-file' append='on'/> </serial> <video> <model type='virtio' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x04' function='0x0'/> </video> </devices> <seclabel type='none' model='none'/> <seclabel type='dynamic' model='dac' relabel='yes'/> </domain>
根据实际情况进行定制化修改。
<name>Debian</name> <memory unit='GiB'>64</memory> <currentMemory unit='GiB'>64</currentMemory>
<os> <type arch='aarch64' machine='virt'>hvm</type> <loader readonly='yes' type='pflash'>/home/test/qemu_4_1/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader> <nvram>/home/test/qemu_4_1/usr/share/edk2/aarch64/vars-template-pflash.raw</nvram> <boot dev='hd'/> <boot dev='cdrom'/> </os>
<disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='threads'/> <source file='/home/test/debian.raw'/> <target dev='sda' bus='virtio'/> </disk>
<disk type='file' device='cdrom'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/test/debian-11.8.0-arm64-DVD-1.iso'/> <target dev='sdb' bus='sata'/> <readonly/> </disk>
<interface type='bridge'> <mac address='52:54:00:5b:38:51'/> <source bridge='virbr0'/> <model type='virtio'/> <driver name='vhost'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </interface>
<devices> <!--emulator>/usr/local/bin/qemu-system-aarch64</emulator--> <emulator>/home/test/qemu-4.1.0/aarch64-softmmu/qemu-system-aarch64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='threads'/> <source file='/home/test/debian.raw'/> <target dev='sda' bus='virtio'/>
virsh create Debian_11_normal.xml
Debian_11_normal.xml请根据用户实际命名的.xml文件名称进行替换,此处仅为举例。
virt-viewer
创建虚拟机以后,如果还需要在虚拟机内安装CANN、框架等软件,可以参考: