當前位置:首頁 » 服務存儲 » 虛擬化計算機存儲平台
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

虛擬化計算機存儲平台

發布時間: 2022-06-18 15:58:44

1. 什麼是計算虛擬化,主流虛擬化計算平台介紹

什麼是虛擬化 虛擬化是一個廣義的術語,是指計算元件在虛擬而不是真實的基礎上運行,是一個為了簡化管理,優化資源的解決方案。在電腦運算中,虛擬化通常扮演硬體平台、操作系統、存儲設備或者網路資源等角色。虛擬化技術很早就在計算機體系結構、操作系統、編譯器和編程語言等領域得到了廣泛應用。該技術實現了資源的邏輯抽象和統一表示,在伺服器、網路及存儲管理等方面都有著突出的優勢,大大降低了管理復雜度,提高了資源利用率,提高了運營效率,從而有效地控制了成本。虛擬化技術可以擴大硬體的容量,簡化軟體的重新配置過程。虛擬化是一個廣義的術語,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。 什麼是雲計算 雲計算是近年來興起的新理念,目標是將計算和存儲簡化為像公共的水和電一樣易用的資源,用戶只要連上網路即可方便地使用,按量付費。它是現有技術和模式的演進和採用。雲計算是為了讓用戶能夠受益於這些技術而無需去深入的了解和掌握它們。雲旨在降低成本和幫助用戶專注於他們的核心業務,而不是讓IT成為他們的阻礙。雲計算採用創新的計算模式使用戶通過互聯網隨時獲得近乎無限的計算能力和豐富多樣的信息服務,它創新的商業模式使用戶對計算和服務可以取用自由、按量付費。 雲計算服務可以是IT和軟體、互聯網相關的,也可以是任意其他的服務。這種資源池稱為「雲」。「雲」是一些可以自我維護和管理的虛擬計算資源,通常為一些大型伺服器集群,包括計算伺服器、存儲伺服器、寬頻資源等等。雲計算應用模式可分為SaaS、PaaS、IaaS、MSP。SaaS應用就如 虛擬化是一個廣義的術語,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。 虛擬化與雲計算的關系 雲計算和虛擬化並非捆綁技術,二者同時使用仍可正常運行並實現優勢互補。雲計算和虛擬化二者交互工作,雲計算解決方案依靠並利用虛擬化提供服務,而那些尚未部署雲計算解決方案的公司仍然可以利用端到端虛擬化從內部基礎設施中獲得更佳的投資回報和收益。 虛擬化是雲計算中主要支撐技術之一。虛擬化將應用程序和數據在不同層次以不同的面貌展現,這樣有助於使用者、開發及維護人員方便的使用、開發及維護這些應用程序及數據。虛擬化允許IT部門添加、減少移動硬體和軟體到它們想要的地方。虛擬化為組織帶來靈活性,從而改善IT運維和減少成本支出。 雲計算和虛擬化是密切相關的,但是虛擬化對於雲計算來說並不是必不可少的。雲計算為基礎設施帶來的服務如:管理一個私有雲(在你的數據中心)、公共雲(比如是SalesForce)和管理託管雲(託管在別處的虛擬伺服器)以及許多其它的增值服務,這些都是虛擬化和雲計算的不同。 可以這么說,雲計算把計算當做公用資源,而不是一個具體的產品或者是技術。作為一個最為基本的想法,我們可以說雲計算是由公用計算的概念演進而來,也可以把雲計算想像為把許多不同的計算機當做一個計算環境。 雲計算將各種IT資源以服務的方式通過互聯網交付給用戶。然而虛擬化本身並不能給用戶提供自服務層。沒有自服務層,就不能提供計算服務。雲計算模型允許終端用戶自行提供自己的伺服器、應用程序和包括虛擬化等其它的資源,這反過來又能使企業最大程度的處理自身的計算資源,但這仍需要系統管理員為終端用戶提供虛擬機。

2. 虛擬化的作用是什麼

資料:

虛擬化可以節省過多的電力成本
伺服器,台式機和存儲單元等設備必然會耗費大量電力來保持運行。但如果是虛擬化環境,從長遠來看,能夠節省大量的能源費用。

虛擬化具有更輕松,更具成本效益的維護
虛擬化基礎架構可以節省人力和伺服器生命周期維護費用。使用較少的物理伺服器,手動配置,監視和維護的次數較少。物理伺服器數量的減少還會降低硬體維護成本並增加可用的工作空間量。
4、虛擬化確保更好的可靠性和安全性
虛擬化通過使其更具流動性和上下文感知來提高安全性。使用基於軟體的安全解決方案時,與傳統的物理安全性相比,安全性變得更加准確,易於管理且部署成本更低。
虛擬化環境還可以節省IT基礎架構中安全漏洞期間發生的意外成本,因為IT工作人員擁有的機器較少,而且基礎設施較小。這使得解決安全威脅變得更加容易和快捷。

3. 存儲虛擬化的SAN系統組成

SAN是計算機工作者們為了優化DAS而提出的另一種設計思想,它並沒有試圖在功能上將應用服務和存儲服務完全解耦,而是希望伺服器與存儲設備之間通過專用光纖網路實現高速互連。如圖1所示,一個SAN系統通常包括伺服器連接器件、存儲網路連接器件、存儲設備和管理軟體四部分組成,其中存儲網路連接器件又可以細分為光纖通道集線器、光纖通道交換機和存儲路由器等設備。

