kvm學(xué)習(xí)

概念:

KVM

Kernel-based Virtual Machine基于內(nèi)核的虛擬機(jī),配合QEMU(處理器虛擬軟件),需要CPU支持虛擬化技術(shù)(并且在BIOS里打開虛擬化選項(xiàng)),效率可達(dá)到物理機(jī)的80%以上。

架構(gòu)圖:


kvm

kvm安裝:

查詢機(jī)器是否支持虛擬化:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果在輸出中不包含 vmx 或者 svm 標(biāo)識(shí),那么就意味著你的 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 軟件包之后,它就會(huì)自動(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)

virt-manager.png

創(chuàng)建虛擬機(jī)


image.png

使用本地鏡像創(chuàng)建


image.png

命令行工具 (virsh)

創(chuàng)建存儲(chǔ)池:

virsh pool-define-as Spool1 dir - - - - "/media/deepin/Home/deepin/Spool1"  #定義存儲(chǔ)池
virsh pool-build Spool1   #構(gòu)造存儲(chǔ)池
virsh pool-start Spool1   #激活存儲(chǔ)池
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


image.png

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ī)串口操作。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ****1. 為什么需要 CPU 虛擬化**** X86 操作系統(tǒng)是設(shè)計(jì)在直接運(yùn)行在裸硬件設(shè)備上的,因此它們自動(dòng)認(rèn)...
    51reboot閱讀 4,518評(píng)論 0 8
  • 虛擬化技術(shù)概覽KVM簡(jiǎn)介KVM的管理操作 一、虛擬化技術(shù)概覽 (一)虛擬化技術(shù)類型: 主機(jī)虛擬化:xen, kvm...
    哈嘍別樣閱讀 2,011評(píng)論 0 5
  • 一、虛擬化分類 1、虛擬化是指通過虛擬化技術(shù)將一臺(tái)計(jì)算機(jī)虛擬為多臺(tái)邏輯計(jì)算機(jī)。在一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)邏輯計(jì)算機(jī)...
    WickJohn閱讀 2,271評(píng)論 0 3
  • 一、KVM簡(jiǎn)介 KVM的全稱是Kernel Virtual Machine,翻譯過來就是內(nèi)核虛擬機(jī)。它是一個(gè) Li...
    愛吃土豆的程序猿閱讀 9,673評(píng)論 0 13
  • CentOS6.5 安裝KVM虛擬機(jī) vnc安裝 因?yàn)榘惭b系統(tǒng)還是需要圖形界面去進(jìn)行相關(guān)操作的,所以我們先配置一個(gè)...
    Evil_cosey閱讀 913評(píng)論 0 1

友情鏈接更多精彩內(nèi)容