虛擬化的理解

  1. 虛擬化定義

  2. 概念

  3. 虛擬化常見分類

  4. 虛擬化優缺點

  5. 虛擬化技術

定義:

       虛擬化是指計算機內的下層模塊對上層模塊提供一個與上層所期待的相似的模塊。打個比方“一千個人心中就有一千個哈姆雷特”,如果有一個機構專門定製客戶心中的哈姆雷特,那麼這個機構就相當於虛擬化層,定製哈姆雷特的過程就相當於虛擬機。

       瞭解計算機內的虛擬機,還需瞭解計算機的分層結構,如圖1:

          

圖1

    圖中描述了一種常見的硬件虛擬化模式,虛擬出多個硬件抽象層爲上層提供服務,你可以安裝不同的操作系統,操作系統直接互不影響。好比你們市辦理身份證的大廳,開設幾個辦理窗口,你喜歡女士工作人員窗口(windows操作系統)你就過去,你喜歡男士工作人員窗口(linux操作系統)你也去,但是最終你辦理的身份證可能都是大廳內那一臺制卡機(硬件)在製作身份證。幾個辦證窗口就類比爲虛擬硬件抽象層。

常見概念:

Host:宿主機,技術實現虛擬化的那臺物理機,HostOS指的就是宿主機的操作系統

Guest:指的是虛擬化之後出現的虛擬機,GuestOS指的就是虛擬機的操作系統

VMM:虛擬管理器,或者叫做Hypervisor,就是宿主機和虛擬機之間的實現虛擬化的那一層,參考圖1的虛擬化層。如圖2:


圖2

分類

根據底層模塊的虛擬化程度分爲:
  • 全虛擬化 :完全虛擬化出底層模塊,上層模塊並不知道自己運行在虛擬的東西上(偷笑欺騙)。硬件輔助虛擬化應該也屬於全虛擬化。
  • 半虛擬機:半虛擬化就是,部分底層模塊的功能虛擬上層模塊配合才能實現,需要對上層模塊修改,增加部分功能。

優缺點:

     優點

  • 主要就是資源利用率高,我一臺機器,上面既有linux開發機,又有windows工作機。一臺頂過去幾臺,工作啊,不費勁(某鈣中鈣廣告)

缺點

  •    虛擬機的性能肯定下降,底層模塊原來服務一個上層,現在要服務幾個上層。你如果有幾個領導給你安排任務,每個領 導肯定都覺得你搞事情慢騰騰。
  • 錯誤與安全,各個任務直接容易搞混啊。

虛擬化技術

  • cpu虛擬化:主要是針對敏感指令的模擬,比如GuestOS內的reboot(重啓)指令,傳遞到host上之後,host肯定不能執行重啓,所有GuestOS.reboot經過VMM的模擬可能就變成了reboot vm*,然後宿主機就重啓Guest虛擬機就行了。
  • 內存虛擬機:主要是虛擬機內的內存地址與宿主機物理內存地址的轉換與映射。
  • io虛擬化:虛擬機無法直接訪問物理io設備,因此需要vmm截取虛擬機的io請求,然後轉換爲宿主機的io請求。

vmware虛擬化簡介:


裸機上Esx server的iso直接安裝,然後登陸配置就行了。上面可以安裝自己喜歡的操作系統使用。

kvm虛擬化簡介


KVM是嵌入在Linux操作系統標準內核中的一個虛擬化模塊,它能夠將一個Linux標準內核轉換成爲一個VMM,嵌有KVM模塊的Linux標準內核可以支持通過kvm tools來進行加載的GuestOS。所以在這樣的操作系統平臺下,計算機物理硬件層上直接就是VMM虛擬化層,而沒有獨立出來的HostOS操作系統層。在這樣的環境中HostOS就是一個VMM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章