Vmware qemu-kvm 虚拟化測试
[root@kvm1 cloud]# lsmod | grep kvm kvm_intel 55496 3 kvm 337772 1 kvm_intel [root@kvm1 cloud]# egrep "(vmx|svm)" --color /proc/cpuinfo 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 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 aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep 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 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 aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep [root@kvm1 cloud]#
假设没有结果。则应该开启机器支持Inter VT-x/EPT or AMD-V/RVI
#查看Linux内核是否载入了kvm模块 lsmod | grep kvm #安装qemu-kvm,安装完毕后会生成/usr/libexec/qemu-kvm,是用户空间操作kvm内核的接口 yum install qemu-kvm #通过网络上传ISO镜像文件 #生成一个8G的文件(文件内容所有是0),作为虚拟机的磁盘 dd if=/dev/zero of=/cloud/CentOS.img bs=1M count=8192 #使用qemu-kvm创建虚拟机(參数说明 -m 指定内存大小 -smp 指定cup数量 -boot启动顺序) /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -cdrom /iso/CentOS-6.6-x86_64-minimal.iso -vnc :1 參数说明: -m 指定客户机内存大小,默认单位MB -smp 指定客户机cpu个数。SMP:(symmetric[sɪ'metrɪk'] Multi-processing)对称多处理 -boot 指定客户机系统启动顺序,order=cd是指先光盘再硬盘。c:CD-ROM d:Hard Disk -hda 指定客户机的IDE硬盘(即前面的创建的镜像文件) -cdrom 指定客户机的光驱 -vnc 相似window下的远程桌面 :1 port为 5900 + 1 = 5901 #安装vnc或使用vnc工具连接虚拟机。给虚拟机安装系统 #关闭虚拟机并再次启动虚拟机,指定vncport为5901(不须要指定cdrom,由于已经将操作系统安装到磁盘中了) /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1 #查看虚拟机信息 free -m dmesg | grep Memory 查看cpu信息命令: lscpu cat /proc/cpuinfo 逻辑CPU个数 cat /proc/cpuinfo | grep "processor" | wc -l 物理CPU个数 cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l 每一个物理CPU上core的个数(未计入超线程) cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l #改动配置内存和CPU參数 /usr/libexec/qemu-kvm -m 4096 -smp 2,cores=4 -boot order=cd -hda /cloud/CentOS.img -vnc :1 n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets] set the number of CPUs to 'n' [default=1] maxcpus= maximum number of total cpus, including offline CPUs for hotplug etc.(客户机最大可能被使用的CPU输了,包含启动时处于offline状态的cpu数量,可用于热插拔增加CPU。可是不能超过maxcpus这个上限) cores=number of CPU cores on one socket.(就是我们平时说的核。每一个物理CPU能够双核,四核等等) threads=number of threads on one CPU core.(thread就是每一个core的硬件线程数,即超线程) sockets=number of discrete sockets in the system.(就是主板上插cpu的槽的数目。也就是能够插入的物理CPU的个数) #qemu-img是一个比較重要的工具,是QEMU的磁盘管理工具。#查看帮助信息 qemu-img -h #查看镜像文件信息 qemu-img info /cloud/CentOS.img #创建一个磁盘镜像文件 qemu-img create -f qcow2 /cloud/bill.img 10G #将raw格式转换成qcow2格式 qemu-img convert -O qcow2 /cloud/bill.raw /cloud/bill.qcow2 #改动镜像大小 qemu-img resize /cloud/test.img +2G #检查镜像 qemu-img check /cloud/bill.qcow2 #镜像格式 #qemu-img支持多种镜像格式,可通过qemu-img -h命令查看,经常使用的有qcow2,raw #raw:原始的磁盘镜像格式,是qemu-img命令默认的文件格式。这样的格式的文件的优势在于它很简单且很easy移植到其它模拟器上使用。
特点一開始就让镜像实际占用了分配空间。可是写入速度稍快一下。 #qcow2:这样的格式是QEMU眼下推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间。支持加密、压缩、快照等功能 QEMU monitor是QEMU与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能, QEMU monitor的切换 "Ctrl + Alt + 2" --> QEMU monitor状态 "Ctrl + Alt + 1" --> 客户机标准显示窗体 查看帮助信息 help/? [cmd] help savevm 或 ? savevm 显示系统命令状态:info 查看QEMU的版本号信息 info versions 查看当前QEMU是否有KVM的支持 info kvm info name info status 查看客户机各个vCPU的信息 info cpus 查看块设备信息,如硬盘、软盘、光驱等 info block 查看客户机的网络配置信息 info network 显示当前系统中已保存的客户机快照信息 info snapshots 查看当前客户机的迁移状态 info migrate 显示当前客户机的VNC状态 info vnc 查看QEMU monitor中命令运行的历史 info history 创建快照 savevm snap20150406 恢复快照 loadvm snap20150406 删除快照 delvm snap20150406