kvm的安装配置
安装
1
| yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt
|
网卡配置
1
| yum install bridge-utils tunctl
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
vim ifcfg-eth0 DEVICE=eth0 HWADDR=FC:AA:14:42:8A:4C TYPE=Ethernet UUID=9e1ebd3e-2606-417c-86d0-ce771d449e61 ONBOOT=yes NM_CONTROLLED=yes BRIDGE=br0
vim ifcfg-br0 DEVICE=br0 HWADDR=FC:AA:14:42:8A:4C TYPE=Bridge UUID=9e1ebd3e-2606-417c-86d0-ce771d449e61 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.0.0.161 NETMASK=255.255.255.0 GATEWAY=10.0.0.1
|
使用
创建磁盘
1 2 3 4 5
| qemu-img create -f qcow2 /kvm/TEST-102.img 30G
qemu-img info /kvm/TEST-102.img
|
调整默认网卡模式
1 2 3 4 5 6 7 8 9 10
| virt-install --virt-type kvm --name TEST-102 --ram 4096 \ --disk /data/KvmDisk/TEST-102.img,format=qcow2 --network network=default \ --graphics vnc,listen=0.0.0.0,port=20000 --noautoconsole \ --os-type=linux --os-variant=rhel6 --cdrom=/data/iso/CentOS-6.5-x86_64-minimal.iso
virt-install --name=TEST-101 --ram=4096 --vcpus=4 --os-type=linux \ --disk path=/data/KvmDisk/TEST-101.img,size=30,format=qcow2,bus=virtio,cache=writeback\ --location=nfs://10.0.0.161:/data/CentosImg/ --network bridge=br0,model=virtio \ --mac=52:54:00:33:1F:6F --extra-args='console=ttyS'
|
创建虚拟机
1 2 3 4 5 6 7 8 9
| 桥接模式 virt-install --name=TEST-102 \ --ram=4096 \ --vcpus=4 \ --os-type=linux \ --disk /kvm/TEST-102.img,size=20,format=qcow2,bus=virtio,cache=writeback \ --network bridge=br0,model=virtio \ --extra-args='console=ttyS0 ks=nfs:10.0.0.161:/centosinstall/ks.cfg' \ --location nfs:10.0.0.161:/centosinstall
|
注释:
–name 虚拟机名
–ram 内存大小
–vcpus cpu内核
–disk指定虚拟磁盘的位置,此种方式的磁盘格式是raw,不能使用快照功能,如需使用快照功能,磁盘必须是qcow2格式
qcow2格式磁盘需事先创建
通过配置文件修改网卡模式
1 2 3 4 5 6 7
| <interface type='network'> <mac address='52:54:00:9e:44:e0'/> <source network='default'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
|
修改为
1 2 3 4 5 6 7
| <interface type='bridge'> <mac address='52:54:00:9e:44:e0'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
|
虚拟机重命名
bash1 2 3 4 5 6 7 8 9
| virsh destroy server_monitor cd /etc/libvirt/qemu virsh dumpxml server_monitor > 192.16.1.185.xml vim 192.16.1.185.xml #修改server_monitor为192.16.1.185 virsh undefine server_monitor virsh define 192.16.1.185.xml virsh start 192.16.1.185
|
使用虚拟机
启动虚拟机
使用配置文件启动虚拟机
1
| virsh create /etc/libvirt/qemu/TEST-101.xml
|
启动网卡(启动默认的default网卡)
设置虚拟机开机自启动
1
| virsh autostart TEST-102
|
解除开机自启动
1
| virsh autostart --disable TEST-102
|
调整虚拟机配置
1 2 3 4 5
| virsh edit TEST-101
virsh destroy TEST-101 virsh start TEST-101
|
关机
1 2 3
| virsh destroy TEST-101
virsh shutdown TEST-101(需虚拟机开启acpid服务)
|
删除已有虚拟机
1 2
| virsh destroy TEST-101(关机) virsh undefine TEST-101(删除)
|
挂起
恢复
虚拟机迁移
迁移前需先关机
1 2 3 4
| virsh shutdown TEST-101 virsh dumpxml TEST-101 > /etc/libvirt/qemu/TEST-105.xml virsh domblklist TEST-102 rsync -av /kvm/TEST-101.img /kvm/TEST-105.img
|
注意:
远程迁移的话,将xml配置文件和img磁盘文件拷贝到相关目录下面,如果迁移到本机,则需要修改冲突的地方,比如:虚拟机名,磁盘路径等..
克隆虚拟机
克隆前需先关机
关于virsh shutdown TEST-101不起作用的说明:
原因:需借助虚拟机的acpid服务,所以前提是安装并开启acpid服务
登录虚拟机
bash1 2 3 4
| virsh console TEST-101 yum install -y acpid /etc/init.d/acpid start 退出连接(快捷键ctrl+])
|
克隆命令:
1
| virt-clone --original TEST-101 --name TEST-105 --file /kvm/TEST-105.img
|
磁盘格式转换
1
| qemu-img convert -f raw -O qcow2 /kvm/TEST-101.img /kvm/TEST-101.qcow2
|
使用转换后的磁盘,需要修改虚拟机的配置文件
1 2 3 4
| virsh edit TEST-101 将type='raw'修改成type='qcow2' 将file='/kvm/TEST-101.img'修改成file='/kvm/TEST-101.qcow2' 重启虚拟机
|
快照
raw格式的磁盘无法使用快照功能,使用快照前需将磁盘转换成qcow2格式,方法见上
1
| virsh snapshot-create TEST-101
|
查看快照
1 2 3 4
| virsh snapshot-list TEST-102 \[root@KVM-TEST ~\] Name Creation Time State 1389985501 2014-01-18 03:05:01 +0800 running
|
恢复快照
1
| virsh snapshot-revert TEST-102 1389985501
|
删除快照
1
| virsh snapshot-delete TEST-102 1389985501
|
磁盘扩容
raw格式磁盘扩容
1
| qemu-img resize /kvm/TEST-101.img +10G
|
查看磁盘信息
1 2
| qemu-img info /kvm/TEST-101.img 注:扩容后的磁盘在系统内是没有分区的,需要对其进行分区
|
增加磁盘
1
| qemu-img create -f raw /kvm/TEST-101-01.img 20G
|
修改虚拟机配置文件
添加如下内容
1 2 3 4 5 6
| <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/kvm/TEST-101-01.img'/> <target dev='vdb' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </disk>
|
重新虚拟机生效
注意
qcow2格式磁盘扩容同raw,需要注意的是
qemu-img resize 时提示’This image format does not support resize’,则排查是否创建时添加参数’preallocation=metadata’
如果有此参数,则不能使用resize
查看网卡列表
1
| virsh domiflist TEST-102
|
增加网卡
1
| virsh attach-interface TEST-101 --type bridge --source br0
|
1
| virsh dumpxml TEST-101 >/etc/libvirt/qemu/TEST-101.xml
|
以配置文件的方式重启
1
| virsh create /etc/libvirt/qemu/TEST-101.xml
|
kvm重装系统
添加cdrom
1 2 3 4
| <disk type='file' device='cdrom'> <source file='/var/lib/libvirt/images/ubuntu.iso'/> //光盘镜像路径 <target dev='hdb' bus='ide'/> </disk>
|
修改启动
1 2
| <boot dev='cdrom'/> // 光盘启动为首选启动项 <boot dev='hd'/> // 硬盘启动为次要启动项
|
保存后启动虚拟机,即从光盘开始启动