libvirt(virsh命令介绍)

来源:互联网 发布:ant linux 环境变量 编辑:程序博客网 时间:2024/05/14 22:36

virsh命令使用

       virsh <command> <domain-id> [OPTIONS]

        virsh既有命令行模式,也有交互模式,在命令行直接输入virsh就进入交互模式,virsh 后面跟命令参数,则是命令行模式。下面主要介绍交互式用法。

virsh 回车

help <command> 单独help命令会显示所有的可用命令,如果后面有command,则会简单的解释该命令的用法

quit/exit 退出交互窗口

version 显示相关版本号

cd directory 从当前目录跳转到directory,此命令只能用在交互模式

pwd  显示当前目录

connect URI optional 连接到超级管理程序,

uri  显示超级管理程序的标准URI,可以用在shell mode

hostname 显示超级管理程序的主机名

nodeinfo  显示一个node的基本信息

list optional 显示正在running的domin,虚拟机共有7中状态

          running  虚拟机正在运行在cpu上

 idel  虚拟机是闲置的,没有在运行,在等待IO或者休眠时虚拟机会进入这种状态

 paused  虚拟机处于暂停状态,一般情况下是被admin运行了virsh   suspend才会处于这种状态,但是仍然消耗资源,只不过不被超级管理程序调度而已。

 shutdown 虚拟机在关闭过程中

 shut off  虚拟机没有运行,已经完全关闭

 crashed  虚拟机崩溃

 dying  虚拟机处于垂死的状态,但是又没完全关闭或崩溃

virsh shutdown <domin> 关闭虚拟机domin,如果不设置domin则关闭所有的虚拟机

virsh destory <domin> 强制关闭虚拟机

virsh start <domin>  启动虚拟机

 

以下的命令可以直接操作domain

autostart [--disable] domain-id 配置一个domain后自动该domain disable是禁止启动

console domain-id 通过串行线路连接至虚拟机

create FILE optional --console --paused 通过XML文件才创建一个虚拟机,也可以先用dumpxml导出已有的虚拟机的配置文件,然后修改使用,默认的虚拟机创建后都是直接running,加上paused参数后,新创建的虚拟机不会直接running

 

define FILE  从XML配置文件定义一个domian,相当于注册一个domain但是不启动。

destroy domain-id 直接关闭一个虚拟机,不给机器反映时间,类似于直接拔电源

dommemstat domain  获取domain的内存状态

edit domain-id  编辑XML配置文件,等效于:

            virsh dumpxml domain > domain.xml

            edit domain.xml

            virsh define domain.xml

managedsave domain-id  保存当前运行的虚拟机的状态,当虚拟机再次启动的时候会恢复到之前保存的状态

migrate optional --live --suspend domain-id desturi migrateuri 迁移虚拟机到其他机器 --live表示动态迁移,--suspend表示迁移到目的地时虚拟机处于paused状态,desturi是迁移到目的地主机的URI,migrateuri是迁移机器的URI。

save domain-id state-file 保存一个正在运行的虚拟机的状态到一个文件中,以便以后恢复到此状态,一旦保存后虚拟机将不会再运行,占有的资源也会释放,virsh restore可以恢复到此前的状态。eg:save 12 /tmp/test

restore state-file 恢复到之前保存的一个状态.eg:restore /tmp/test

setmem domain-id kilobytes 改变当前虚拟机分配的内存,立即生效,单位KB

setmaxmem domain-id kilobytes  设置一个虚拟机可分配的最大内存,它不改变当前使用的内存

setvcpus domain-id count  改变当前虚拟机的vcpu个数

shutdown domain-id 正常的关闭一个虚拟机

start domain-name  启动一个虚拟机

suspend domain-id  挂起一个正在运行的虚拟机,该虚拟机仍旧占用资源。

resume domain-id 从挂起状态恢复一个虚拟机

vcpuinfo domain-id 显示一些虚拟机的vcpu信息,包括几个vcpu,运行时间,和那个物理cpu亲和

vcpupin domain-id vcpu cpulist  把vcpu绑定到物理cpu,vcpu的数量必须提供,cpulist是一个以逗号分割的物理cpu列表

vncdisplay domain-id  显示vnc监听的地址和端口

 

快照命令

snapshots可以保存一个domain的disk memory device在某个时间点的状态以便将来会使用到,保存的文件名称必须是唯一的

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@mercury.example.com/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://root@example.com/system   (remote access, SSH tunnelled)



命令详单:


