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
Vmware qemu-kvm 虛擬化測試