概念:
KVM
Kernel-based Virtual Machine基于內(nèi)核的虛擬機(jī)具帮,配合QEMU(處理器虛擬軟件)未荒,需要CPU支持虛擬化技術(shù)(并且在BIOS里打開虛擬化選項(xiàng))教藻,效率可達(dá)到物理機(jī)的80%以上滩愁。
架構(gòu)圖:
kvm安裝:
查詢機(jī)器是否支持虛擬化:
egrep -c '(vmx|svm)' /proc/cpuinfo
如果在輸出中不包含 vmx 或者 svm 標(biāo)識李请,那么就意味著你的 cpu 不支持硬件虛擬化。
如果結(jié)果大于0纺座,即說明cpu支持虛擬化息拜。因?yàn)樘摂M化需要CPU支持 VMX 或者 SVM 指令集,VMX 是Intel指令比驻。SVM 是AMD指令该溯。
在deepin系統(tǒng)上安裝qemu以及virsh虛擬機(jī)管理工具:
sudo apt-get install virt-manager bridge-utils libvirt-clients qemu qemu-kvm
ARM服務(wù)器上安裝命令:
sudo apt-get install libvirt0 libvirt-daemon qemu virt-manager bridge-utils libvirt-clients python-libvirt qemu-efi uml-utilities virtinst qemu-system
系統(tǒng)通過加載諸如 kvm-intel.ko(基于 Intel 的機(jī)器)和 kvm-amd.ko(基于 amd 的機(jī)器)的內(nèi)核模塊,使其成為管理程序hyervisor别惦。
查看kvm模塊是否加載:
deepin@deepin-PC:~$ lsmod |grep kvm
kvm_intel 204800 0
kvm 598016 1 kvm_intel
irqbypass 16384 1 kvm
安裝 qemu 和 libvirtd 軟件包之后,它就會自動(dòng)啟動(dòng)并啟用 libvirtd 服務(wù)夫椭。
deepin@deepin-PC:~$ service libvirtd status
● libvirtd.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-05-13 11:45:18 CST; 1h 44min ago
Docs: man:libvirtd(8)
http://libvirt.org
Main PID: 3666 (libvirtd)
Tasks: 16 (limit: 4915)
CGroup: /system.slice/libvirtd.service
└─3666 /usr/sbin/libvirtd
創(chuàng)建虛擬機(jī)
圖形化工具(virt-manager)
創(chuàng)建虛擬機(jī)
使用本地鏡像創(chuàng)建
命令行工具 (virsh)
創(chuàng)建存儲池:
virsh pool-define-as Spool1 dir - - - - "/media/deepin/Home/deepin/Spool1" #定義存儲池
virsh pool-build Spool1 #構(gòu)造存儲池
virsh pool-start Spool1 #激活存儲池
virsh pool-autostart Spool1 #配置成跟隨libvirtd服務(wù)自啟動(dòng)
配置磁盤映像
qemu-img create -f raw /media/deepin/Home/deepin/Spool1/deepin15-10.img 16G
創(chuàng)建虛擬機(jī)
sudo virt-install --name=deepin15.10 --disk path=/media/deepin/Home/deepin/Spoll1/deepin15-10.img --graphics spice --vcpu=2 --ram=2048 --cdrom=/media/deepin/Home/deepin/Downloads/deepin-15.10-amd64.iso --network bridge=virbr0 --os-variant=linux
xml文件創(chuàng)建虛擬機(jī)
sudo virsh dumpxml deepin15.10 > deepin15.10-2.xml # 導(dǎo)出deepin15.10的配置到deepin15.10-2.xml
cp /media/deepin/Home/deepin/Spool1/deepin15-10.img /media/deepin/Home/deepin/Spool1/deepin15-10-2.img #復(fù)制映像文件
修改配置deepin15.10-2.xml文件中的<name>字段和<source file>字段分別如下:
<name>deepin15.10-2</name>
<source file='/media/deepin/Home/deepin/Spoll1/deepin15-10-2.img'/>
定義deepin15.10-2虛擬機(jī)和啟動(dòng)該虛擬機(jī)
sudo virsh define deepin15.10-2.xml
sudo virsh start deepin15.10-2
遇到的問題
問題一:“unsupported configuration: CPU mode 'custom' for x86_64 kvm domain on x86_64 host is not supported”
解決辦法:重啟主機(jī)掸掸。
問題二:虛擬機(jī)的啟動(dòng)參數(shù)加入“"console=tty0 console=ttyS0,115200"”〔淝铮可以通過virsh console [vm id] 命令扰付,進(jìn)入虛擬機(jī)串口操作。