圖1 SAN系統組成
從設計角度來看,只要購買一個NAS伺服器通過標准網路協議加入網路,就可以享受文件級的存儲服務了;但是如果打算採用SAN設計存儲網路的話,不僅需要購買伺服器連接器件、存儲網路連接器件、存儲設備和管理軟體,還需要事先規劃設計好存儲網路的拓撲結構。從使用上來看,SAN採用專用的光纖網路實現數據存取,能夠獲得高性能;而NAS伺服器與應用伺服器共用一套網路,性能比拼上明顯無法佔據上風。
可以看出,NAS和SAN各有所長,各有所短,實際使用中應該根據實際情況選擇合適自己的技術。近些年來,隨著主流NAS廠商開始向其NAS設備增加類似SAN的光纖通道和iSCSI功能,NAS和SAN之間的界限已經越來越模糊,也許不久的將來兩者將會迎來越來越多的重疊。
那麼到底是哪種技術,哪家廠商的方案是最佳的呢?哪種方案會成為存儲虛擬化大賽中的最終勝者呢?現在更多的專家認為,這場競賽沒有最後的贏家,越來越多人認為這三種技術應當結合使用。
如果我們把廠商和各自的虛擬化技術對號入座,那麼三個虛擬化陣營都各自有一些代表廠商。虛擬化應用陣營的代表有SVC、StorAge、NetworkAppliance設備以及NSS SED (Service-Enabled Devices)飛康。而在磁碟陣列和光纖通道陣營里,HDS、Sun、hp以及Acopia提供了多樣化的體系結構。交換機陣營則包括Invista、McData、Brocade、QLogic以及Cisco公司。
在虛擬化應用陣營中比較有代表性的廠商是飛康,飛康 NSS 是一款靈活的存儲虛擬化解決方案,能夠對整個企業內的存儲資源進行高效、經濟的供給和集中管理。飛康 NSS有助於最大化存儲利用率,降低總存儲成本和提高員工生產力。企業可以繼續利用現有的存儲投資,從而降低購置總成本 (TCO)。飛康 NSS 使 IT 管理員能夠根據業務應用程序服務級別協議 (SLA) 定義適當的業務持續性策略,從而實現更加面向服務的應用程序方法和數據可用性。
對於另外兩個陣營來說,由於McData,Brocade,Cisco等其他一些公司已經針對基於光纖通道虛擬化進行了一系列公司收購與合作,似乎不同類別方案之間的分界線已經變得模糊起來。其他兩個陣營中的廠商中有些也正在慢慢跨越自身的領域,即使目前來說並沒有真正完全的橫跨界限。
由於虛擬化性能、應用程序靈活性以及虛擬化引擎等諸多方面的問題,早期的存儲交換虛擬化和磁碟陣列虛擬化兩個陣營的提倡者廣受業界的質疑。最初執行虛擬存儲的廠商依賴那些基於現有組件的分布式解決方案或是基於埠的處理引擎來提供所需功能,應用設備虛擬化方案被認為是最易於配置的,但其往往有應用限制。因此一些廠商更傾向於存儲交換虛擬化,認為智能SAN虛擬化處理組件是下一代虛擬存儲的典範。
同樣,HDS針對應用虛擬化方案和網路交換虛擬化方案也作出了類似的批評。HDS認為他們的通用存儲平台(USP)是把虛擬化部署在存儲網路邊緣的存儲控制器,而不是部署在主機或是網路核心的交換機或應用設備,他們認為從性能和安全因素上說這是最佳位置。
而應用設備虛擬化的堅定支持者NetApp則認為通過應用設備在存儲網路上實現虛擬化是最好方案。NetApp公司發言人解釋:在選擇磁碟陣列方案後,存儲網路能給客戶提供最大的靈活性,不至於像TagmaStore通用存儲平台那樣把客戶鎖定在磁碟陣列的解決方案,既不需要那麼復雜,也不需要基於主機的虛擬化解決方案中客戶代碼帶來的成本。在存儲網路之內,應用設備可以靈活放置。
一個好的虛擬解決方案不要求對磁碟或存儲網路基礎架構進行任何改變。因此,需要和您的供應商進行討論來決定進行哪些改變才能夠測試和運行它們的虛擬解決方案。但是需要警惕的是一些解決方案要求企業購買新一代SAN交換機或新一代存儲控制器,而這樣做的目的僅僅是為了實現存儲虛擬。

4. 虛擬化平台是什麼裡面都包含哪些組件

通過虛擬化可以在單台物理計算機上運行多個虛擬機,且所有虛擬機可在多種環境下共享該物理計算機的資源。在同一物理計算機上,不同的虛擬機可以獨立、並行運行不同的操作系統和多個應用程序。拿雲宏的CNware虛擬化平台來做個例子:

1) CNware WinServer和虛擬化IT基礎架構
WinServer 是雲宏公司推出一套伺服器虛擬化解決方案。按需分配是雲計算的核心思想,WinServer是雲計算的基礎。

WinServer將應用程序和操作系統從底層硬體分離出來,從而簡化了 IT操作。

2) CNware WCE管理層
WCE 的介麵包括四大類
a) WinServer API 用來管理 WinServer伺服器
b) 異構虛擬化管理客戶端和第三方解決方案連接
c) 資料庫介面與DB連接,用於存儲信息
d) 北向介面用於對接WinCenter及第三方管理平台

3) 訪問 Cnware WinServer 虛擬化架構
訪問WinServer虛擬化架構,可通過如下三種方式

a) CNware Web Client
b) SDK和命令行界面
c) 直接虛擬機控制台訪問

