首页 > 代码库 > libvirt(virsh命令总结)

libvirt(virsh命令总结)

virsh回车进入交互式界面:

  version

  pwd

  hostname  显示本节点主机名

  nodeinfo    显示节点信息

  list --all   显示所有云主机

  7种状态:

    running   运行中

    idel     空闲,未运行

    paused   暂停状态

    shutdown 关闭

    crashed  虚拟机崩溃

    dying   垂死状态,但是又没有完全关闭或崩溃

    shutdown <domain>  

    destroy    <domain>  强制关闭虚拟机(相当于直接拨电源)

    start   <domain>  启动虚拟机

    edit  <domain>     编辑该虚拟机的xml文件

    dommemstat <domain> 获取domain的内存状态

    suspend  <domain>      挂起一个正在运行的虚拟机,该虚拟机仍占资源;

    resume  <domain>    从挂起状态恢复一下虚拟机

    vcpuinfo <domain>    显示一些虚拟机的vcpu的信息

    vncdisplay  <domain>    显示vnc监听地址和端口

快照相关:

  snapshot-create <domain> xmlfile   给domain创建一个snapshot,详细内容保存在xmlfile中

  snapshot-current <domain>      显示一个domain的当前的snapshot

  snapshot-list <domain>         显示一个domain的所有的snapshot

  snapshot-revert <domain> snapshot       恢复一个domian到以前的snapshot

  snapshot-delete <domain> snapshot --children   删除一个domain的snapshot

 如何用libvirt远程管理虚拟机?

  要用libvirt连接到超级管理程序,我们需要一个URI,这个URI配合virsh和virt-viewer命令使用,后面可以跟一些可选项,virt-viewer可以调用一些链接参数,例如:virsh -c qemu:///system 当链接到远程机器时,可以定义几种使用的协议:ssh,tcp,tls。当链接到远程机器时,需要使用远程主机的用户和主机名进行链接,如果没有定义链接用户,则会使用本机环境的$USER的用户进行链接,当连接到qemu hypervisor时,接受两种链接类型:system可以有所有的访问权限,session有限制的访问。例如:

  使用full access链接至本机的qemu hypervisor,前面的-c 是为了执行后面的list命令(--connect)

  virsh -c  qemu:///system list

  使用full access链接至远程主机的qemu hypervisor,每次都要输入ssh密码,改成ssh无密码登陆就不需要输入密码了,直接显示结果。

  virsh -c qemu+ssh://tux@mercur/system   直接进入交互virsh模式

  virsh -c qemu+ssh://10.1.1.8/system list   直接显示list后的结果

  其余连接格式如下:

  qemu:///session                      (local access to per-user instance)
  qemu+unix:///session                 (local access to per-user instance)
  qemu:///system                       (local access to system instance)
  qemu+unix:///system                  (local access to system instance)
  qemu://example.com/system            (remote access, TLS/x509)  
  qemu+tcp://example.com/system        (remote access, SASl/Kerberos)
  qemu+ssh:///system   (remote access, SSH tunnelled)

 

libvirt(virsh命令总结)