centos上的KVM安装


1、KVM只支持64位系统

2、要求CPU必须支持虚拟化

3、在RETHAT6和CentOS6以后的版本中,KVM已经被编译进内核,不需要单独安装,如果内核中没有,则也只能重新编译内核来支持KVM


在CentOS 6.4 64位系统上安装KVM


1、查看内核是否已经包含KVM

 grep -i "kvm" /boot/config-2.6.32-358.el6.x86_64

显示以下信息,表明内核已经支持KVM

CONFIG_KVM_CLOCK=y

CONFIG_KVM_GUEST=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m

2、内核支持,但不一定已经加载了,要手动加载

lsmod | grep kvm  查看是否加载了KVM模块,如果无显示,说明还没有加载

从第一步可以看到,KVM包含三个模块:

CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m

首先加载kVM: modprobe kvm

然后加载CONFIG_KVM_INTEL或CONFIG_KVM_AMD,在这之前首先要确定下目前的CPU类型,要根据CPU类型来选择加载CONFIG_KVM_INTEL或CONFIG_KVM_AMD

查看CPU类型: cat /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
stepping        : 3
cpu MHz         : 3292.450
cache size      : 6144 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase bmi1 avx2 smep bmi2 invpcid
bogomips        : 6584.90
clflush size    : 64
cache_alignment : 64
address sizes   : 42 bits physical, 48 bits virtual
power management:


从上面可以看到CPU是INTEL类型的,因此要加载CONFIG_KVM_INTEL

 modprobe kvm_intel    ------这一步如果要失败,则要确认下当前CPU是否支持虚拟化,如果支持虚拟化,在上面的CPUinfo中的flags字段中会有"vmx"标志,入上红色加粗的部分(在AMD的CPU中会出现'smd'标志)



[root@~]# lsmod |grep kvm
kvm_intel              53484  0
kvm                   316506  1 kvm_intel

这样KVM表示已经装载成功了


因为KVM只能虚拟化CPU和内存,而无法虚拟IO设备,因此,还要安装qume-kvm

[root@ ~]# yum groupinfo "Virtualization"

Loaded plugins: fastestmirror
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.opencas.cn
 * updates: mirrors.btte.net


Group: 虚拟化
 Description: 为托管虚拟客户端提供环境。
 Mandatory Packages:
   qemu-kvm
 Optional Packages:
   qemu-kvm-tools
   vios-proxy

安装 qemu-kvm 和 qemu-kvm-tools

 yum -y install qemu-kvm qemu-kvm-tools

查看安装目录:

[root@ ~]# rpm -ql qemu-kvm