4) 虛擬化解決方案
最後,我們介紹下伺服器虛擬化的三種解決方案,除了本文介紹的CNware(商用),還包括 openstack(開源)和VMware vSphere(商用)。

5. 雲存儲的核心技術:虛擬化存儲,究竟虛擬是怎樣實現的

虛擬化改變了計算機使用存儲的方式。就像物理機器抽象成虛擬機(VM:Virtual Machine)一樣,物理存儲設備也被抽象成虛擬磁碟(Virtual Disk)。今天我們就來聊聊虛擬化存儲(Storage Virtualization)技術,究竟虛擬磁碟是怎樣實現的?
虛擬磁碟的實現
我們知道,伺服器擴展存儲的手段主要有直連存儲(DAS)、存儲區域網路(SAN)和網路附加存儲(NAS)這三種類型。那麼哪種存儲類型可以用來實現虛擬磁碟呢?
在虛擬化環境中,類似VMWare這樣的虛擬機管理程序hypervisor,要同時給很多VM分配存儲空間。這個過程中,我們需要先把物理存儲資源重新劃分成虛擬磁碟,然後再分配給VM。
顯然我們不能用DAS方式把物理磁碟直連到VM上,如果這樣,需要的物理磁碟就太多了。SAN是以邏輯單元(LUN:Logic Unit)的形式提供存儲資源,但是虛擬環境中VM的數量是很大的,而且倫的數量不足以支持這么多虛擬磁碟。
更重要的是,虛擬磁碟是為大量VM共享的,由於VM需要隨時創建、刪除或遷移,所以需要在遷移VM時共享存儲空間,只有原始數據不會丟失。DAS還是SAN,都不適合共享存儲。

考慮到資源分配以及共享的問題,虛擬機管理程序以NAS的方式實現虛擬磁碟。VMware通常使用VMFS(虛擬機文件系統)或NFS協議實現虛擬磁碟,VMFS文件系統是專門針對虛擬機環境協議。

每一個虛擬機的數據實際上是一堆文件,及最重要的文件的虛擬磁碟文件(VMDK文件),也有交換分區文件(VSWP文件,等價交換),非易失性存儲器(NVRAM的文件相當於BIOS),等等。每個VM對虛擬磁碟的IO操作實際上是對虛擬磁碟文件的讀寫操作。
設計、施工、和虛擬伺服器環境和優化,允許多個虛擬機訪問集成的集群存儲池,從而大大提高了資源的利用率。使用和實現資源共享,管理員可以直接從更高的效率和存儲利用率中獲益。
那麼我們如何在雲計算中使用虛擬磁碟呢?
實例存儲
最主要的一種使用虛擬磁碟的方式就是實例存儲,每個VM都是虛擬機的一個實例,虛擬機管理程序在每個實例中提供一個模擬硬體環境,它包括CPU、內存和磁碟。這樣,虛擬磁碟就是虛擬機實例的一部分,就像物質世界。刪除VM後,虛擬磁碟也將被刪除。
在這個實例存儲模型中,虛擬磁碟與虛擬機之間的存儲關系,事實上,它是DAS存儲。但是虛擬磁碟的底層實現,我們說,它是以NAS的方式實現的。虛擬機管理程序的作用是存儲VM層的存儲模型,這是從實施協議分離(VMFS或NFS)的虛擬機的低層。

VMFS協議實現了存儲資源的虛擬化,再分配各VMs
卷存儲
實例存儲有它的限制,開發人員通常希望分離實例數據,例如OS和安裝的一些伺服器應用程序和用戶數據,這樣重建VM的時候可以保留用戶的數據。
這個需求衍生出另外一種存儲模型:卷存儲。卷是存儲的主要單元,相當於虛擬磁碟分區。它不是虛擬機實例的一部分,它可以被認為是虛擬機的外部存儲設備。
該卷可以從一個VM卸載,然後附加到另一個VM。通過這種方式,我們實現了實例數據與用戶數據的分離。OpenStack的煤渣是一個體積存儲的實現。
除了實例存儲和卷存儲之外,最後我們還提到另一種特殊的虛擬存儲:對象存儲。
對象存儲
很多雲應用需要在不同的VM之間共享數據,它常常需要跨越多個數據中心,而對象存儲可以解決這個問題。在前一篇文章中的雲計算IaaS管理平台的基本功能是什麼?》中曾經提到過對象存儲。
在對象存儲模型中,數據存儲在存儲段(bucket)中,桶也可以被稱為「水桶」,因為它字面意思。我們可以用硬碟來類推,對象像一個文件,而存儲段就像一個文件夾(或目錄)。可以通過統一資源標識符(URI:統一資源標識符)找到對象和存儲段。
對象存儲的核心設計思想實際上是虛擬化,它是文件的物理存儲位置,如卷、目錄、磁碟等,虛擬化是木桶,它將文件虛擬化為對象。對於應用層,簡化了對數據訪問的訪問,屏蔽了底層存儲技術的異構性和復雜性。

