Vmware KVM 虚拟化测试
1.检查是否支持虚拟化
- [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 端口为 5900 + 1 = 5901
#安装vnc或使用vnc工具连接虚拟机,给虚拟机安装系统
#关闭虚拟机并再次启动虚拟机,指定vnc端口为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命令默认的文件格式,这种格式的文件的优势在于它非常简单且非常容易移植到其他模拟器上使用。特点一开始就让镜像实际占用了分配空间,但是写入速度稍快一下。
#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