【雲計算】虛擬化技術基礎

虛擬化技術今天,虛擬化技術的各方面都有了進步,虛擬化也從純軟件逐深入到處理器級虛擬化,再到平臺級虛擬化乃至輸入/輸出級虛擬化。

本篇文章主要了解虛擬化技術的入門知識,首先我們來了解一下什麼是虛擬化技術?

虛擬化技術介紹:

在計算機中,虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換後呈現出來,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態所限制。一般所指的虛擬化資源包括計算能力和資料存儲。

在實際的生產環境中,虛擬化技術主要用來解決高性能的物理硬件產能過剩和老的舊的硬件產能過低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件。

下面附帶虛擬化技術入門教程:

關於虛擬化技術詳細內容:虛擬化技術入門

(本課程主要講解雲計算技術的核心技術之一虛擬化技術,課程首先說明了虛擬化技術的主要作用以及常見實現方法,並針對硬件中常用的虛擬化技術(CPU、內存、IO)進行詳細的講解,最後還針對目前流行的開源虛擬化項目進行說明,講解其出現的漏洞以及阿里雲是怎樣完成漏洞分析和處理的,課程可以幫助學員學習掌握雲計算技術的核心技術之虛擬化技術,適合雲計算開發者學習)

講師介紹:

  • 張獻濤,阿里雲資深專家,現主導阿里雲ECS虛擬化架構的設計與研發工作。

定義:

虛擬化技術與多任務以及超線程技術是完全不同的。多任務是指在一個操作系統中多個程序同時一起運行,而在虛擬化技術中,則可以同時運行多個操作系統,而且每一個操作系統中都有多個程序運行,每一個操作系統都運行在一個虛擬的CPU或者是虛擬主機上;而超線程技術只是單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU是不能分離的,只能協同工作。
虛擬化技術也與VMware Workstation等同樣能達到虛擬效果的軟件不同,是一個巨大的技術進步,具體表現在減少軟件虛擬機相關開銷和支持更廣泛的操作系統方面。

純軟件虛擬化解決方案存在很多限制。“客戶”操作系統很多情況下是通過VMM(Virtual Machine Monitor,虛擬機監視器)來與硬件進行通信,由VMM來決定其對系統上所有虛擬機的訪問。(注意,大多數處理器和內存訪問獨立於VMM,只在發生特定事件時纔會涉及VMM,如頁面錯誤。)在純軟件虛擬化解決方案中,VMM在軟件套件中的位置是傳統意義上操作系統所處的位置,而操作系統的位置是傳統意義上應用程序所處的位置。

虛擬化技術是一套解決方案。完整的情況需要CPU、主板芯片組、BIOS和軟件的支持,例如VMM軟件或者某些操作系統本身。即使只是CPU支持虛擬化技術,在配合VMM的軟件情況下,也會比完全不支持虛擬化技術的系統有更好的性能。
兩大CPU巨頭Intel和AMD都想方設法在虛擬化領域中佔得先機,但是AMD的虛擬化技術在時間上要比Intel落後幾個月。Intel自2005年末開始便在其處理器產品線中推廣應用Intel Virtualization Technology(Intel VT)虛擬化技術。
而AMD方面也已經發布了支持AMD Virtualization Technology(AMD VT)虛擬化技術的一系列處理器產品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,並且絕大多數的AMD下一代主流處理器,包括即將發佈的Socket F接口的Opteron都將支持AMD VT虛擬化技術。


cpu的虛擬化技術:

  • CPU的虛擬化技術可以單CPU模擬多CPU並行,允許一個平臺同時運行多個操作系統,並且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率;

  • 虛擬化技術與多任務以及超線程技術是完全不同的。多任務是指在一個操作系統中多個程序同時並行運行,而在虛擬化技術中,則可以同時運行多個操作系統,而且每一個操作系統中都有多個程序運行,每一個操作系統都運行在一個虛擬的CPU或者是虛擬主機上;而超線程技術只是單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU是不能分離的,只能協同工作;

  • 虛擬化技術也與目前VMware Workstation等同樣能達到虛擬效果的軟件不同,是一個巨大的技術進步,具體表現在減少軟件虛擬機相關開銷和支持更廣泛的操作系統方面;

  • 純軟件虛擬化解決方案存在很多限制。“客戶”操作系統很多情況下是通過VMM(Virtual Machine Monitor,虛擬機監視器)來與硬件進行通信,由VMM來決定其對系統上所有虛擬機的訪問。(注意,大多數處理器和內存訪問獨立於VMM,只在發生特定事件時纔會涉及VMM,如頁面錯誤。)在純軟件虛擬化解決方案中,VMM在軟件套件中的位置是傳統意義上操作系統所處的位置,而操作系統的位置是傳統意義上應用程序所處的位置。這一額外的通信層需要進行二進制轉換,以通過提供到物理資源(如處理器、內存、存儲、顯卡和網卡等)的接口,模擬硬件環境。這種轉換必然會增加系統的複雜性。此外,客戶操作系統的支持受到虛擬機環境的能力限制,這會阻礙特定技術的部署,如64位客戶操作系統。在純軟件解決方案中,軟件堆棧增加的複雜性意味着,這些環境難於管理,因而會加大確保系統可靠性和安全性的困難;

  • 而CPU的虛擬化技術是一種硬件方案,支持虛擬技術的CPU帶有特別優化過的指令集來控制虛擬過程,通過這些指令集,VMM會很容易提高性能,相比軟件的虛擬實現方式會很大程度上提高性能。虛擬化技術可提供基於芯片的功能,藉助兼容VMM軟件能夠改進純軟件解決方案。由於虛擬化硬件可提供全新的架構,支持操作系統直接在上面運行,從而無需進行二進制轉換,減少了相關的性能開銷,極大簡化了VMM設計,進而使VMM能夠按通用標準進行編寫,性能更加強大。另外,在純軟件VMM中,目前缺少對64位客戶操作系統的支持,而隨着64位處理器的不斷普及,這一嚴重缺點也日益突出。而CPU的虛擬化技術除支持廣泛的傳統操作系統之外,還支持64位客戶操作系統。

  • 兩大CPU巨頭Intel和AMD都想方設法在虛擬化領域中佔得先機,但是AMD的虛擬化技術在時間上要比Intel落後幾個月。Intel自2005年末開始便在其處理器產品線中推廣應用Intel Virtualization Technology(Intel VT)虛擬化技術。目前,Intel已經發布了具有Intel VT虛擬化技術的一系列處理器產品,包括桌面平臺的Pentium 4 6X2系列、Pentium D 9X0系列和Pentium EE 9XX系列。

阿里雲開發者社區全面升級,一站式體驗,用得更爽:(阿里雲開發者社區首頁

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