對象存儲模型
NAS與對象存儲各有所長
當然你也許會問,NAS存儲技術也是一個可以解決數據共享的問題嗎?由於對象存儲的大小和成本優勢,許多雲環境使用對象存儲而不是NAS。
因為對象存儲將跨多個節點傳播,最新數據並不總是可用的 因此,對象存儲的數據一致性不強。如果有強一致性的要求,然後你可以使用NAS。目前,在雲計算環境中,NAS和對象存儲是共存的。
和NAS一樣,對象存儲也是軟體體系結構,而不是硬體體系結構。應用程序通過REST API直接訪問對象存儲。公共對象存儲包括:Amazon S3和OpenStack的Swift。
結語
在實際的雲平台應用中,我們需要根據自己的實際情況來合理運用不同的虛擬化存儲技術。
對於非結構化的靜態數據文件,如音視頻、圖片等,我們一般使用對象存儲。
對於系統鏡像以及應用程序,我們需要使用雲主機實例存儲或者卷存儲。
對於應用產生的動態數據,我們一般還需要利用雲資料庫來對數據進行管理。

6. 計算機虛擬化技術的應用虛擬化平台

通過和信應用虛擬化來發布企業應用系統,能夠為用戶帶來更好的體驗。不需要改變現在網路結構和修改任何應用程序,就能實現快速、靈活地部署,而且內置的安全、負載均衡機制保證了企業不間斷業務的進行,同時大大簡化系統管理員管理和維護工作量。
使用和信應用虛擬化有什麼好處?
使用和信應用虛擬化能夠做到:
- 軟體應用的集中管理;
- 遠程安全接入與應用訪問控制;
- 應用加速;
- 企業應用平台從區域網向互聯網遷移。
和信應用虛擬化客戶端環境要求
操作系統:Windows XP、2003、Vista、Win7 32位及64位系統
和信應用虛擬化客戶端無特殊要求,只要能順利安裝以上操作系統,均可無障礙使用和信應用虛擬化。 虛擬化能使用戶在一台伺服器上同時運行多個操作系統,這與「多重任務處理」技術有些類似。不過「多重任務處理」技術只允許用戶在同一機器設備的同一操作系統中運行多個程序,而虛擬化則可讓用戶在同一機器設備中運行多個操作系統。這樣用戶能更靈活高效地配用計算機資源,並且有助於提高安全性能。
想像一下,一個操作系統幾乎不需花任何時間就可被啟動,即使它崩潰了,你只需簡單地將它剔除出去,同時立即裝載一個新的。如果你正在同時運行幾個操作系統,當你准備給其中一個載入新的映像時,你可馬上將它關閉,並把該系統正在處理的工作分流給其他系統運行。如果你有5個RedHat的副本正在運行Apache伺服器軟體,而其中一個因滿負荷而停止響應,沒問題,你只需簡單地將響應請求轉交給其他4個系統處理,同時重啟那個停止工作的系統就行了。
如果你已為你正在運行的操作系統存儲了一份「快照」,那麼每當有一些不愉快的事情發生時你都可重新啟動它,例如被黑客攻擊、感染病毒。從一個安全的分區載入映像並修復好它就行了。虛擬化還可讓用戶毫不費時地重新安裝操作系統而不需像以往使用Ghost那樣去安裝設備驅動。你可簡單地就像使用普通程序那樣去載入、卸載和存儲操作系統。
同樣,它也允許你在同一台機器上使用多個不同的操作系統。如果你是一名程序員,需要編寫代碼使它們在Windows 95/98/Me/2000/XP上都能運行,你可在你的辦公桌上准備5台機器或是1台運行了5種虛擬化操作系統的電腦。同時,作為程序員的你需在每個瀏覽器的每個版本上校驗這些代碼,很明顯微軟不會讓你在一個已擁有高版本IE的情況下去安裝更低版本的IE去做這些事,但你可一個個地安裝舊的操作系統或採取更好一些的解決方法——讓它們同時運行。 是不是一切都很簡單和完美?然而在虛擬化世界並非一切都是盡善盡美的。最顯而易見的就是那麼多的副本操作系統(上面例子中的操作系統副本多嗎?你可以想像一個網路主機公司,20個、50個都是有可能的)同時運行在一台計算機上需要佔據很多的資源並導致更昂貴的伺服器開銷。數據傳輸在任何情況下都變得更難,因為越多東西被載入,需要的存儲器容量也就越多。
是的,真正的殺手就是系統開銷。目前在計算機虛擬化方面有幾項技術,但它們都伴有不同程度降低系統性能方面的問題。單就CPU而言,其佔用率可以從10%到超過40%。
很顯然,我們需要新的技術來解決這些問題。Intel所要採用的VT技術背後的思想就是降低虛擬化時的系統開銷。在我們深入了解它如何工作之前,我們有必要了解一下虛擬化技術到底是如何實現不同的操作系統工作在同一CPU上的。
目前主要存在有3種類型的虛擬化技術:Paravirtualisation、二元碼轉譯和模擬器。大家最為熟悉可能就是模擬器了。你可以讓一個超級任天堂的模擬器在Windows XP的一個窗口中運行,同時還可有另一個PS模擬器。這些都可看作是虛擬化的最基本形式。模擬器需耗費巨大的CPU開銷,如果你非要去模擬硬體裝置的每一個Bit位,你將花費大量的時間和精力。比較好的方法是跳過其中的某些部分,我們使用的模擬器就是這樣,它工作得也還過的去。
這個領域的另一端就是目前較流行的並被業界認可的「Paravirtualisation」(以下簡稱PV)技術。按字面意思理解,是編程序模擬的意思。它讓主機操作系統知道它們正工作在一個虛擬化的環境中,通過修改它們以使之工作得更好。因此操作系統需針對這種方法進行修改和調整,它們必須來回於操作系統的編寫人員和編寫虛擬化軟體人員之間。從這個角度來看,它並非是完全的虛擬化,因為存在這種合作的關系。
PV技術在開源代碼的操作系統中工作得不錯,Linux,、xBSD都是很合適的PV工作平台的候選者,你可在這些系統中任意調整所需調整的地方,使PV能工作得更好。而Windows則不行,這大概能解釋最近為什麼眾多IT巨頭吹捧開源虛擬化技術Xen了。
而「二元碼轉譯」(以下簡稱BT)技術可說是較折衷的方法了。它所要做的取決於操作系統將要做些什麼,並在不知不覺中改變它。假如操作系統試圖去執行指令A,但該指令A會給虛擬化引擎帶來某些問題,那麼BT將把它轉換成某些更合適的指令並偽造指令A應該返回的結果。這是一項欺騙工作,且佔用大量CPU資源,另外用許多代碼取代一條代碼也不會使事情運作得快些。
當你了解這些後,你會感到頭痛。純粹致命的缺陷的確沒有,但都沒有一個簡單的解決方案。這些虛擬化的技術仍在繼續運用,只是人們都在盡量使其處在一個較低程度的缺陷范圍內工作罷了。是什麼造成這樣的呢?
(圖04,傳統的軟體虛擬化技術) 對於X86系統架構的CPU而言,至少在32位領域,有太多讓人頭痛的條條框框,但作為一條總則,它們都包含有環轉換器(Ring Transitions)和有關指令。從概念意義上說,環是一種劃分系統特權級別的方法(因此「Ring」也稱作特權環)。你可讓操作系統運行在一個特權級別上而不會使之被用戶程序更改。這樣即使你的程序出了問題,它也不會導致系統崩潰,而操作系統能取得控制權,關閉出毛病的程序。這些環強行控制系統的不同部分。
Intel公司的X86系列CPU(包括80386、80486、Pentium、Pentium Pro、Pentium Ⅱ、Pentium Ⅲ以及現在的Pentium 4CPU),提供4個特權級別R0、R1、R2和R3。較大的數字表示較低的特權,我們可簡單理解為運行在某一級別的程序無法改變運行在較小數字級別上的程序,但較低數字級別上的程序可干擾甚至控制運行在較高數字級別的程序。
在實際運用中,被經常用到的只有R0和R3,即最高級別和最低級別。操作系統運行在R0上,而用戶程序運行在R3上。X86架構在向64位擴展時,採用的方法之一就是通過去掉中間的特權級別——R1和R2。幾乎沒有人注意到它們消失了,除了那些使用虛擬化技術的特定人群。
像VMware這類軟體模式的虛擬化機(Virtual Machines,以下簡稱VM)顯然必須運行在R0級別上,但如它們要想保持完全控制權,就必須使操作系統在這個級別之外。最顯而易見的解決辦法是強迫主機操作系統運行在一個較低級別的環中,如R1。它們的部分代碼原先被設定為從R0到R3,而不是R1到R3。雖然在PV環境中,你能修改操作系統從而使它工作得很好,但如果你要找到一個圓滿的解決方法,就必須使操作系統工作在R1級別中。
可如此一來又出現問題了,有些指令只有當它們從R0級里發出或發往R0級時才會工作,如果不在正確的環中,這些指令會運作得很古怪。如果你試圖這么去做,會有很不好的後果。讓代碼在正確的環中執行確實能防止操作系統破壞VM,同時也防止運行在主機操作系統上的軟體破壞操作系統自身。這就是所謂的「0/1/3」模式。
還有一種模式被稱為「0/3」模式。這種模式將VM放入R0級別中運行,而將操作系統和用戶程序都放入R3級別中。但從本質上而言,它還是像「0/1/3」模式一樣去處理其他事情。在R3級別里,有特權的操作系統能更輕松地執行用戶程序,由於不存在環的阻隔,也使它運行的更快一些,但系統穩定性不佳。
另外一個方式去使用「0/3」模式,就是讓CPU保有兩份運行於R0級別中的事物的頁表。一份為操作系統,另一份為運行在R3級別中的老程序。這樣可擁有一份完整的存儲器保護集,用來把用戶程序隔離到操作系統空間之外。當然,這同樣需要消耗性能,只是以不同的方式罷了。
概括來說,在「0/1/3」模式中,系統安全性更高一些,但從R3到R1、R3到R0或R1到R0轉換時性能會受到一些影響,反過來也是。在「0/3」模式中,只存在R0與R3之間的轉換,所以它潛在的比一個非主機操作系統運行得更快一些。但如你碰到一個問題,「0/3」模式比「0/1/3」模式更容易出現藍屏。盡管未來將廣泛使用「0/3」模式,主要是因為上文我們提到向在64位擴展時已去掉了R1和R2,所以你必須被迫使用「0/3」模式。對計算機而言,這被稱作是進步,同樣,毀滅性的崩潰被認為是「古怪」行為。
理論上,如果你可忍受一點不穩定性,或者在「0/1/3」模式中犧牲一點速度,那麼應該說的很完美的。可它們在某些方面確實還存在一些缺陷,主要存在以下4點。首先是那些檢驗指令自己所在環的指令,另外是那些處在錯誤的環中卻沒有正確保護CPU現場的指令。最後兩點是截然相反的,就是那些應引發錯誤卻沒有導致錯誤的指令,以及那些本不該導致錯誤卻引發許多錯誤的指令。所有這些都讓編寫VM的天才程序員們活得不輕松。
其中第一點是顯而易見的。如果你給予操作系統R1級別的特權,當它檢驗自己運行所處的環時,它會返回1而不是0。如果此時運行於該系統的一段程序期望自己應該處在R0環時,那麼它會因為得到的是R1而導致錯誤。這會導致藍屏的出現,存儲器清除或另一些不理想的後果。二元碼轉譯技術可捕捉到這種錯誤,並把返回值偽裝成0,但這意味著需要幾十上百條指令來完成這一工作,顯然速度受到極大影響。
保護現場是一個潛在的更糟糕的問題,有些CPU里的東西在上下文開關程序中並不是很容易被保存的。那些隱藏的段寄存器狀態就是一個很好的例子。一旦它們被載入主存,其中一部分無法被保存,導致內存常駐部分和CPU中實際值間的不同而引起意外中斷。當然我們可為它們設立工作區,但這樣做極為復雜且需付出很高的代價使之表現得聰明一些。
那些本該引起某些問題卻沒有導致這些問題的指令也是擺在我們眼前的一道難題。如果你期望一條指令應在你後面的設計的中斷陷阱中造成錯誤,但卻沒有,這一點也不會讓人因為沒有錯誤而高興。與此相反的情況也極為常見,如果不在正確的環中向CR0和CR4寫入,則會產生錯誤,導致系統崩潰。雖然這兩種錯誤在你不注意時可被修正,但卻造成很多性能損失。
整個所涉及到的虛擬化技術就是要將操作系統放在一個它本不應該在的地方,不斷地運轉去嘗試解決所有撲來的問題。存在許多問題,這些問題也不斷的發生,所以性能損失也就沒什麼奇怪的了。 Intel的VT技術能解決這些困擾。VT的目的是在盡可能最小化程序員痛苦的同時盡可能多的增加「virtualization holes」(虛擬化孔)。這種解決方案中,VT-X針對X86而VT-i針對Itanium,分別引入了一種新的模式針對不同的CPU。這里我們主要來看看VT-X,實際上VT-i的功能與VT-X有很多相同的地方。
這種新的模式被稱為VMX,並且引入了一個虛擬化機監控器VMM運行於其中。它被設定在R0級別下,你可以認為是R-1級或者看成是在環的旁邊運行。主機操作系統和所有的程序在VMX模式中運行,與此同時VMM運行在VMX根模式中。
任何一個運行在VMX模式下的操作系統,都擁有所有運行於非VT系統中的一般操作系統的功能和特性。它也處在R0級別中,與平常一樣有權利處理每一件事情,而且並不知道有什麼東西正在它的旁邊運行。當情況得到授權,CPU進入VMX根模式,VMM就可以切換到其他一個運行在另一VMX實例的操作系統。這些切換被稱做VM登錄和VM退出。
VT技術所表現出來的不可思議的地方就在於它將從VMX模式到VMX根模式(或從VMX根模式到VMX模式)的登錄和退出處理易於操作。一旦主機操作系統被涉及到,那它一定是獨自處在自己的世界裡的,你必須保存虛擬化世界的完整狀態並當你返回時重新載入它。雖然在VT里還有很多事物要去處理,但它被設計為一項任務,所以客觀地說它實際是一個簡單而並不費力的進程。
因為每一個操作系統實例都在正確的位置運行,所以前面所提到的4個問題也就不存在了。相關聯的工作區也不再需要,與此有關的系統開銷沒有了。這些能有效提高速度。但這些並非免費,只是付出的代價要少很多。
啟動一個新的主機操作系統,你需為其留出一塊4kB的存儲區並將它傳遞給一個VMPTLRD指令。這塊區域將用來存儲該系統實例不被激活時的所有狀態和重要Bit位。只要該操作系統實例存在,則這塊區域一直有效,直到在其上運行一條VMCLEAR指令。這樣就設立了一個虛擬化機實例。
如果你想要把控制權交給虛擬化機,你要麼登錄VMX非根模式或簡單一點,運行VMX模式即可。這些提到的VM登錄指令就是VMLAUNCH和VMRESUME,兩者並沒有太大的區別。VMRESUME指令只是簡單地從剛開始已經初始化的4kB存儲區里載入CPU狀態,並把控制權交給主機操作系統。VMLAUNCH做的也是同樣的工作,但它會啟動一個虛擬化機控制構件VMCS,它包含一些設立VM的現場背後的記錄,因為這需花費一些時間,所以人們盡量避免在並發登錄時使用VMLAUNCH。
從這一點來看,主機操作系統開始了它的愉快之旅,盡可能地運轉,毫無察覺是否有其他東西正在它的一旁運行。正如過去所計劃的一樣,它存在於自己的世界裡,全速運行,或接近全速。唯一的問題是你如何打破這一切美好的景象而將它關閉到一邊,以使得機器里的其他操作系統能真正運行。這就是VT技術所體現出來的復雜的一面——VMCS中一些特別的位映像。
這些位映像是一些32位的欄位,每一個Bit位標志一個事件。如果某個事件被觸發,則對應的Bit位被置位,CPU觸發一條VM退出指令,並將控制權返還給運行在VMX根模式下的VMM。VMM可做任何想做的事,然後將VMRESUME指令傳遞給下一個操作系統,或剛離開的那個操作系統。這個被啟動的操作系統同樣很好地運行著,直到觸發另一條VM退出指令。如此這樣以每秒上千次的速度重復著。
什麼能觸發這些指令呢?它們可以是引腳信號、CPU、異常和頁面錯誤這些平台事件,所有這些都會觸發VM退出指令。VT技術的完美之處在於它有很強的適應性,另一個與此類似之處就是在調試程序中設置斷點,你可在每個事件上都設置一個,或者一個也不設置,這都取決於你自己。
引腳信號事件要做的是當有一個內部中斷或一個不可屏蔽中斷發生時,則觸發退出指令。而CPU事件,則是當你設置任意Bit位在某一欄位,當相應的CPU狀態接收到它時,則觸發退出指令。雖然大多數指令需要去設置,但也有一些指令無條件地引發VM退出指令。這是在一個非常細小的層面上控制VM,允許每當你需要時登錄和退出。
異常位映像也是一些32位的欄位,每個Bit位標志每個32位指令地址的異常情況。如果Bit位被設定並有一個異常被拋出,它就會引發VM退出指令。如果Bit位是空的或沒有異常,那麼主機操作系統則繼續它的快樂之旅,與平常一樣。這是一種從VMX模式退出而進入VMX根模式的系統開銷非常低的方法。
最後還有頁面錯誤退出,它與異常退出十分相像,只不過它用兩個32位欄位來控制。這些欄位內的Bit位對每一個可能出問題的頁面錯誤代碼進行映像,因此你可細心地從中挑選從哪裡退出。同樣,它也是基於很細小的層面,系統開銷也很低。
在計算機里,VT工作在一個比傳統的R0環更有特權的級別中。任何一個主機操作系統都可在沒有改變的舊有架構下運行,並且不知道一個控製程序在控制它們。當遭遇到某些用戶設置的觸發器,控制權將被轉交給運行在更高級別的VMX根模式上的VMM。因為這是一種被動觸發事件,而不需被積極監視,因此系統開銷降到了最低限。
VT技術使得安裝和卸載那些比以往VM模式更穩定的運行環境變得簡單。如果你需運行虛擬化系統,沒有理由不用一個擁有Vanderpool功能的CPU去實現它,而軟體虛擬化機會逐漸不被人關注。
這也許不錯,但必須記得,這必須付出代價。每一次登錄意味著建立4kB的存儲區域,每一次退出要向這4kB存儲區內寫入數據。這看上去有些耗費過多,可與那些較老的方式比較,它的速度驚人地快。 Intel的VT技術給人們帶來了驚喜,它讓我們可在硬體級別上完成計算機的虛擬化工作。目前時機成熟了,Intel將首先在其桌面CPU中引入該技術,最新的Pentium 4 6系列CPU就支持VT,這讓更多的用戶都能涉足到新技術的應用,大大提高了用戶使用CPU的效率,編寫VMM不再那麼困難了。
不過我們也要清醒地認識到,現有的虛擬化技術不會馬上消失,相反它們會變得更為普遍且系統開銷問題也正得到改善,而大型伺服器提供商們也不會在現有的技術上發生巨大的變化,畢竟目前還用得過去。加上AMD公司也發布了在其64位CPU上使用Pacifica虛擬化技術,因此VT想要取代現有的計算機虛擬化技術或得到人們的認同還需一段時間。可我們相信硬體級別的虛擬化技術毋庸置疑的是未來計算機發展的方向,有著燦爛的前途。

