CentOS 7部署KVM之三基本管理

----本文修改整理自网络,非本人原创。

查看虚拟机信息

查看正在运行的虚拟机

# virsh list
 Id    Name                           State
----------------------------------------------------
 2     Centos                         running
(可使用--all参数查看所有虚机状态)

查看虚拟机基本信息

# virsh dominfo Centos
Id:             2
Name:           Centos
UUID:           b7b54aa3-138d-4975-81e6-263bfbf1b929
OS Type:        hvm
State:          running
CPU(s):         1
CPU time:       73.3s
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

查看所有虚拟机运行状态

# virt-top
virt-top 03:37:19 - x86_64 2/2CPU 3292MHz 2047MB 0.7%
1 domains, 1 active, 1 running, 0 sleeping, 0 paused, 0 inactive D:0 O:0 X:0
CPU: 0.7%  Mem: 1024 MB (1024 MB by guests)

ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME                                                                                                                                              
 2 R    0    0    0    0  0.7 50.0   1:15.43 Centos
(virt-top可从宿主机查看所有VM运行状态。工具安装yum install virt-top)

查看虚拟机文件系统状态

# virt-df -h Centos
Filesystem                                Size       Used  Available  Use%
Centos:/dev/sda1                          497M        94M       402M   19%
Centos:/dev/centos/root                   3.1G       1.2G       1.9G   39%

(virt-df可从宿主机查看VM的文件系统状态。安装命令yum install libguestfs-tools)

启动和关闭虚拟机

# virsh shutdown Centos
Domain Centos is being shutdown  
(关闭虚拟机)
  
# virsh start Centos
Domain Centos started  
(启动虚拟机)  
  
# virsh autostart Centos
Domain Centos marked as autostarted  
(激活虚机自动启动) 
  
# virsh autostart --disable Centos
Domain Centos unmarked as autostarted  
(取消虚机自动启动)

克隆虚拟机

# virsh suspend Centos
Domain Centos suspended
(挂起克隆源虚拟机。主要是为了完全关闭数据和网络I/O,保证数据的静态)

# virt-clone --original Centos --name Centos01 --file /kvmdir/Centos01

参数解释:
--original  克隆的源主机
--name    克隆的目标主机
--file        克隆目标主机的文件路径

# virsh resume Centos
Domain Centos resumed
(恢复克隆源虚拟机)

# virsh start Centos01 
Domain Centos01 started
(启动克隆目标主机)

# virsh list
 Id    Name                           State
----------------------------------------------------
 4     Centos                         running
 5     Centos01                       running
(克隆成功,需要注意的是得登录到Centos01主机里面修改主机名和IP后才能远程访问)

CentOS7会有点问题,需要修改
xxx.xml文件,然后重新定义虚拟机


可以直接根据xml文件创建虚拟机
cd /etc/libvirt/qemu
复制一个现有的xml文件,修改内容,
virsh create xxx.xml #启动虚拟机
需要给新的虚拟机复制img文件,把源img文件复制一份即可
virsh define xxx.xml #定义虚拟机

删除虚拟机

# virsh destroy Centos01
Domain Centos01 destroyed
(摧毁虚拟机)

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     Centos                         running
 -     Centos01                       shut off

# virsh undefine Centos01
Domain Centos01 has been undefined
(取消虚拟机的定义)

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     Centos                         running

# rm -f /kvmdir/Centos01
(删除虚拟机在KVM宿主机的文件)

虚拟机资源管理

MEM资源修改

在设置Used Memory的最终数值小于Max Memory的情况下,可以使用setmem在线进行内存配置的修改。

# virsh dominfo Centos |grep memory
Max memory:     1048576 KiB
Used memory:    1048576 KiB
(查看当前内存配置)

#virsh setmem Centos 512428
(需要注意的是内存数值的单位为KB)

# virsh dominfo Centos |grep memory
Max memory:     1048576 KiB
Used memory:    512428 KiB
(内存修改成功)

在设置Used Memory的最终数值大于Max Memory的情况下,需要关闭虚拟机并修改虚拟机定义文件。

# virsh shutdown Centos
Domain Centos is being shutdown
(关闭虚拟机)

