一、常用管理命令
kvm安装完成linux系统之后需要重启,退出虚拟机组合键:Ctrl+]
查看kvm进程:[root@node2 ~]# ps aux | grep kvm
virsh list –all:查看虚拟机列表
virsh console 名字:进入虚拟机
virsh shutdown 名字:关闭虚拟机
virsh start 名字:启动虚拟机
virsh destroy 名字:类似stop,强制停止
virsh undefine 名字:彻底销毁虚拟机
/etc/libvirt/qemu/:虚拟机配置文件存放目录
virsh autostart 名字:宿主机开机虚拟机也开机
virsh autostart –disable 名字:接触开机启动
virsh suspend 名字:挂起
birsh resume 名字:恢复
二、克隆虚拟机
克隆虚拟机之前,先关闭虚拟机。
[root@node2 ~]# virsh shutdown kvm01
[root@node2 ~]# virt-clone –original kvm01 –name kvm02 –file /kvm_data/kvm02.img
–original:指定克隆源虚拟机
–name:指定克隆后的虚拟机名字
–file:指定目标虚拟机的虚拟磁盘文件
克隆成功。。。
[root@node2 ~]# virsh list –all
三、快照管理
创建快照:virsh snapshot-create 名字
注意:raw格式的磁盘不支持做快照,qcow2格式的支持
qemu-img info /****/***.img:查看某个虚拟机的快照信息
virsh snapshost-list kvm01:列出kvm01机子的所有快照
virsh snapshost-current kvm01:查看kvm01机子的当前快照
/var/lib/libvirt/qemu/snapshot/kvm01:kvm01机快照配置文件目录
virsh snapshot-revert kvm01 14354:恢复kvm01机的14354快照
virsh snapshot-delete kvm01 14354:删除kvm01机的14354快照
演示:
创建快照
[root@node2 ~]# virsh snapshot-create kvm01
Domain snapshot 1526179970 created
查看快照:
[root@node2 ~]# ls /var/lib/libvirt/qemu/snapshot/kvm01
1526179970.xml 1526180513.xml
删除快照:
四、磁盘格式
1、虚拟磁盘创建
常用的虚拟磁盘格式:raw、qcow2
使用qemu-img –help命令可以查看支持的磁盘格式。
查看某个虚拟磁盘格式:
[root@node2 ~]# qemu-img info /kvm_data/kvm01.img
创建虚拟磁盘:
[root@node2 ~]# qemu-img create -f raw /kvm_data/kvm03.img
create:创建
-f:知道磁盘格式
2、虚拟磁盘格式转换
[root@node2 ~]# qemu-img convert -O raw /kvm_data/kvm01.img /kvm_data/kvm01. raw
convert:转换
-O:指定转换的格式
/kvm_data/kvm01.img:源虚拟磁盘
/kvm_data/kvm01.qcow2:目标虚拟磁盘
raw格式比qcow2性能好,但不能做快照;qcows2文件较小
五、磁盘扩容
1、raw格式
[root@node2 ~]# qemu-img resize /kvm_data/test1.img +100M
修改完成之后,在宿主机关闭虚拟机再开启才能生效。
磁盘增大的部分无法添加到已经分好区的分区。当然如果是LVM,可以增加某个分区的大小。
·重新建个虚拟磁盘:
[root@node2 ~]# qemu-img create -f raw /kvm_data/kvm01_1.raw 100M
Formatting '/kvm_data/kvm01_1.raw', fmt=raw size=104857600
将这个新创建的磁盘添加到kvm01虚拟机:
编辑kvm01:
[root@node2 ~]# virsh edit kvm01
添加以下内容:
<disk type='file' device='disk'>
<driver name='qemu' type=raw/>
<source file='/kvm_data/kvm01_1.raw'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>
slot的数值必须唯一。如下图:
保存退出。
关闭kvm01,再启动。
[root@node2 ~]# virsh destroy kvm01
[root@node2 ~]# virsh start !$
登录kvm01:
[root@node2 ~]# virsh console kvm01
或者可以使用Xshell远程登录。
/dev/vdb添加成功。
2、qcows2格式
如果虚拟机有快照,扩容会报错。必须把快照删除后,再扩容。
删除快照
再扩容:
[root@node2 ~]# qemu-img resize /kvm_data/kvm02.img +100M
之后的操作跟raw扩容一样。
六、cpu、内存和网卡
1、查看配置信息
[root@node2 ~]# virsh dominfo kvm01
2、编辑配置
[root@node2 ~]# virsh edit kvm01
·内存:
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>524288</currentMemory>
·cpu:
<vcpu placement='static' current='1'>2</vcpu>
修改之后,保存退出,然后关机再开机即可。
在线调整内存,内存可以减小,也可以增加:
[root@node2 ~]# virsh setmem kvm01 512M
在线调整cpu,只能增加,不能减小:
[root@node2 ~]# virsh setvcpus kvm01 2
注意:配置文件事先要设置好,内存、cpu最大是多少,这样才能增加。
将修改的配置保存到配置文件,重启之后配置依然生效,如果不备份到配置文件,那么重启后,所做的修改将失效:
[root@node2 ~]# virsh dumpxml kvm01 >/etc/libvirt/qemu/kvm01.xml
·查看网卡:
[root@node2 ~]# virsh domiflist kvm01
增加网卡:
[root@node2 ~]# virsh attach-interface kvm01 –type bridge –source virbr0
查看一下:
OK,添加网卡成功。
virbr0:类似于vmware的vmnet8,也就是nat模式。
br0:为桥连模式。
添加网卡,需要把配置写到配置文件里。
[root@node2 ~]# virsh dumpxml kvm01 >/etc/libvirt/qemu/kvm01.xml
删除网卡:
[root@node2 ~]# virsh detach-interface kvm01 –type bridge –mac 52:54:00:21:bc:c8
七、虚拟机迁移
迁移虚拟机:也就是迁移配置文件和磁盘文件
要迁移的虚拟机必须是关机状态
把node2的kvm01迁移到test主机。test主机实现安装好kvm
node2主机ip:192.168.10.202
test主机ip:192.168.10.150
1、node2主机:
1.1 kvm01处于运行状态,所以要关机
[root@node2 ~]# virsh shutdown kvm01
1.2 kvm01的配置文件发给test主机
[root@node2 ~]# scp -p /etc/libvirt/qemu/kvm01.xml 192.168.10.150:/etc/libvirt/qemu/
1.3迁移kvm01的磁盘到test主机。
查看kvm01的磁盘:
[root@node2 ~]# virsh domblklist kvm01
磁盘有两块:vda、vdb。这两块都迁移到test主机。假设放在/my_kvm目录中。
迁移:
[root@node2 ~]# rsync -av /kvm_data/kvm01.img 192.168.10.150:/my_kvm/test_kvm01.img
[root@node2 ~]# rsync -av /kvm_data/kvm01_1.raw 192.168.10.150:/my_kvm/test_kvm01_1.raw
kvm01.img名字改为test_kvm01.img
kvm01_1.raw 名字改为:test_kvm01_1.raw
当然也可以不改名字。
2、test主机
1、修改虚拟机的配置文件
修改文件名:
[root@test ~]# mv /etc/libvirt/qemu/kvm01.xml /etc/libvirt/qemu/test_kvm01.xml
修改配置文件:
[root@test ~]# vim /etc/libvirt/qemu/test_kvm01.xml
name:test_kvm01,也可不修改
uuid:数字可以随便改,但是不能减少位数。
磁盘路径:
/my_kvm/test_kvm01.img
/my_kvm/test_kvm01_1.raw
修改后,保存退出。
2、定义新的虚拟机
配置文件:/etc/libvirt/qemu/test_kvm01.xml
[root@test ~]# virsh define /etc/libvirt/qemu/test_kvm01.xml
到此,迁移虚拟机成功。