7. 虛擬存儲系統可以在任何計算機上實現么

虛擬存儲基於軟體實現,理論上是可以在任何計算上實現的。

其實虛擬化技術並不是一件很新的技術,它的發展,應該說是隨著計算機技術的發展而發展起來的,最早是始於70年代。由於當時的存儲容量,特別是內存容量成本非常高、容量也很小,對於大型應用程序或多程序應用就受到了很大的限制。

(7)虛擬化計算機存儲平台擴展閱讀:

虛擬文件系統存儲方案著重解決大規模網路中文件共享的安全機制問題。通過對不同的站點指定不同的訪問許可權,保證網路文件的安全。在實際應用中,虛擬文件系統存儲方案以非對稱式拓撲結構為表現形式。

虛擬存儲提供了一個大容量存儲系統集中管理的手段,由網路中的一個環節(如伺服器)進行統一管理,避免了由於存儲設備擴充所帶來的管理方面的麻煩。

8. 虛擬化有哪些應用

虛擬化技術具有可以減少伺服器的過度提供、提高設備利用率、減少IT的總體投資、增強提供IT環境的靈活性、可以共享資源等優點,但虛擬化技術在安全性能上較為薄弱,虛擬化設備是潛在惡意代碼或者黑客的首選攻擊對象。
目前常用的虛擬軟體有VMware、VirtualPC以及微軟在推的windowssever2008中融入的Hyper-v1.0。自從全球經濟危機開始,虛擬化技術被廣大企業迅速應用,2009年也是虛擬化技術大潮興起的一年。
1、高校信息化建設中的應用
高校信息化建設從20世紀90年代開始,已經經歷了單機環境、C/S架構、B/S架構、SOA等多個發展階段。目前,高校信息化建設已經涉及到高校的教學、科研、管理、生活、服務等相關領域,所需要的計算機平台、存儲環境和網路環境多種多樣,隨之也帶來了IT基礎設施的資源利用率低和管理成本高等問題。將虛擬化技術應用到高校信息化建設中,既能提高高校信息基礎設施的效率,也能提升信息化基礎平台的可靠性和可維護性,降低IT相關管理成本。
2、企業管理上的應用
企業應用虛擬化技術時,主要集中在與對企業伺服器虛擬化管理以及企業信息化建設應用中。