# virsh edit Centos
Domain docker01 XML configuration edited.
(编辑虚拟机的XML文件)
文件变更内容:
<memory unit='KiB'>1048576</memory>                    ###虚拟机支持使用的最大内存
<currentMemory unit='KiB'>1048576</currentMemory>      ###虚拟机当前可使用的内存

# virsh create /etc/libvirt/qemu/Centos.xml
Domain Centos created from /etc/libvirt/qemu/Centos.xml
(使用新的XML文件启动虚拟机)

# virsh dominfo Centos |grep memory
Max memory:     2097152 KiB
Used memory:    1048576 KiB
(内存修改成功)

CPU资源修改

# virsh dominfo Centos |grep -i cpu
CPU(s):         1
CPU time:       40.1s
(查看当前CPU配置)

# virsh shutdown Centos
Domain Centos is being shutdown
(关闭虚拟机)
# virsh edit Centos Domain Centos XML configuration edited.
<vcpu placement='static'>2</vcpu> (将vCPU的数量设置为需要的数值) # virsh create /etc/libvirt/qemu/Centos.xml Domain Centos created from /etc/libvirt/qemu/Centos.xml # virsh dominfo Centos |grep -i cpu CPU(s): 2 CPU time: 4.1s (CPU修改成功)

DISK资源修改

DISK资源的配置只能在停止续集的情况下修改

# virsh shutdown Centos
Domain Centos is being shutdown
(关闭虚拟机)

# dd if=/dev/zero of=/kvmdir/test-add01.qcow2 bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 58.2544 s, 73.7 MB/s
(在KVM宿主机创建一块裸设备)

# qemu-img convert -f raw test-add01.qcow2 -O qcow2 test-add01.qcow2
(将raw设备转换成KVM虚拟机识别的qcow2设备)

# virsh edit Centos
Domain Centos XML configuration edited.

文件变更内容:
 <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/kvmdir/test.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/kvmdir/test-add01.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
(虚机本身就有一块vda的盘,按照同样的格式添加新增的vdb就行。这里需要注意的是,需要把dev参数改为vdX。另外slot参数需要检索整个XML文件,选择一个不重复的数值配置。)

# virsh create /etc/libvirt/qemu/Centos.xml
Domain Centos created from /etc/libvirt/qemu/Centos.xml

(使用新的XML启动虚拟机)


# fdisk -l /dev/vdb

Disk /dev/vdb: 4294 MB, 4294967296 bytes, 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
(登录到虚机查看磁盘已经添加成功)
 

 Kvm虚拟机创建快照

raw磁盘格式不支持快照功能,需要先转换磁盘格式

# qemu-img info centos7-node8.img   查看磁盘格式
image: centos7-node8.img
file format: raw
virtual size: 29G (31458328576 bytes)
disk size: 29G

# qemu-img convert -f raw -O qcow2 centos7-node8.img centos7-node8.img #修改磁盘格式
# qemu-img info centos7-node8.img
image: centos7-node8.img
file format: qcow2
virtual size: 29G (31458328576 bytes)
disk size: 960K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

 编辑xml文件,将磁盘类型修改为qcow2格式。

# vim centos7-node8.xml 
 <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>  #此处修改
      <source file='/data/kvm-img/centos7-node8.img'/>  #文件名字没有变化不修改,否则需要修改

# virsh define centos7-node8.xml   #修改配置文件后需要重新定义域
定义域 centos7-node8(从 centos7-node8.xml)

# virsh snapshot-create centos7-node8  #创建快照
已生成域快照 1513603416

# # virsh snapshot-list centos7-node8  #查看快照
 名称               生成时间              状态
------------------------------------------------------------
 1513603416           2017-12-18 21:23:36 +0800 shutoff

# ll /var/lib/libvirt/qemu/snapshot/  #快照文件存在此目录下
总用量 0
drwxr-xr-x 2 root root 27 12月 18 21:23 centos7-node8

回复虚拟机快照之前首先要把虚拟机关闭

# virsh shutdown  xxxx

# virsh snapshot-rever  xxxx  #回复快照  xxx为版本

  

 

posted @ 2017-03-13 17:22  雅俗丶共赏  阅读(431)  评论(0编辑  收藏  举报