kvm部署安裝

1、KVM 介紹python

 

 

  1.爲何須要cpu虛擬化linux

       X86 操做系統是設計在直接運行在裸硬件設備上的,所以它們自動認爲它們徹底佔有計算機硬件。x86 架構提供四個特權級別給操做系統和應用程序來訪問硬件。 Ring 是指 CPU 的運行級別,Ring 0是高級別,Ring1次之,Ring2更次之…… 就 Linux+x86 來講, 操做系統(內核)須要直接訪問硬件和內存,所以它的代碼須要運行在高運行級別  Ring0上,這樣它可使用特權指令,控制中斷、修改頁表、訪問設備等等。 應用程序的代碼運行在低運行級別上ring3上,不能作受控操做。若是要作,好比要訪問磁盤,寫文件,那就要經過執行系統調用(函數),執行系統調用的時候,CPU的運行級別會發生從ring3到ring0的切換,並跳轉到系統調用對應的內核代碼位置執行,這樣內核就爲你完成了設備訪問,完成以後再從ring0返回ring3。這個過程也稱做用戶態和內核態的切換。api

                

 

 

    那麼,虛擬化在這裏就遇到了一個難題,由於宿主操做系統是工做在 ring0 的,客戶 操做系統就不能也在 ring0了,可是它不知道這一點,之前執行什麼指令,如今仍是執行什 麼指令,可是沒有執行權限是會出錯的。因此這時候虛擬機管理程序(VMM)須要避免這件 事情發生。 虛機怎麼經過VMM實現 Guest CPU 對硬件的訪問,安全

      根據其原理不一樣有三種實現 技術:bash

         1. 全虛擬化 服務器

       2. 半虛擬化 網絡

         3. 硬件輔助的虛擬化架構

 

 

2、函數

 

 

             KVM的總體結構:工具

         1) virt-manager 一個用來管理VM的GUI/CUI用戶接口;它使用libvirt api 調用VM的各類功能。

         2) libvirt 一個工具及接口,做爲較通用的服務器虛擬化軟件,它支持Xen,VMware ESXi/GSX,固然, 還有QEMU/KVM。

         3) QEMU 一個和KVM內核模塊交互的模擬器,處理多種客戶機系統請求如I/O;一個QEMU進程對應一個 客戶機系統。

        4) KVM內核模塊 從狹義上來講,KVM是一個Linux內核模塊,處理客戶機系統的VM Exits和執行VM Entry指 令。

        5) Linux內核 既然QEMU做爲一個普通的用戶進程運行,相應客戶機系統的調度就由Linux內核本身來處 理。 全部的組件都是開放源碼軟件(OSS)。

 3、KVM 的功能列表

         KVM 所支持的功能包括:

         Ø 支持CPU 和 memory 超分(Overcommit)

         Ø 支持半虛擬化I/O (virtio)

         Ø 支持熱插拔(cpu,塊設備、網絡設備等)

         Ø 支持對稱多處理(Symmetric Multi-Processing,縮寫爲 SMP )

         Ø 支持實時遷移(Live Migration)

         Ø 支持 PCI 設備直接分配和單根I/O虛擬化(SR-IOV)

         Ø 支持內核同頁合併(KSM )

         Ø 支持NUMA (Non-Uniform Memory Access,非一致存儲訪問結構 )

 4、KVM 工具集合

         libvirt:操做和管理KVM虛機的虛擬化API,使用 C 語言編寫,能夠由 Python,Ruby, Perl, PHP, Java 等語言調用。能夠操做包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。

         Virsh:基於libvirt 的命令行工具(CLI)

         Virt-Manager:基於libvirt的GUI工具 virt-v2v:虛機格式遷移工具 virt-* 工具:包括Virt-install (建立KVM虛機的命令行工具),Virt-viewer (鏈接 到虛機屏幕的工具),Virt-clone(虛機克隆工具),virt-top 等

         sVirt:安全工具和selinux相關

