From a2017d7063452f6cc0675c9e81a7a3a86b9fe7ef Mon Sep 17 00:00:00 2001 From: AlexChen Date: Tue, 30 Jun 2020 21:42:52 +0800 Subject: [PATCH] virtualization: fix some wrong descriptions related to not-root operation fix some wrong descriptions related to not-root operation 1. not-root operations user $ instead of # 2. add instructions where root is needed Signed-off-by: AlexChen --- ...77\347\224\250\347\216\257\345\242\203.md" | 72 ++++++++++++++----- ...05\350\231\232\346\213\237\345\214\226.md" | 12 ++-- ...00\344\275\263\345\256\236\350\267\265.md" | 12 ++-- ...73\347\273\237\350\265\204\346\272\220.md" | 38 +++++----- ...41\347\220\206\350\256\276\345\244\207.md" | 30 ++++---- 5 files changed, 102 insertions(+), 62 deletions(-) diff --git "a/content/zh/docs/Virtualization/\345\207\206\345\244\207\344\275\277\347\224\250\347\216\257\345\242\203.md" "b/content/zh/docs/Virtualization/\345\207\206\345\244\207\344\275\277\347\224\250\347\216\257\345\242\203.md" index 6d3956664..29a140d31 100644 --- "a/content/zh/docs/Virtualization/\345\207\206\345\244\207\344\275\277\347\224\250\347\216\257\345\242\203.md" +++ "b/content/zh/docs/Virtualization/\345\207\206\345\244\207\344\275\277\347\224\250\347\216\257\345\242\203.md" @@ -4,6 +4,7 @@ - [准备虚拟机镜像](#准备虚拟机镜像) - [准备虚拟机网络](#准备虚拟机网络) - [准备引导固件](#准备引导固件) + - [非root用户配置](#非root用户配置) @@ -17,7 +18,7 @@ 制作qcow2格式镜像文件的操作步骤如下: -1. 安装qemu-img软件包。 +1. 使用root用户安装qemu-img软件包。 ``` # yum install -y qemu-img @@ -51,13 +52,13 @@ 1. 查询当前虚拟机镜像磁盘空间大小,命令如下: ``` - # qemu-img info + $ qemu-img info ``` 例如,查询openEuler-image.qcow2镜像磁盘空间大小的命令和回显如下,说明该镜像磁盘空间大小为4GiB。 ``` - # qemu-img info openEuler-image.qcow2 + $ qemu-img info openEuler-image.qcow2 image: openEuler-image.qcow2 file format: qcow2 virtual size: 4.0G (4294967296 bytes) @@ -73,26 +74,26 @@ 2. 修改镜像磁盘空间大小,命令如下,其中_imgFiLeName_为镜像名称,“+”和“-”分别表示需要增加或减小的镜像磁盘空间大小,单位为K、M、G、T,代表KiB、MiB、GiB、TiB。 ``` - # qemu-img resize [+|-] + $ qemu-img resize [+|-] ``` 例如,将上述openEuler-image.qcow2镜像磁盘空间大小扩展到24GiB,即在原来4GiB基础上增加20GiB,命令和回显如下: ``` - # qemu-img resize openEuler-image.qcow2 +20G + $ qemu-img resize openEuler-image.qcow2 +20G Image resized. ``` 3. 查询修改后的镜像磁盘空间大小,确认是否修改成功,命令如下: ``` - # qemu-img info + $ qemu-img info ``` 例如,上述openEuler-image.qcow2镜像磁盘空间已扩展到24GiB,命令和回显如下: ``` - # qemu-img info openEuler-image.qcow2 + $ qemu-img info openEuler-image.qcow2 image: openEuler-image.qcow2 file format: qcow2 virtual size: 24G (25769803776 bytes) @@ -119,7 +120,7 @@ ### 搭建Linux网桥 -以物理网卡eth0绑定到Linux网桥br0的操作为例,搭建Linux网桥的操作步骤如下: +以物理网卡eth0绑定到Linux网桥br0的操作为例,使用root用户执行如下命令搭建Linux网桥: 1. 安装bridge-utils软件包。 @@ -168,7 +169,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc **一、安装Open vSwitch组件** -使用Open vSwitch提供虚拟网络,需要安装Open vSwitch网络虚拟化组件。 +使用Open vSwitch提供虚拟网络,需要安装Open vSwitch网络虚拟化组件,使用root用户执行如下命令: 1. 安装Open vSwitch组件。 @@ -191,7 +192,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 1. 确认openvswitch-kmod组件是否安装成功。若安装成功,可以看到软件包相关信息,命令和回显如下: ``` - # rpm -qi openvswitch-kmod + $ rpm -qi openvswitch-kmod Name : openvswitch-kmod Version : 2.11.1 Release : 1.oe3 @@ -217,7 +218,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 2. 确认openvswitch组件是否安装成功。若安装成功,可以看到软件包相关信息,命令和回显如下: ``` - # rpm -qi openvswitch + $ rpm -qi openvswitch Name : openvswitch Version : 2.11.1 Release : 1 @@ -243,7 +244,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 3. 查看Open vSwitch服务是否启动成功。若服务处于“Active”状态,说明服务启动成功,可以正常使用Open vSwitch提供的命令行工具,命令和回显如下: ``` - # systemctl status openvswitch + $ systemctl status openvswitch ● openvswitch.service - LSB: Open vSwitch switch Loaded: loaded (/etc/rc.d/init.d/openvswitch; generated) Active: active (running) since Sat 2019-08-17 09:47:14 CST; 4min 39s ago @@ -261,7 +262,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc **三、搭建Open vSwitch网桥** -以创建Open vSwitch一层网桥br0为例,介绍搭建方法。 +以创建Open vSwitch一层网桥br0为例,介绍搭建方法,使用root用户执行如下命令: 1. 创建Open vSwitch网桥br0。 @@ -308,7 +309,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 如果使用UEFI方式引导,需要安装工具集EDK II,AArch64架构对应的安装包为edk2-aarch64,x86架构对应的安装包为edk2-ovmf。这里以AArch64架构为例,给出具体的安装方法,x86架构仅需将edk2-aarch64替换为edk2-ovmf。 -1. 安装edk软件包,命令如下: +1. 安装edk软件包,使用root用户执行如下命令: 在AArch64架构下edk2的包名为edk2-aarch64 @@ -327,7 +328,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 在AArch64架构下查询如下 ``` - # rpm -qi edk2-aarch64 + $ rpm -qi edk2-aarch64 ``` 若edk软件安装成功,回显类似如下: @@ -344,7 +345,7 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc 在x86\_64架构下查询如下 ``` - # rpm -qi edk2-ovmf + $ rpm -qi edk2-ovmf ``` 若edk软件安装成功,回显类似如下: @@ -357,4 +358,43 @@ Open vSwitch网桥,具有更便捷的自动化编排能力。搭建Open vSwitc Install Date: Thu 19 Mar 2020 09:09:06 AM CST ``` +## 非root用户配置 +### 概述 + +openEuler虚拟化使用virsh管理虚拟机。如果希望在非root用户使用virsh命令管理虚拟机,在使用之前需要进行相关配置,这里给出配置指导。 + +### 操作指导 + +允许非root用户使用virsh命令管理虚拟机的配置操作如下,以下命令中的userName请改为实际的非root用户名称: + +1. 使用root用户登陆主机。 + +2. 将非root用户添加到libvirt用户组。 + + ``` + # usermod -a -G libvirt userName + ``` + +3. 切换到非root用户。 + + ``` + # su userName + ``` + +4. 配置非root用户的环境变量。使用vim打开~/.bashrc文件: + + ``` + $ vim ~/.bashrc + ``` + 并在末尾加上如下内容后保存。 + + ``` + export LIBVIRT_DEFAULT_URI="qemu:///system" + ``` + +5. 在虚拟机XML配置文件中的domain根元素中添加如下内容,使qemu-kvm进程可以访问磁盘镜像文件。 + + ``` + + ``` diff --git "a/content/zh/docs/Virtualization/\345\256\211\350\243\205\350\231\232\346\213\237\345\214\226.md" "b/content/zh/docs/Virtualization/\345\256\211\350\243\205\350\231\232\346\213\237\345\214\226.md" index 1c535ffa8..c8ab1946b 100644 --- "a/content/zh/docs/Virtualization/\345\256\211\350\243\205\350\231\232\346\213\237\345\214\226.md" +++ "b/content/zh/docs/Virtualization/\345\256\211\350\243\205\350\231\232\346\213\237\345\214\226.md" @@ -30,7 +30,7 @@ #### 前提条件 - 已经配置yum源。配置方式请参见《openEuler 20.03 LTS 管理员指南》。 -- 安装操作需要管理员权限。 +- 安装操作需要root用户权限。 #### 安装步骤 @@ -61,12 +61,12 @@ 1. 查看内核是否支持KVM虚拟化,即查看/dev/kvm和/sys/module/kvm文件是否存在,命令和回显如下: ``` - # ls /dev/kvm + $ ls /dev/kvm /dev/kvm ``` ``` - # ls /sys/module/kvm + $ ls /sys/module/kvm parameters uevent ``` @@ -75,7 +75,7 @@ 2. 确认QEMU是否安装成功。若安装成功则可以看到QEMU软件包信息,命令和回显如下: ``` - # rpm -qi qemu + $ rpm -qi qemu Name : qemu Epoch : 2 Version : 4.0.1 @@ -109,7 +109,7 @@ 3. 确认libvirt是否安装成功。若安装成功则可以看到libvirt软件包信息,命令和回显如下: ``` - # rpm -qi libvirt + $ rpm -qi libvirt Name : libvirt Version : 5.5.0 Release : 1 @@ -134,7 +134,7 @@ 4. 查看libvirt服务是否启动成功。若服务处于“Active”状态,说明服务启动成功,可以正常使用libvirt提供的virsh命令行工具,命令和回显如下: ``` - # systemctl status libvirtd + $ systemctl status libvirtd ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-08-06 09:36:01 CST; 5h 12min ago diff --git "a/content/zh/docs/Virtualization/\346\234\200\344\275\263\345\256\236\350\267\265.md" "b/content/zh/docs/Virtualization/\346\234\200\344\275\263\345\256\236\350\267\265.md" index 709d70af2..9626b4e46 100644 --- "a/content/zh/docs/Virtualization/\346\234\200\344\275\263\345\256\236\350\267\265.md" +++ "b/content/zh/docs/Virtualization/\346\234\200\344\275\263\345\256\236\350\267\265.md" @@ -31,7 +31,7 @@ 系统默认开启了halt-polling特性,polling的时间默认为500000ns。用户可以通过文件halt\_poll\_ns内容动态修改vCPU用于halt-polling的时间,单位为ns。 -例如设置polling时间为400000的命令如下: +例如设置polling时间为400000,使用root用户执行命令如下: ``` # echo 400000 > /sys/module/kvm/parameters/halt_poll_ns @@ -158,7 +158,7 @@ kworker是Linux内核实现的per-CPU线程,用来执行系统中的workqueue #### 操作步骤 -用户可以通过修改/sys/devices/virtual/workqueue/cpumask文件,将workqueue中的任务绑定到cpumask中指定的CPU上。cpumask中的掩码以十六进制表示,例如将kworker绑定到CPU0\~CPU7上,对应掩码为ff,修改的命令如下: +用户可以通过修改/sys/devices/virtual/workqueue/cpumask文件,将workqueue中的任务绑定到cpumask中指定的CPU上。cpumask中的掩码以十六进制表示,例如将kworker绑定到CPU0\~CPU7上,对应掩码为ff,使用root用户执行命令如下: ``` # echo ff > /sys/devices/virtual/workqueue/cpumask @@ -235,7 +235,7 @@ kworker是Linux内核实现的per-CPU线程,用来执行系统中的workqueue openEuler默认关闭libvirt远程调用功能,这里给出开启libvirt远程调用和libvirt鉴权功能的方法。 -1. 登录主机。 +1. 使用root用户登录主机。 2. 修改libvirt服务配置文件/etc/libvirt/libvirtd.conf,开启libvirt远程调用和libvirt鉴权功能。例如使用基于SASL(Simple Authentication and Security Layer)协议的TCP远程调用配置参考如下: ``` @@ -293,7 +293,7 @@ openEuler默认关闭libvirt远程调用功能,这里给出开启libvirt远程 #### 管理SASL -这里给出管理SASL用户的操作。 +这里给出管理SASL用户的操作,请使用root用户操作。 - 查询数据库中存在的用户 @@ -322,7 +322,7 @@ qemu-ga(Qemu Guest Agent)它是运行在虚拟机内部的守护进程,它 #### 操作方法 -添加qemu-ga黑名单的操作步骤如下: +请使用root用户按照如下操作步骤添加qemu-ga黑名单: 1. 登录虚拟机,确定qemu-guest-agent服务存在且处于运行状态。 @@ -380,7 +380,7 @@ qemu-ga(Qemu Guest Agent)它是运行在虚拟机内部的守护进程,它 #### 开启sVirt保护 -**一、开启主机的SELinux** +**一、使用root用户按照如下操作步骤开启主机的SELinux** 1. 登录主机。 2. 开启主机SELinux功能。 diff --git "a/content/zh/docs/Virtualization/\347\256\241\347\220\206\347\263\273\347\273\237\350\265\204\346\272\220.md" "b/content/zh/docs/Virtualization/\347\256\241\347\220\206\347\263\273\347\273\237\350\265\204\346\272\220.md" index 5d4c9d4fe..0d30bd18f 100644 --- "a/content/zh/docs/Virtualization/\347\256\241\347\220\206\347\263\273\347\273\237\350\265\204\346\272\220.md" +++ "b/content/zh/docs/Virtualization/\347\256\241\347\220\206\347\263\273\347\273\237\350\265\204\346\272\220.md" @@ -39,7 +39,7 @@ CPU份额表示一个虚拟机竞争物理CPU计算资源的能力大小总和 - 查看虚拟机的当前CPU份额: ``` - # virsh schedinfo + $ virsh schedinfo Scheduler : posix cpu_shares : 1024 vcpu_period : 100000 @@ -56,13 +56,13 @@ CPU份额表示一个虚拟机竞争物理CPU计算资源的能力大小总和 - 在线修改:修改处于running状态的虚拟机的当前CPU份额,使用带**--live**参数的virsh schedinfo命令: ``` - # virsh schedinfo --live cpu_shares= + $ virsh schedinfo --live cpu_shares= ``` 比如将正在运行的虚拟机openEulerVM的CPU份额从1024改为2048: ``` - # virsh schedinfo openEulerVM --live cpu_shares=2048 + $ virsh schedinfo openEulerVM --live cpu_shares=2048 Scheduler : posix cpu_shares : 2048 vcpu_period : 100000 @@ -80,13 +80,13 @@ CPU份额表示一个虚拟机竞争物理CPU计算资源的能力大小总和 - 持久化修改:在libvirt内部配置中修改虚拟机的CPU份额,使用带**--config**参数的virsh schedinfo命令: ``` - # virsh schedinfo --config cpu_shares= + $ virsh schedinfo --config cpu_shares= ``` 比如将虚拟机openEulerVM的CPU份额从1024改为2048: ``` - # virsh schedinfo openEulerVM --config cpu_shares=2048 + $ virsh schedinfo openEulerVM --config cpu_shares=2048 Scheduler : posix cpu_shares : 2048 vcpu_period : 0 @@ -99,7 +99,7 @@ CPU份额表示一个虚拟机竞争物理CPU计算资源的能力大小总和 iothread_quota : 0 ``` - 对cpu\_shares值的修改不会立即生效,在虚拟机openEulerVM下一次启动后才生效,并持久生效。虚拟机euler能得到的运行时间将是原来的2倍。 + 对cpu\_shares值的修改不会立即生效,在虚拟机openEulerVM下一次启动后才生效,并持久生效。虚拟机openEulerVM能得到的运行时间将是原来的2倍。 ### 绑定QEMU进程至物理CPU @@ -115,7 +115,7 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 查看QEMU进程当前绑定的物理CPU范围: ``` - # virsh emulatorpin openEulerVM + $ virsh emulatorpin openEulerVM emulator: CPU Affinity ---------------------------------- *: 0-63 @@ -126,9 +126,9 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 在线绑定:修改处于running状态的虚拟机对应的QEMU进程的绑定关系,使用带**--live**参数的vcpu emulatorpin命令: ``` - # virsh emulatorpin openEulerVM --live 2-3 + $ virsh emulatorpin openEulerVM --live 2-3 - # virsh emulatorpin openEulerVM + $ virsh emulatorpin openEulerVM emulator: CPU Affinity ---------------------------------- *: 2-3 @@ -139,15 +139,15 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 持久化绑定:在libvirt内部配置中修改虚拟机对应的QEMU进程的绑定关系,使用带**--config**参数的virsh emulatorpin命令: ``` - # virsh emulatorpin openEulerVM --config 0-3,^1 + $ virsh emulatorpin openEulerVM --config 0-3,^1 - # virsh emulatorpin euler + $ virsh emulatorpin openEulerVM --config emulator: CPU Affinity ---------------------------------- *: 0,2-3 ``` - 以上命令把虚拟机_open__Euler__VM_对应的QEMU进程绑定到物理CPU0、2、3上,即限制了QEMU进程只在这三个物理CPU上调度。这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效。 + 以上命令把虚拟机_open__Euler__VM_对应的QEMU进程绑定到物理CPU0、2、3上,即限制了QEMU进程只在这三个物理CPU上调度。**这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效**。 ### 调整虚拟CPU绑定关系 @@ -163,7 +163,7 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 查看虚拟机的当前vCPU绑定信息: ``` - # virsh vcpupin openEulerVM + $ virsh vcpupin openEulerVM VCPU CPU Affinity ---------------------- 0 0-63 @@ -177,9 +177,9 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 在线调整:修改处于running状态的虚拟机的当前vCPU绑定关系,使用带**--live**参数的vcpu vcpupin命令: ``` - # virsh vcpupin openEulerVM --live 0 2-3 + $ virsh vcpupin openEulerVM --live 0 2-3 - # virsh vcpupin euler + $ virsh vcpupin openEulerVM VCPU CPU Affinity ---------------------- 0 2-3 @@ -193,9 +193,9 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 - 持久化调整:在libvirt内部配置中修改虚拟机的vCPU绑定关系,使用带**--config**参数的virsh vcpupin命令: ``` - # virsh vcpupin openEulerVM --config 0 0-3,^1 + $ virsh vcpupin openEulerVM --config 0 0-3,^1 - # virsh vcpupin openEulerVM + $ virsh vcpupin openEulerVM --config VCPU CPU Affinity ---------------------- 0 0,2-3 @@ -204,7 +204,7 @@ QEMU主进程绑定特性是将QEMU主进程绑定到特定的物理CPU范围内 3 0-63 ``` - 以上命令把虚拟机_open__Euler__VM_的vCPU0绑定到物理CPU0、2、3上,即限制了vCPU0只在这三个物理CPU上调度。这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效。 + 以上命令把虚拟机_open__Euler__VM_的vCPU0绑定到物理CPU0、2、3上,即限制了vCPU0只在这三个物理CPU上调度。**这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效**。 ## 管理虚拟内存 @@ -224,7 +224,7 @@ NUMA(Non Uniform Memory Access Architecture) 模式是一种分布式存储 - 查看host的NUMA拓扑结构: ``` - # numactl -H + $ numactl -H available: 4 nodes (0-3) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 node 0 size: 31571 MB diff --git "a/content/zh/docs/Virtualization/\347\256\241\347\220\206\350\256\276\345\244\207.md" "b/content/zh/docs/Virtualization/\347\256\241\347\220\206\350\256\276\345\244\207.md" index 25ef2a6f9..8ca319cf0 100644 --- "a/content/zh/docs/Virtualization/\347\256\241\347\220\206\350\256\276\345\244\207.md" +++ "b/content/zh/docs/Virtualization/\347\256\241\347\220\206\350\256\276\345\244\207.md" @@ -89,7 +89,7 @@ 使用virsh attach-device命令挂载virtio-scsi虚拟磁盘: ``` - # virsh attach-device + $ virsh attach-device ``` 上述命令可以为虚拟机在线挂载磁盘,其中磁盘信息由attach-device.xml文件指定。下面是一个attach-device.xml文件的例子: @@ -112,7 +112,7 @@ 通过在线挂载的磁盘,如果不需要再使用,可以通过virsh detach命令动态卸载: ``` - # virsh detach-device + $ virsh detach-device ``` 其中,detach-device.xml指定了需要卸载的磁盘的XML信息,与动态挂载时的XML信息保持一致。 @@ -133,7 +133,7 @@ 使用virsh attach-device命令挂载vhost-net虚拟网卡: ``` - # virsh attach-device + $ virsh attach-device ``` 上述命令可以为虚拟机在线挂载vhost-net网卡,其中网卡信息由attach-device.xml文件指定。下面是一个attach-device.xml文件的例子: @@ -156,7 +156,7 @@ 通过在线挂载的网卡,如果不需要再使用,可以通过virsh detach命令动态卸载: ``` - # virsh detach-device + $ virsh detach-device ``` 其中,detach-device.xml指定了需要卸载虚拟网卡的XML信息,与动态挂载时的XML信息保持一致。 @@ -185,13 +185,13 @@ Linux虚拟机串口控制台,即虚拟机串口连接到宿主机的一个伪 - 使用virsh console命令连接到正在运行的虚拟机的pty串口。 ``` - # virsh console + $ virsh console ``` - 如果要确保没有遗漏任何串口消息,请在启动虚拟机时使用--console选项连接到串口。 ``` - # virsh start --console + $ virsh start --console ``` @@ -307,7 +307,7 @@ SR-IOV(Single Root I/O Virtualizaiton)是一种基于硬件的虚拟化解 #### 操作方法 -配置SR-IOV直通网卡的操作步骤如下: +请使用root用户按照如下操作步骤配置SR-IOV直通网卡: 1. 开启网卡的SR-IOV模式。 1. 请确保Guest OS有网卡供应商提供的VF驱动支持,否则Guest OS内VF无法正常工作。 @@ -568,7 +568,7 @@ USB设备的XML描述: 通过lsusb命令(需要安装usbutils软件包)查询主机上的USB设备信息,包含bus地址、device地址、设备厂商ID、设备ID和产品描述信息等。例如: ``` - # lsusb + $ lsusb ``` ``` @@ -595,25 +595,25 @@ USB设备的XML描述: - 热插USB设备,只对当前运行的虚拟机有效,虚拟机冷重启后需要重新配置。 ``` - # virsh attach-device openEulerVM usb.xml --live + $ virsh attach-device openEulerVM usb.xml --live ``` - 热插USB设备,持久化该配置,即该虚拟机重启后该设备会自动直通给该虚拟机使用。 ``` - # virsh attach-device openEulerVM usb.xml --config + $ virsh attach-device openEulerVM usb.xml --config ``` - 热拔USB设备,只对当前运行的虚拟机有效,持久化配置的USB设备在虚拟机重启后USB设备会自动直通给该虚拟机。 ``` - # virsh detach-device openEulerVM usb.xml --live + $ virsh detach-device openEulerVM usb.xml --live ``` - 热拔USB设备,持久化该配置。 ``` - # virsh detach-device openEulerVM usb.xml --config + $ virsh detach-device openEulerVM usb.xml --config ``` @@ -634,7 +634,7 @@ USB设备的XML描述: 1. 登录主机,通过virsh domblklist命令查询虚拟机使用的磁盘。 ``` - # virsh domblklist openEulerVM + $ virsh domblklist openEulerVM Target Source --------------------------------------------- vda /mnt/openEuler-image.qcow2 @@ -644,7 +644,7 @@ USB设备的XML描述: 1. 创建虚拟机磁盘快照_openEuler-snapshot1.qcow2_,命令及回显如下: ``` - # virsh snapshot-create-as --domain openEulerVM --disk-only --diskspec vda,snapshot=external,file=/mnt/openEuler-snapshot1.qcow2 --atomic + $ virsh snapshot-create-as --domain openEulerVM --disk-only --diskspec vda,snapshot=external,file=/mnt/openEuler-snapshot1.qcow2 --atomic Domain snapshot 1582605802 created ``` @@ -652,7 +652,7 @@ USB设备的XML描述: 1. 磁盘快照查询操作。 ``` - # virsh snapshot-list openEulerVM + $ virsh snapshot-list openEulerVM Name Creation Time State --------------------------------------------------------- 1582605802 2020-02-25 12:43:22 +0800 disk-snapshot -- Gitee