KVM基本功能管理

1) 查看命令帮助
[root@localhost ~]# virsh -h
2) 查看KVM的配置文件存放目录
[root@localhost ~]# ls -l /etc/libvirt/qemu
总用量 12
drwxr-xr-x. 2 root root 23 9月 28 17:20 autostart
-rw-------. 1 root root 4364 9月 27 12:01 centos7.0.xml
drwx------. 3 root root 42 9月 24 22:54 networks
-rw-------. 1 root root 3847 9月 28 16:35 vm002.xml
3) 查看虚拟机状态
[root@localhost ~]# virsh list --all
Id 名称 状态

2 vm002 running
3 centos7.0 running
4) 虚拟机关机与开机
[root@localhost ~]# virsh shutdown vm002
域 vm002 被关闭
[root@localhost ~]# virsh start vm002域 vm002 已开始
5) 强制虚拟机系统关闭电源
[root@localhost ~]# virsh destroy vm002
[root@localhost ~]# virsh list --all
Id 名称 状态

3 centos7.0 running

  • vm002 关闭
    6) 通过配置文件启动虚拟机系统实例
    [root@localhost ~]# virsh create /etc/libvirt/qemu/vm002.xml
    域 vm002 被创建(从 /etc/libvirt/qemu/vm002.xml)
    [root@localhost ~]# virsh list --all
    Id 名称 状态

    3 centos7.0 running
    5 vm002 running
    7) 挂起虚拟机
    [root@localhost ~]# virsh suspend vm002
    域 vm002 被挂起
    [root@localhost ~]# virsh list --all
    Id 名称 状态

    3 centos7.0 running
    5 vm002 暂停
    8) 恢复虚拟机
    [root@localhost ~]# virsh resume vm002
    域 vm002 被重新恢复
    [root@localhost ~]# virsh list --all
    Id 名称 状态
    ----------------------------------------------------3 centos7.0 running
    5 vm002 running
    9) 配置虚拟机实例伴随宿主机自动启动
    [root@localhost ~]# virsh autostart vm002
    域 vm002标记为自动开始
    上述命令将创建/etc/libvirt/qemu/autostart/目录,里面内容为开机自动启动的系
    统 [r
    oot@localhost ~]# virsh autostart --disable vm002
    域 vm002取消标记为自动开始
    10) 导出虚拟机配置
    [root@localhost ~]# virsh dumpxml vm002 > /etc/libvirt/qemu/vm002-bak.xml
    11) 虚拟机的删除与添加
    删除虚拟机
    [root@localhost ~]# virsh shutdown vm002
    域 vm002 被关闭
    [root@localhost ~]# virsh undefine vm002
    域 vm002 已经被取消定义
    查看删除结果,vm002的配置文件被删除,但是磁盘文件不会被删除。
    [root@localhost ~]# ls /etc/libvirt/qemu
    autostart centos7.0.xml networks vm002-bak.xml
    通过virsh list --all 查看不到vm002的信息,说明此虚拟机被删除
    [root@localhost ~]# virsh list --all
    Id 名称 状态

    3 centos7.0 running
    通过备份的配置文件重新定义虚拟机:
    [root@localhost ~]# mv /etc/libvirt/qemu/vm002-bak.xml
    /etc/libvirt/qemu/vm002.xml
    [root@localhost ~]# virsh define /etc/libvirt/qemu/vm002.xml
    定义域 vm002(从 /etc/libvirt/qemu/vm002.xml)
    [root@localhost ~]# virsh list --all
    Id 名称 状态----------------------------------------------------
    3 centos7.0 running

  • vm002 关闭
    12) 修改虚拟机配置信息
    直接修改配置文件
    [root@localhost ~]# vim /etc/libvirt/qemu/vm002.xml
    通过virsh命令修改
    [root@localhost ~]# virsh edit vm002
    13) 查看虚拟机信息
    [root@localhost ~]# virsh dominfo vm002
    Id: 1
    名称: vm002
    UUID: e144e9ba-a125-4a97-9cf1-1c571f58817a
    OS 类型: hvm
    状态: running
    CPU: 1
    CPU 时间: 72.9s
    最大内存: 1048576 KiB
    使用的内存: 1048576 KiB
    持久: 是
    自动启动: 禁用
    管理的保存: 否
    安全性模式: selinux
    安全性 DOI: 0
    安全性标签: system_u:system_r:svirt_t:s0:c215,c657 (enforcing)
    14) 连接虚拟机 (进入虚拟机后按 ctrl + ] 退出虚拟机)
    [root@localhost ~]# virsh console vm002
    连接到域 vm002
    换码符为 ^]
    CentOS Linux 7 (Core)
    Kernel 3.10.0-514.el7.x86_64 on an x86_64
    vm002 login: rootPassword:
    Last login: Fri Sep 29 09:00:18 on ttyS0
    KVM虚拟机克隆
    1) 查看虚拟机状态
    [root@kvm001 ~]# virsh list --all
    Id 名称 状态

    17 vmtest01 running

  • centos7.0 关闭
  • vm002 关闭
    2) 从vm002克隆到vm003
    [root@kvm001 ~]# virt-clone -o vm002 -n vm003 -f /kvm-vm/vm003.qcow2
    3) 查看虚拟机状态
    [root@kvm001 ~]# virsh list --all
    Id 名称 状态

    17 vmtest01 running

  • centos7.0 关闭
  • vm002 关闭
  • vm003 关闭
    4) 启动虚拟机
    [root@kvm001 ~]# virsh start vm003
    域 vm003 已开始
    [root@kvm001 ~]# virsh list --all
    Id 名称 状态
    ----------------------------------------------------17 vmtest01 running
    18 vm003 running
  • centos7.0 关闭
  • vm002 关闭
    KVM虚拟机快照
    快照实际上做的是虚拟机的XML配置文件,默认快照XML文件
    在/var/lib/libvirt/qemu/snapshot/虚拟机名/下,快照只支持qcow2磁盘格式的系统。
    1) 对虚拟机vm002做快照
    [root@kvm001 ~]# virsh snapshot-create vm002
    已生成域快照 1507040414
    或者在创建快照的同时给快照一个名字
    [root@kvm001 ~]# virsh snapshot-create-as vm002 firsh_snap
    已生成域快照 firsh_snap
    2) 查看快照信息
    [root@kvm001 ~]# virsh snapshot-list vm002
    名称 生成时间 状态

    1507040414 2017-10-03 22:20:14 +0800 shutoff
    firsh_snap 2017-10-03 22:26:49 +0800 shutoff
    3) 查看当前快照信息
    [root@kvm001 ~]# virsh snapshot-current vm002
    <domainsnapshot>
    <name>firsh_snap</name> //快照版本号
    <state>shutoff</state>
    <parent>
    <name>1507040414</name>
    </parent>
    <creationTime>1507040809</creationTime>
    <memory snapshot='no'/>
    4) 恢复虚拟机状态到1507040414
    [root@kvm001 ~]# virsh snapshot-revert vm002 1507040414
    验证是否恢复:
    [root@kvm001 ~]# virsh snapshot-current vm002
    <domainsnapshot><name>1507040414</name> //快照版本号
    <state>shutoff</state>
    <creationTime>1507040414</creationTime>
    <memory snapshot='no'/>
    5) 删除快照
    [root@kvm001 ~]# virsh snapshot-list vm002
    名称 生成时间 状态

    1507040414 2017-10-03 22:20:14 +0800 shutoff
    firsh_snap 2017-10-03 22:26:49 +0800 shutoff
    [root@kvm001 ~]# virsh snapshot-delete vm002 firsh_snap
    已删除域快照 firsh_snap
    [root@kvm001 ~]# virsh snapshot-list vm002
    名称 生成时间 状态

    1507040414 2017-10-03 22:20:14 +0800 shutoff

猜你喜欢

转载自blog.51cto.com/13502820/2132021
今日推荐