5、安裝部署虛擬化環境

              1、)圖形化安裝

                        1.虛擬機安裝

                                ①若是是物理服務器,須要在BIOS中打開虛擬化功能(Virtualization Technology),一 般的服務器默認是打開這個功能的。

                                    

                                ②、若是是用VMware Workstation作實驗,創建的虛擬機的CPU要勾選虛擬化功能,這樣虛擬 機纔會支持KVM虛擬化

                             

 

 

                          2.最簡單的安裝方法就是在安裝系統的時候,安裝上虛擬化功能,這裏以CentOS7.3爲例, 選擇安裝包的時候,以下圖選擇便可,選擇「帶GUI的服務器」,並勾選「虛擬化客戶 端」,「虛擬化Hypervisor」,「虛擬化工具」。

                          

 

 

                    3.安裝完成後查看CPU是否能支持虛擬化

                           grep -e  "vmx |  svm"   /proc/cpuinfo

                    4.啓動程序

                       systemctl enable libvirtd && systemctl start libvirtd

      2、)若是你的系統是最小化安裝的,那你應該安裝如下所需軟件: 

      1.安裝軟件

yum groupinstall "GNOME 桌面" -y #//安裝GNOME桌面環境
yum install qemu-kvm -y           #/KVM核心模塊
yum install qemu-kvm-tools -y  #//KVM調試工具,能夠選擇性安裝
yum install qemu-img -y          #//建立、轉換和修改鏡像,能處理被qemu支持的全部鏡像格式
yum install libvirt -y                #//管理虛擬機的工具包
yum install virt-install -y         #//virt-install是一個使用  libvirt庫構建新虛擬機的命令行工具
yum install virt-manager -y    #//圖形界面管理虛擬機
yum install bridge-utils -y      #//配置linux以太網橋        

     2.驗證

                      lsmod | grep kvm

         3.啓動程序

            若是libvirtd服務中止運行,那麼你將不能管理虛擬機,也就是不能使用virt-manager 等工具來管理虛擬機

            systemctl status libvirtd

   3、)圖形界面沒有虛擬化軟件

                1.安裝虛擬化軟件

yum install qemu qemu-img qemu-kvm libvirt libvirt-python libguestfs-tools  virt-install

           2.安裝圖形化工具:

yum install virt-manager virt-viewer

           3.開啓圖形化界面

systemctl enable libvirtd && systemctl start libvirtd

6、部署kvm虛擬化

              1.上傳光盤鏡像

 

     2.建立文件夾

mkdir /kvm-vm  #放置虛擬機使用
mkdir /iso            #放置鏡像

     3.命令啓動程序

                     virt-manager

           

 

      5.建立存儲池

           

 

             

             

 

  6.建立鏡像池

          

             

 

 7.建立虛擬機

             

 

            

 

            

 

         

          建立儲存虛擬機卷(能夠提早建立也能夠在建立虛擬機選擇儲存位置時建立)

         

 

        

 

  接下來正常安裝系統就能夠了

 7、、使用virt-manager管理虛擬機

          virt-manager應用程序是一個桌面用戶接口,用於經過libvirt管理虛擬機。它的主要 目標是管理KVM,不過也能夠管理Xen和LXC(Linux容器)。它提供了運行域的彙總視圖,當 前性能和資源利用統計。嚮導能夠容許建立新域,以及配置、調整域的資源分配和虛擬硬 件。內嵌的VNC和SPICE的客戶端提供了一個全圖形控制檯。

             virt-manager主要功能:

                Ø 定義和建立虛擬機

               Ø 硬件管理

              Ø 性能監視

              Ø 虛擬機的保存和恢復、暫停和繼續、關閉和啓動

              Ø 控制檯

              Ø 在線和離線遷移

      啓用virt-manager

                 應用程序----系統工具----虛擬系統管理器

           

 

             或者   輸入          virt-manager命令

    2.配置虛擬機啓動選項:

         

 

            在1的位置若是勾選,能夠設置虛擬機隨物理主機啓動而啓動

           在2的位置若是勾選,那麼虛擬機啓動的時候就會出現啓動菜單,而後能夠選擇從哪裏 啓動

           在3的位置若是勾選,那麼可讓虛擬機啓動時候使用宿主機中的內核文件啓動

     3.調整監視參數,默認只監視CPU。

          先調整首選項,而後在「查看」--「圖形」中勾選監控參數便可

         

相關文章
相關標籤/搜索