如何在Centos上搭建kvm虚拟化环境,示例虚拟机的创建,安装,快照,删除等管理操作
KVM介绍
KVM 是 kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。
使用 KVM 可允许运行多个虚拟机,包括 Linux 和 Windows操作系统。每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。
环境需求
1 2 3 4 5
|
Centos6.5 minimal x86_64 CPU开启虚拟化支持
grep 'vmx|svm' /proc/cpuinfo
|
安装依赖环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
qemu-kvm
qemu-kvm-tools
qemu-img
python-virtinst.noarch
bridge-utils
libvirt-devel
yum -y groupinstall “Desktop”
yum -y install virt-manager
|
1 2 3
|
yum -y install qemu-kvm qemu-kvm-tools qemu-img python-virtinst.noarch bridge-utils libvirt-devel yum -y upgrade device-mapper-libs
|
配置网卡桥接
1 2 3 4
|
cd /etc/sysconfig/network-srtipts/ cp ifcfg-eth0 ifcfg-eth0.bak cp ifcfg-eth0 ifcfg-br0
|
1 2 3 4 5 6 7 8
|
DEVICE=eth0 HWADDR=00:0C:29:5E:F9:9A TYPE= Ethernet UUID=c97c8098-21d4-4f3a-ac85-a18a8a0edd3d ONBOOT=yes BOOTPROTO=none BRIDGE=br0
|
1 2 3 4 5 6 7 8 9 10 11 12
|
DEVICE=br0
TYPE=Bridge
ONBOOT=yes BOOTPROTO=static IPADDR=192.168.5.40 NETMASK=255.255.255.0 GATEWAY=192.168.5.1 DNS1=222.85.85.85 DNS2=222.88.88.88
|
1 2 3 4 5 6 7 8 9
|
reboot
service network restart
/etc/init.d/libvirtd start
lsmod | grep kvm
|
创建虚拟机
1 2
|
qemu-img create -f qcow2 -o preallocation=metadata /data/annda.img 10G
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
--name annda
--ram 1024
--vcpus 2
--disk path=/data/annda.img,format=qcow2,size=10,bus=virtio
--os-type linux
--os-variant rhel6
--network bridge=br0
--graphics none
--pxe 网络启动 --cdrom 光驱/光盘 --location 本地数据源
/etc/libvirt/qemu/
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
virt-install \ --name annda \ --ram 512 \ --disk path=/data/annda.img,format=qcow2,size=10,bus=virtio \ --vcpus 2 \ --os-type linux \ --os-variant rhel6 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location /opt/CentOS-6.5-x86_64-bin-DVD1.iso \ --extra-args 'console=ttyS0,115200n8 serial'
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
virt-install \ --name annda \ --ram 2048 \ --disk path=/data/annda.img,format=qcow2,size=10,bus=ide \ --vcpus 2 \ --os-type windows \ --os-variant win2k8 \ --network bridge=br0 \ --graphics vnc,port=5910,listen=0.0.0.0 \ --cdrom /opt/win2008.iso \ --noautoconsole
|
管理虚拟机
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#查看所有虚拟机 virsh list --all #查看指定虚拟机 virsh dominfo annda #查看虚拟机CPU virsh vcpuinfo annda #查看虚拟机状态 virsh domstate annda #查看虚拟机网卡状态 virsh domifstat annda vnet0 #查看虚拟机XML文件 virsh dumpxml annda #主机ID转换UUID virsh domuuid annda #编辑虚拟机配置 virsh edit annda
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
virsh autostart annda
virsh start annda
virsh shutdown annda
virsh reboot annda
virsh suspend annda
virsh resume annda
virsh edit annda
virsh destroy annda
virsh undefine annda
|
1 2 3 4 5 6 7 8 9 10
|
#创建快照 virsh snapshot-create-as annda annda_backup #查看快照 virsh snapshot-list annda #查看快照详细信息 virsh snapshot-info annda annda_backup #恢复快照 virsh snapshot-revert annda annda_backup #删除快照 virsh snapshot-delete annda annda_backup
|
Copyright Notice:
All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.