help            打印帮助
    attach-device   从一个XML文件附加装置
    attach-disk     附加磁盘设备
    attach-interface 获得网络界面
    autostart       自动开始一个域
    capabilities    性能
    cd              change the current directory
    connect         连接(重新连接)到 hypervisor
    console         连接到客户会话
    cpu-baseline    compute baseline CPU
    cpu-compare     compare host CPU with a CPU described by an XML file
    create          从一个 XML 文件创建一个域
    start           开始一个(以前定义的)非活跃的域
    destroy         删除一个域
    detach-device   从一个 XML 文件分离设备
    detach-disk     分离磁盘设备
    detach-interface 分离网络界面
    define          从一个 XML 文件定义(但不开始)一个域
    domid           把一个域名或 UUID 转换为域 id
    domuuid         把一个域名或 id 转换为域 UUID
    dominfo         域信息
    domjobinfo      domain job information
    domjobabort     abort active domain job
    domname         将域 id 或 UUID 转换为域名
    domstate        域状态
    domblkstat      获得域设备块状态
    domifstat       获得域网络接口状态
    dommemstat      get memory statistics for a domain
    domblkinfo      domain block device size information
    domxml-from-native Convert native config to domain XML
    domxml-to-native Convert domain XML to native config
    dumpxml         XML 中的域信息
    edit            编辑某个域的 XML 配置
    find-storage-pool-sources 发现潜在存储池源
    find-storage-pool-sources-as 找到潜在存储池源
    freecell        NUMA可用内存
    hostname        打印管理程序主机名
    list            列出域
    migrate         将域迁移到另一个主机中
    migrate-setmaxdowntime set maximum tolerable downtime
    net-autostart   自动开始网络
    net-create      从一个 XML 文件创建一个网络
    net-define      从一个 XML 文件定义(但不开始)一个网络
    net-destroy     删除一个网络
    net-dumpxml     XML 中的网络信息
    net-edit        为网络编辑 XML 配置
    net-list        列出网络
    net-name        把一个网络UUID 转换为网络名
    net-start       开始一个(以前定义的)不活跃的网络
    net-undefine    取消定义一个非活跃的网络
    net-uuid        把一个网络名转换为网络UUID
    iface-list      list physical host interfaces
    iface-name      convert an interface MAC address to interface name
    iface-mac       convert an interface name to interface MAC address
    iface-dumpxml   interface information in XML
    iface-define    define (but don't start) a physical host interface from an XML file
    iface-undefine  undefine a physical host interface (remove it from configuration)
    iface-edit      edit XML configuration for a physical host interface
    iface-start     start a physical host interface (enable it / "if-up")
    iface-destroy   destroy a physical host interface (disable it / "if-down")
    managedsave     managed save of a domain state
    nodeinfo        节点信息
    nodedev-list    这台主机中中的枚举设备
    nodedev-dumpxml XML 中的节点设备详情
    nodedev-dettach dettach node device from its device driver
    nodedev-reattach reattach node device to its device driver
    nodedev-reset   重置节点设备
    nodedev-create  create a device defined by an XML file on the node
    nodedev-destroy destroy a device on the node
    nwfilter-define define or update a network filter from an XML file
    nwfilter-undefine undefine a network filter
    nwfilter-dumpxml network filter information in XML
    nwfilter-list   list network filters
    nwfilter-edit   edit XML configuration for a network filter
    pool-autostart  自动启动某个池
    pool-build      建立池
    pool-create     从一个 XML 文件中创建一个池
    pool-create-as  从一组变量中创建一个池
    pool-define     在一个 XML 文件中定义(但不启动)一个池
    pool-define-as  在一组变量中定义池
    pool-destroy    销毁池
    pool-delete     删除池
    pool-dumpxml    XML 中的池信息
    pool-edit       为存储池编辑 XML 配置
    pool-info       存储池信息
    pool-list       列出池
    pool-name       将池 UUID 转换为池名称
    pool-refresh    刷新池
    pool-start      启动一个(以前定义的)非活跃的池
    pool-undefine   取消定义一个不活跃的池
    pool-uuid       把一个池名称转换为池 UUID
    secret-define   define or modify a secret from an XML file
    secret-dumpxml  secret attributes in XML
    secret-set-value set a secret value
    secret-get-value Output a secret value
    secret-undefine undefine a secret
    secret-list     list secrets
    pwd             print the current directory
    quit            退出这个非交互式终端
    exit            退出这个非交互式终端
    reboot          重新启动一个域
    restore         从一个存在一个文件中的状态恢复一个域
    resume          重新恢复一个域
    save            把一个域的状态保存到一个文件
    schedinfo       显示/设置日程安排变量
    dump            把一个域的内核 dump 到一个文件中以方便分析
    shutdown        关闭一个域
    setmem          改变内存的分配
    setmaxmem       改变最大内存限制值
    setvcpus        改变虚拟 CPU 的号
    suspend         挂起一个域
    ttyconsole      tty 控制台
    undefine        取消定义一个非活跃的域
    update-device   update device from an XML file
    uri             打印管理程序典型的URI
    vol-create      从一个 XML 文件创建一个卷
    vol-create-from create a vol, using another volume as input
    vol-create-as   从一组变量中创建卷
    vol-clone       clone a volume.
    vol-delete      删除卷
    vol-wipe        wipe a vol
    vol-dumpxml     XML 中的卷信息
    vol-info        存储卷信息
    vol-list        列出卷
    vol-pool        returns the storage pool for a given volume key or path
    vol-path        returns the volume path for a given volume name or key
    vol-name        returns the volume name for a given volume key or path
    vol-key         returns the volume key for a given volume name or path
    vcpuinfo        域 vcpu 的信息
    vcpupin         控制域 vcpu affinity
    version         显示版本
    vncdisplay      vnc 显示
    snapshot-create Create a snapshot
    snapshot-current Get the current snapshot
    snapshot-delete Delete a domain snapshot
    snapshot-dumpxml Dump XML for a domain snapshot
    snapshot-list   List snapshots for a domain
    snapshot-revert Revert a domain to a snapshot

0 0
原创粉丝点击