当前位置:首页 > 虚拟机 > 正文

virsh创建虚拟机命令


一、Virsh基本命令与创建存储池\存储卷

在虚拟化管理中,Virsh是Libvirt的命令行工具,它为我们提供了丰富的操作虚拟机和存储资源的手段。查看执行状态以及创建存储池和卷等重要任务可以通过简单的命令行交互来完成。


1.使用虚拟机
显示虚拟机列表:使用virshlist显示正在运行的虚拟机,使用virshlist-all显示所有虚拟机(包括关闭的机器)。
操作虚拟机状态:关闭虚拟机的方法有很多种,比如正常关闭的virshshutdown和强制关闭的virshdestroy。
启动和暂停:使用virshstart或virshresume启动暂停的虚拟机。
2.管理存储池和卷

管理存储池与virshpool-list和virshpool-list一样重要:它们都分别显示存储池列表和详细信息。创建存储池时,如果手动创建,可以使用定义,然后通过virshpool-start启动。


建存储卷时,例如使用qemu-imgcreate-fqcow2/home/1G创建1GBqcow2格式磁盘,然后使用virshattach-diskgeneric/home/在虚拟机上创建存储卷。


3.存储池和卷管理
查看卷状态:使用virshdomblklist检查虚拟机磁盘位置。运行时注意安装情况。
删除资源:使用virshpool-destroy和virshvol-delete--pool分别删除存储池和卷。
4.高级命令和注意事项
要查看虚拟机详细信息和状态,请使用virshdumpxml和virshdomstate。
编辑虚拟机配置文件,例如virshedit。
设置内存和虚拟机设置,例如virshsetmem和virshsetvcpus。

需要注意的是,虚拟机系统盘不能设置为只读或共享,否则可能会影响正常启动。另外,通过Virt-manager手动操作也是一种选择,但掌握命令行工具的使用在开发过程中效率更高。


总结

Virsh是虚拟化管理的得力助手。掌握其基本命令并管理存储资源可以使虚拟化环境的维护和操作更加得心应手。通过实践和深入学习,您将能够更好地应对虚拟化环境的日常挑战。


二、如何在KVMHA集群中增加虚拟机使用KVM虚拟化配置高可用性集群不仅具有成本效益,而且还可以确保您的工作负载即使在主机发生故障时也能继续运行。然而,对于那些不熟悉该过程的人来说,配置高可用性集群可能会很困难。
之前,在如何在预算内构建KVMHA集群一文中,我向您展示了如何创建基本集群并配置OCFS2共享文件系统。本文介绍如何安装虚拟机、将其添加到集群并验证集群配置是否正常工作。
安装KVM虚拟机
要安装KVM虚拟机,libvirt服务必须在虚拟主机上运行。您可以使用命令systemctlstartlibvirtd;systemctlenablelibvirtd运行libvirt服务。
有两种方式开始安装:使用VirtualMachineManager图形工具或virt-install命令行。如果您可以访问图形环境或者可以使用脚本创建虚拟机,则virt-manager工具非常有用。
此命令指定新虚拟机的所有属性。虚拟机名称非常重要,因为在创建虚拟机集群资源时会用到它。。在此示例中,虚拟机分配了512MB内存,并在/shared目录中拥有4GB硬盘。请注意,假定该目录位于您之前创建的OCFS2数据卷上。
上述步骤需要交互式安装。如果没有终端连接到虚拟主机,则无法使用上述安装类型,只能自动安装。要了解如何配置AutoYast或Kickstart服务器以完成自动化安装,您应该参阅相关文档。
为KVM虚拟机配置集群资源
要将虚拟机添加到集群,您必须使集群知道虚拟机的配置。为了实现这个目标,我们需要将虚拟机的XML配置转储到文本文件中。首先,使用virt-installvirshlist--allvirt-install命令查找虚拟机的名称。使用的虚拟机名称为smallcent。集群需要访问包含虚拟机定义的XML文件,因此需要将其转储到共享存储。为此,请输入命令vvirshdumpxmlsmallcent>/shared/。
此时,您可以在集群中创建虚拟机资源。VirtualDomain资源代理可以实现这一目标。您可以使用crmconfigureedit命令添加以下配置:
为了让集群管理其资源,集群中的所有节点都必须有权访问XML配置文件。因此,您需要将XML文件保存到共享存储中。上一个命令使用VirtualDomain资源代理创建了一个名为smallcent的资源。要告诉资源代理您的虚拟机管理程序的位置,请在资源定义中包含hypervisor="qemu://system"。要使此配置生效,主机必须配置为允许通过其他主机自动登录。接下来,您需要指定集群在哪里可以找到XML配置来管理其资源。
您现在可以使用crm_mon命令来验证配置是否正在运行。如果一切配置正确,您的KVM高可用性集群应该可以运行。