[root@mxd ~]# rpm -ql qemu-kvm
/etc/ksmtuned.conf
/etc/modprobe.d/blacklist-kvm.conf
/etc/rc.d/init.d/ksm
/etc/rc.d/init.d/ksmtuned
/etc/sasl2/qemu-kvm.conf
/etc/sysconfig/ksm
/etc/sysconfig/modules/kvm.modules
/etc/udev/rules.d/80-kvm.rules
/usr/libexec/qemu-kvm
/usr/sbin/ksmtuned
/usr/share/doc/qemu-kvm-0.12.1.2/COPYING
/usr/share/doc/qemu-kvm-0.12.1.2/COPYING.LIB
/usr/share/doc/qemu-kvm-0.12.1.2/Changelog
/usr/share/doc/qemu-kvm-0.12.1.2/LICENSE
/usr/share/doc/qemu-kvm-0.12.1.2/README
/usr/share/doc/qemu-kvm-0.12.1.2/README.systemtap
/usr/share/doc/qemu-kvm-0.12.1.2/TODO
/usr/share/doc/qemu-kvm-0.12.1.2/qemu-doc.html
/usr/share/doc/qemu-kvm-0.12.1.2/qemu-tech.html
/usr/share/man/man1/qemu-kvm.1.gz
/usr/share/qemu-kvm
/usr/share/qemu-kvm/bios.bin
/usr/share/qemu-kvm/dump-guest-memory.py
/usr/share/qemu-kvm/dump-guest-memory.pyc
/usr/share/qemu-kvm/dump-guest-memory.pyo
/usr/share/qemu-kvm/extboot.bin
/usr/share/qemu-kvm/keymaps
/usr/share/qemu-kvm/keymaps/ar
/usr/share/qemu-kvm/keymaps/common
/usr/share/qemu-kvm/keymaps/da
/usr/share/qemu-kvm/keymaps/de
/usr/share/qemu-kvm/keymaps/de-ch
/usr/share/qemu-kvm/keymaps/en-gb
/usr/share/qemu-kvm/keymaps/en-us
/usr/share/qemu-kvm/keymaps/es
/usr/share/qemu-kvm/keymaps/et
/usr/share/qemu-kvm/keymaps/fi
/usr/share/qemu-kvm/keymaps/fo
/usr/share/qemu-kvm/keymaps/fr
/usr/share/qemu-kvm/keymaps/fr-be
/usr/share/qemu-kvm/keymaps/fr-ca
/usr/share/qemu-kvm/keymaps/fr-ch
/usr/share/qemu-kvm/keymaps/hr
/usr/share/qemu-kvm/keymaps/hu
/usr/share/qemu-kvm/keymaps/is
/usr/share/qemu-kvm/keymaps/it
/usr/share/qemu-kvm/keymaps/ja
/usr/share/qemu-kvm/keymaps/lt
/usr/share/qemu-kvm/keymaps/lv
/usr/share/qemu-kvm/keymaps/mk
/usr/share/qemu-kvm/keymaps/modifiers
/usr/share/qemu-kvm/keymaps/nl
/usr/share/qemu-kvm/keymaps/nl-be
/usr/share/qemu-kvm/keymaps/no
/usr/share/qemu-kvm/keymaps/pl
/usr/share/qemu-kvm/keymaps/pt
/usr/share/qemu-kvm/keymaps/pt-br
/usr/share/qemu-kvm/keymaps/ru
/usr/share/qemu-kvm/keymaps/sl
/usr/share/qemu-kvm/keymaps/sv
/usr/share/qemu-kvm/keymaps/th
/usr/share/qemu-kvm/keymaps/tr
/usr/share/qemu-kvm/linuxboot.bin
/usr/share/qemu-kvm/multiboot.bin
/usr/share/qemu-kvm/pxe-e1000.bin
/usr/share/qemu-kvm/pxe-ne2k_pci.bin
/usr/share/qemu-kvm/pxe-pcnet.bin
/usr/share/qemu-kvm/pxe-rtl8139.bin
/usr/share/qemu-kvm/pxe-virtio.bin
/usr/share/qemu-kvm/sgabios.bin
/usr/share/qemu-kvm/simpletrace.py
/usr/share/qemu-kvm/simpletrace.pyc
/usr/share/qemu-kvm/simpletrace.pyo
/usr/share/qemu-kvm/systemtap/conf.d/qemu_kvm.conf
/usr/share/qemu-kvm/systemtap/script.d/qemu_kvm.stp
/usr/share/qemu-kvm/trace-events
/usr/share/qemu-kvm/vapic.bin
/usr/share/qemu-kvm/vgabios-cirrus.bin
/usr/share/qemu-kvm/vgabios-qxl.bin
/usr/share/qemu-kvm/vgabios-stdvga.bin
/usr/share/qemu-kvm/vgabios-vmware.bin
/usr/share/qemu-kvm/vgabios.bin
/usr/share/systemtap/tapset/qemu-kvm-simpletrace.stp
/usr/share/systemtap/tapset/qemu-kvm.stp


因为这个安装目录下的命令不能直接使用,因此要创建一个链接

[root@ ~]# ln -sv /usr/libexec/qemu-kvm /usr/sbin/
"/usr/sbin/qemu-kvm" -> "/usr/libexec/qemu-kvm"

这样qemu-kvm命令就可以直接使用了


首先创建一个磁盘映像,

[root@kvm ~]# mkdir /images/vm1 -pv
[root@kvm ~]# qemu-img create -f qcow2 -o size=100G /images/vm1/centos.qcow2
Formatting '/images/vm1/centos.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536


创建KVM虚拟机

qemu-kvm -name "centos" -m 512 -smp 2 -hda /images/vm1/centos.qcow2 -cdrom CentOS-6.5-x86_64-minimal.iso -boot order=dc

安装VNC软件

yum -y install tigervnc-server

设置VNC SERVER

 vncserver :1


用VNC Client进行连接即可使用







你可能感兴趣的:(kvm,linux)