虛擬化技術在雲計算中的應用
1、伺服器虛擬化
伺服器虛擬化技術可以在單一的物理伺服器上運行多個虛擬伺服器,並且為虛擬伺服器提供了能保證其正常運行的硬體資源抽象,比如虛擬BIOS、虛擬CPU、虛擬內存、虛擬I/O設備等等,同時還可以使虛擬機具備良好的隔離性和安全性。在雲計算中,伺服器虛擬化技術也可以將一個雲計算伺服器虛擬成若干個伺服器使用,但伺服器虛擬化需要具有封裝性、多實例、隔離性和高性能這些特性,才能保證在實際環境中進行有效的運用。封裝性指的是硬體無關性,意思是在使用了伺服器虛擬化技術後,一個完整的虛擬機環境對外表現為一個單一的實體,便於在不同的硬體間備份、移動和復制等。多實例是指在一個雲計算物理伺服器上,支持多個客戶操作系統,運行多個虛擬伺服器。隔離性是指當伺服器虛擬化為多個實例時,一個虛擬機與其他虛擬機能夠完全隔離。使用隔離機制的好處是即使其中的一個或幾個虛擬機因意外發生崩潰,其他的虛擬機也不會泄露數據,受到任何影響,保障了數據的安全。高性能是指伺服器虛擬化的性能損耗要被控制在可以承受的范圍之內。
2、網路虛擬化
通常網路虛擬化包括虛擬專用網和虛擬區域網。由於虛擬專用網抽象了網路連接,所以遠程用戶可以像物理連接一樣訪問組織內部的網路。而且虛擬專用網還可以防止來自Internet或Intranet中其他網段的威脅,使用戶能夠安全、快速地訪問數據,極大的幫組了網路管理員對網路安全的管理。虛擬區域網技術可以使其內部的通信類似物理區域網,將多個物理區域網劃分到一個虛擬的區域網中,同時也可以將一個物理區域網劃分成多個虛擬區域網。目前虛擬專用網和虛擬區域網在雲平台搭建中均有使用,成為雲計算服務的一個重要支撐技術。
3、存儲虛擬化
網路存儲系統隨著信息業務的不斷發展已經成為企業的核心平台,隨著企業高價值數據的應用,對網路存儲平台的要求也越來越高。網路存儲平台性能的好壞直接影響企業整個雲平台的運行,因此對網路存儲平台的存儲容量、數據傳輸、數據管理和運行、擴展能力上都提出了更高的要求。正因為這個原因,存儲虛擬化技術應運而生。
雲存儲是一個以數據存儲和管理為核心的雲計算系統,是一個復雜的存儲虛擬化、自動化的過程。通常在雲計算構架中,雲用戶終端沒有任何的儲存設備,他們只管享用雲中的存儲服務,不必了解具體的存儲過程,也不需擁有具體的存儲設備。使用存儲虛擬化技術可以將邏輯存儲單元整合在廣域網范圍內,並且存儲單元從一個磁碟陣列移動到另一個磁碟陣列上時可以不需要停機。雲計算存儲系統中使用存儲虛擬化技術可以大幅簡化存儲資源的分配與管理,提高硬體利用率。數據管理員只需要通過通用的管理界面就能對數據進行管理和控制,大大減少了交互操作的工作。
4、桌面虛擬化
桌面虛擬化可以解除用戶的桌面環境和終端設備的耦合關系。用戶的完整桌面環境可以存儲在伺服器中,桌面虛擬化技術可以讓用戶通過不同的具備有足夠顯示功能和處理能力的終端設備通過網路來訪問桌面環境。比如用戶或維護人員可以通過智能手機、個人電腦或者平板電腦等終端設備通過網路來配置PC或其他客戶端設備,而不必去每個用戶的桌面管理這么多的客戶機,大大減輕了維護工作量,也加強了對客戶端設備的管理和控制。

