virsh 命令行:
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh define ubuntu.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh start ubuntu #启动名字为ubuntu的非活动虚拟机
virsh create ubuntu.xml # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend ubuntu # 暂停虚拟机
virsh resume ubuntu # 启动暂停的虚拟机
virsh shutdown ubuntu # 正常关闭虚拟机
virsh destroy ubuntu # 强制关闭虚拟机
virsh dominfo ubuntu #显示虚拟机的基本信息
virsh domname 2 # 显示id号为2的虚拟机名
virsh domid ubuntu # 显示虚拟机id号
virsh domuuid ubuntu # 显示虚拟机的uuid
virsh domstate ubuntu # 显示虚拟机的当前状态
virsh dumpxml ubuntu # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem ubuntu 512000 #给不活动虚拟机设置内存大小
virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数
virsh edit ubuntu # 编辑配置文件(一般是在刚定义完虚拟机之后)
virsh vncdisplay ubuntu # 查看虚拟机VNC端口
sudo sleep 5;sudo virsh reset zx_test002
sudo qemu-img create -f vpc centos_7_9_x64_20G_alibase_20210521.vhd 20G
qemu:
- qemu-img工具的create命令,创建镜像文件,命令格式为:
$ qemu-img create -f <imgFormat> -o <fileOption> <fileName> <diskSize>
- 其中,各参数含义如下:
-
- _imgFormat_:镜像格式,取值为raw, qcow2等。
- _fileOption_:文件选项,用于设置镜像文件的特性,如指定后端镜像文件,压缩,加密等特性。
- _fileName_:文件名称。
- _diskSize_:磁盘大小,用于指定块磁盘设备的大小,支持的单位有K、M、G、T,分别代表KiB、MiB、GiB、TiB。
- 例如,创建一个磁盘设备大小为4GB、格式为qcow2的镜像文件openEuler-imge.qcow2,命令和回显如下:
$ qemu-img create -f qcow2 openEuler-image.qcow2 4G Formatting 'openEuler-image.qcow2', fmt=qcow2 size=4294967296 cluster_size=65536 lazy_refcounts=off refcount_bits=16
查询当前虚拟机镜像磁盘空间大小,命令如下:
$ qemu-img info <imgFiLeName>
例如,查询openEuler-image.qcow2镜像磁盘空间大小的命令和回显如下,说明该镜像磁盘空间大小为4GiB。
$ qemu-img info openEuler-image.qcow2
虚拟机生命周期管理相关命令的示例:
- 创建虚拟机
虚拟机XML配置文件为openEulerVM.xml,命令和回显如下:
# virsh define openEulerVM.xml Domain openEulerVM defined from openEulerVM.xml
- 启动虚拟机
启动名称为openEulerVM的虚拟机,命令和回显如下:
# virsh start openEulerVM Domain openEulerVM started
- 重启虚拟机
重启名称为openEulerVM的虚拟机,命令和回显如下:
# virsh reboot openEulerVM Domain openEulerVM is being rebooted
- 关闭虚拟机
关闭名称为openEulerVM的虚拟机,命令和回显如下:
# virsh shutdown openEulerVM Domain openEulerVM is being shutdown
- 销毁虚拟机
-
- 若虚拟机启动时未使用nvram文件,销毁虚拟机命令如下:
# virsh undefine <VMInstanse>
-
- 若虚拟机启动时使用了nvram文件,销毁该虚拟机需要指定nvram的处理策略,命令如下:
# virsh undefine <VMInstanse> <strategy>
-
- 其中<strategy>为销毁虚拟机的策略,可取值:
nvram:销毁虚拟机的同时删除其对应的nvram文件。
keep-nvram:销毁虚拟机,但保留其对应的nvram文件。
例如,删除虚拟机openEulerVM及其nvram文件,命令和回显如下:
- 其中<strategy>为销毁虚拟机的策略,可取值:
# virsh undefine openEulerVM --nvram Domain openEulerVM has been undefined
实例:
1、使用ssh登入服务器:ssh 193.169=8.195.248
2、创建磁盘: qemu-img create -f qcow2 rhel6.5x64.img 15G
3、生成xml: virsh dumpxml rhel6.5x64 > rhelxml
4、编辑xml: vimrhelxml
a\修改name:rhel6.5x64
b\修改type: type=qcow2
c\修改mac地址: 改成不一样的就可以:比如: a1->a2;
d\修改两个source地址: iso img
e\去除uid那一行
5、定义xml:virsh define rhelxml
6、开启rhel6.5x64:virsh start rhel6.5x64
另外一些查看命令:
virsh list --all:查看所有的虚拟机的信息
virsh vncdisplay ID;
vnc viewer address:oprt