KVM是Kernel Based Virtual Machine的简称,能够利用硬件虚拟扩展来提供多种操作系统的虚拟化软件,KVM能够通过两种方式来管理,一种是命令行,另一种是图形化界面。
Virt-Manager(Virtual Machine Manager)是基于KVM使用最为频繁的管理应该程序,能够创建、编辑、开始和暂停虚拟机。
KVM需要CPU支持硬件虚拟化,可以通过下面命令查询是否支持,如果输出有相关的vmx或者svm,表明CPU支持,如果返回值为0或空,就不支持。
systemctl stop firewalld.service
systemctl disable firewalld.service
[root@localhost ~]# egrep '(vmx|svm)' /PRoc/cpuinfo 或者egrep -c '(vmx|svm)' /proc/cpuinfo 命令
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
通过下面命令安装qemu和virt-manager软件包
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer bridge-utils
qemu-kvm:qemu模拟器
qemu-img:qemu磁盘image管理器
virt-install:用来创建虚拟机的命令行工具
libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor
libvirt-client:提供客户端API用来访问server和提供管理虚拟机命令行工具的virsh实体
virt-viewer:图形控制台
命令行创建虚拟机
通过下面的命名创建虚拟机
virt-install --name=itzgeekguest --ram=1024 --vcpus=1 --cdrom=/tmp/CentOS-6.5-x86_64-minimal.iso --os-type=linux --os-variant=rhel6 --network bridge=br0 --graphics=spice --disk path=/var/lib/libvirt/images/itzgeekguest.dsk,size=4
-name:虚拟机的名字
-ram:内存大小MB
-vcpus:CPU个数
-cdrom:ISO镜像位置
-os-variant:OS类型,例如rhel 6,solaris
-network:网络,友情链接:创建通过Virt Manager创建桥接网络
-graphics:Guest显示设置
-disk path:磁盘位置
CentOS 7 - Guest Installation command Line Virt Viewer
使用virt-manager工具
#virt-manager
kvm内核模块
将kvm嵌入到内核:
modprobe kvmmodprobe kvm-intel
然后使用命令查看是否已经嵌入成功,
如果显示下面的结果则代表嵌入成功。
[root@controller ~]# lsmod | grep kvm
kvm_intel 55496 0
kvm 337900 1 kvm_intel
[root@controller ~]#
如果嵌入不成功,需要启动libvirt
service libvirtd restartchkconfig libvirtd on
在guest OS 上查看CPU是否成功开启硬件虚拟化:
egrep -c '(vmx|svm)' /proc/cpuinfo
输出结果大于0
新闻热点
疑难解答