9. 說一說什麼是虛擬化

一、什麼是虛擬化

虛擬化是一個廣義的術語,是指計算元件在虛擬的基礎上而不是真實的基礎上運行,是一個為了簡化管理,優化資源的解決方案。如同空曠、通透的寫字樓,整個樓層幾乎看不到牆壁,用戶可以用同樣的成本構建出更加自主適用的辦公空間,進而節省成本,發揮空間最大利用率。這種把有限的固定的資源根據不同需求進行重新規劃以達到最大利用率的思路,在IT領域就叫做虛擬化技術。

虛擬化技術可以擴大硬體的容量,簡化軟體的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU並行,允許一個平台同時運行多個操作系統,並且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。

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

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

虛擬化技術有很多定義,下面就給出了一些這樣的定義。

「虛擬化是以某種用戶和應用程序都可以很容易從中獲益的方式來表示計算機資源的過程,而不是根據這些資源的實現、地理位置或物理包裝的專有方式來表示它們。換句話說,它為數據、計算能力、存儲資源以及其他資源提供了一個邏輯視圖,而不是物理視圖。」 —— Jonathan Eunice, Illuminata Inc。

「虛擬化是表示計算機資源的邏輯組(或子集)的過程,這樣就可以用從原始配置中獲益的方式訪問它們。這種資源的新虛擬視圖並不受實現、地理位置或底層資源的物理配置的限制。」 —— Wikipedia

「虛擬化:對一組類似資源提供一個通用的抽象介面集,從而隱藏屬性和操作之間的差異,並允許通過一種通用的方式來查看並維護資源。」 —— Open Grid Services Architecture Glossary of Terms。

10. 什麼是虛擬化技術請說明計算機信息化的概念及資源類型列舉虛擬化典型平台並對

摘要 1 虛擬化技術