1.虚拟化的历史和定义
Putting it bluntly, virtualization is deception.
(坦白說,虛擬化就是欺騙)
1.虛擬技術帶來的好處與問題
隨著21世紀,信息時代的步伐加快,一些基礎設施遭到了虛擬機服務器、虛擬網絡、虛擬存儲、虛擬設備和其他的“虛擬技術”的逆襲,從而帶來不少好處同時也面臨了一些新的問題需要我們來思考。
1.1虛擬技術的不斷深入帶來的好處:
- 降低成本,提高資產利用率;
- 更穩定和更高的可用性;
- 簡化操作流程
1.2 可能帶來的問題:
- 所有的這些技術是否真的能帶來這么多好處?
- 什么是虛擬設備?它近乎是一個設備嗎?會實現的更好嗎?
- 所有的虛擬化技術是否都一樣?
2.數據中心的基本定義
2.1數據中心的定義
數據中心:它是一個特殊設施,他被設想用來為一個或多個組織安置、管理和支持那些被認為至關重要的計算機資源。
典型數據中心包含:
特殊建筑結構、電源備份結構、冷卻系統、專用室(例如:入口和電信接入)、設備機柜、結構化布線、網絡設備、存儲系統、服務器、主機、應用軟件、物理安全系統、監控中心,以及許多其他支持系統。所有的這些資源極其相互關系均為專門人員(本地或遠程)管理。
如下圖所示:描繪的是一個單一的數據中心機房情況,而現實中模塊數據中心可能包括多個類似的跨越不通樓層或建筑的機房環境。
需要注意的是:數據中心目前已經成為各大公司以及技術人員的關注焦點,因為現在普遍公司實現利潤增長,業務對IT的依賴越來越密不可分,對公司而言所有的數據中心組件協調工作,以保障以下商業應用具備足夠的服務等級協議(Service-Level Agreement,SLA)
- 商業智能(Business Intelligence,BI)例如:常常談到的大數據技術
- 客戶關系管理(Customer Relationship Management,CRM)
- 數據倉庫(Data Warehouse,DW)
- 電子商務
- 企業資源規劃(Enterprise Resource Planning,ERP)
- 供應鏈管理(Supply Chain Management,SCM)
- 其他諸多系統
2.2 數據中心的演進
2.2.1 DC1.0階段(20世紀50年代~20世紀80年代)
可視為一份“藝術許可協議”,因為這些設施被簡單的成為計算機室。通常有IBM設計體型龐大,基于龐大的軟件體系機構,這些集中的系統需要更加嚴密的控制,才能獲得較高的資源利用率。
2.2.2 DC2.0階段(20世紀80年代到21世紀初)
主要由于“客戶端—服務器”應用模型的普及,個人PC的興起,應用環境開始從大型機向更小的“服務器”平臺遷移,并且通過安裝在PC機上的客戶端應用程序來實現訪問。
就性能預測和軟件模塊化而言,C/S模型被納入到了應用協議層之中,每一層都部署了專用的服務器來執行特定的功能。典型的分層應用架構的例子:
三層模型:呈現(WEB頁面)、應用(APP或業務邏輯)、數據庫服務器(DB)
2.2.3 DC3.0 階段(21世紀初到至今)
DC2.0的突出問題:
數據中心的空間和功耗不斷趨于飽和,而擴容和部署新的設施昂貴。(說白了,也就是資源利用率低到尷尬,而且管理不便)
虛擬化技術項目的應用是來解決DC2.0時代產生的的問題
虛擬化項目的目標:
- 統一的架構下環境隔離
- 離散資源聚集形成共享池
- 操作程序簡單化,最好使用自動化技術
2.3 作業區以及數據中心架構
2.3.1 數據中心組織
?
?上圖中是數據中心組織結構關系,但實際上他們不是相互獨立的,而是相互依存的關系。
例如:
- 每機架的服務器數量取決于電源動力分配設計;
- 網絡設計必須依據每個機架安裝多少服務器以及提供多少個接口;
- 數據中心網絡設備的物理位置會影響結構布線設計;
- 線纜可以布在活動地板下(EOR布線);
- 活動地板會對冷卻系統產生直接影響,而冷卻系統通常是消耗電力最高的;
注意:在數據中心“萬物互聯”的環境中,一個團隊的單獨決定可能會損害整個設施。因為在整合數據中心的演變過程中,強烈推薦站到端到端的角度去考慮,也就是從整體出發,弄清之間的關聯性。
2.3.2 不同技術的生命周期
數據中心架構是這樣一套指令,由它驅動著所有數據中心的設計。
如果一個數據中心是一座城市的話,數據中心的架構師就相當于城市規劃師,按照附近的街道容量(網絡)以及公共停車位的數量(存儲)來統籌部署建筑(服務器)。同樣的專業人員還必須處理“社區”之間的差異性,就像大型機和低端機服務器一樣。
- 建筑:10年~15年
- 布線:7~10年
- 網絡:3~5年
- 存儲:1~2年
- 服務器:6~18個月
?3.數據中心虛擬化的起源
3.1 虛擬內存
3.1.1 存儲的定義
存儲:在若干時間間隔內來保留計算所使用數據的能力。
計算機至少部署兩個級別的存儲:
- 主存儲器(或主內存):可以直接由CPU進行訪問,通常是易失性的。(掉電數據容易丟失)
- 二級存儲器(或輔助內存):它要求一個額外的系統來傳輸數據到主存儲器中,通過使非易失性的。(掉電數據不丟失容易保存)
注意:根據定義,二級存儲器會空間會更大,更加便宜,但是比主存儲器慢。
3.1.2 虛內存出現的背景
在20世紀50年代,主內存通過磁核直接部署,而輔助內存則是基于磁鼓旋轉方式實現。那時的程序員在編寫代碼時,需要努力使它不會超過主內存大小。有時候,他們不得不使用一個特定的策略將數據轉移到輔助內存中,從而釋放主內存空間以滿足程序中更多的數據的處理。
3.1.3 虛擬內存的產生
1959年,曼徹斯特大學的阿特拉斯團隊發明了一種自動機制,解決了程序員對上述存儲分配的煩惱。
虛擬內存定義:使用輔助內存作為主內存的擴展。
注意:使用虛擬內存,計算機的CPU可以直接訪問內存的一個地址,無需知道它位于主內存或者輔助內存。
?
?虛擬化操作過程:
- (1)將虛擬內存地址轉化為主內存或輔助內存的位置;
- (2)在這兩個存儲設備之間轉換數據;
- (3)選擇哪些數據將被合理放置在更快的主內存中;
總結:采用這種做法,一個仿真的內存呈現給了CPU,這樣帶來了內存擴展的優勢并且增強了程序代碼的復用性。
應用:虛擬內存是最新計算機操作系統(如:Windows和Linux)的一個重要組成部分。常用的虛擬內存方法被稱為分頁,這項技術中,被稱為頁面的同類數據塊就是從輔助內存中重新獲得的,實現了非連續數據存儲。虛擬內存原理同樣適用于“高速緩沖存儲器”的創建。
3.2 大型機虛擬化
3.2.1 大型機虛擬化
1972年,與新一代的處理器(System/370)一起,IBM官方同時發布了大型機虛擬化的解決方案。
上圖所示,VM/370操作系統包含一個叫做控制程序(Control Program, CP)的軟件組件,也可稱為超級監督者(hypervisor)。
該程序作用:虛擬機創建、資源共享、設備管理、虛擬存儲管理和其他的操作系統任務。每個大型機用戶可以通過與會話監控系統(Conversational Monitor System,CMS)交互,來實現自己物理處理器的仿真。
影響:對于IBM而言,當時每個新處理器發布是,客戶總會面臨操作系統遷移問題,而虛擬機為此遷移提供了一個解決方案。筆記使用這種虛擬化,一臺獨立的大型機可以同時安裝不通版本的操作系統(包括另一個CP實例)
3.2.2 分時共享機制
技術背景:將昂貴的大型機資源分配給不同用戶。
技術原理:通過將掛起當前用戶的作業,并在內存中保存其用戶狀態,然后加載另一個用戶狀態,為每個用戶提供一個平等的大型機資源的時間片。
技術解析:分時共享機制可以認為是一個“陳舊的”虛擬化技術,因為每個用戶均會錯誤的認為它完全控制另外的計算機。然而與虛擬機截然不同的是,所有用戶共享相同的操作系統,不存在不平等的、不適當的資源分配情況,也不會處于相同的故障域之中。
注意:這兩個概念對于當前計算機系統界非常重要。如今,分時共享已經是多任務操作系統的基石,虛擬機則是數據中心3.0階段的旗艦技術。
3.3 熱備份路由協議
3.3.1 技術背景
TCP/IP網絡架構中,一臺主機通常使用一個路由器接口作為默認網關來將數據包轉發到另外一個IP子網。盡管在一個局域網(Local-Area Network,LAN)中可以部署多臺路由器,然而絕大多數的TCP/IP協議棧只允許為每個主機定義一個默認網關。
3.3.2 暴露的問題
在TCP/IP體系下存在與生俱來的一個單點故障,當含有主機所定義網關IP地址的那臺路由器產生故障時,到不同網段間的流量將會中斷。
3.3.3 解決的辦法
思科公司在1998年創建一個稱謂熱備份路由器協議(Hot Standby Router Protocol,HSRP)解決方案。與之類似的有VRRP(公有標準)、GLBP(Cisco私有)。
- 兩臺路由器發送HSRP Hello消息來協商參數狀態,如:所配置虛擬IP地址、HSRP組以及優先級;
- 通過這些報文,在HSRP熱備份組中選舉主備路由器,主路由器為本地主機提供數據轉發,備份路由器提供備份,模擬的虛擬IP地址充當主機的網關接口(和派生的虛擬MAC地址),具備更高優先級的接口總是當選為活動接口;
- 如果活動接口故障,其他HSRP路由器會感知到,于是備份路由器就會模擬相同的虛擬IP。如果WAN口失效,路由器也可以減低活動接口的優先級。(這個就是HSRP與Track或者BFD聯動)
?
?
3. 4 定義虛擬化
通過虛擬內存、大型機虛擬化以及HSRP,可以看到以下相似之處。
- 仿真:在所有例子中,均各自仿真了先前存在的資源(主內存,大型機以及默認網關的IP地址)
- 透明:毫無疑問,IT資源的消費者(CPU,大型機用戶,TCP/IP主機)均無法區分是仿真資源還是物理實體
- 好處:與IT物理資源(內存擴展、資源優化和高可用性)相比,這些例子均有各自的優勢(好處)。
虛擬化定義:虛擬化是IT資源的透明仿真,為其消費者帶來物理形態中無法獲得的好處。
虛擬機可以提供兩種不同風格的仿真:
- 模擬:假裝擁有沒寫不存在的特征行為。
- 偽裝:利用別人的知識,掩飾其真實屬性的行為。
注意:從單一地址的變化到一個全新的邏輯結構的建造,透明在這些技術中有很大差異。同樣,受益的范圍也是非常多樣化的,有時候甚至包括原先并沒有計劃的附帶優勢。
4. 虛擬化技術的分類
借用生物學分類法:域(Domain)、界(Kingdom)、門(Phylum)、綱(Class)、目(Order)、科(Family)、屬(Genus)、種(Species)。
每個虛擬化“物種”將會按照以下特征進行分類:
- 仿真
- 類型和子類型
- 可擴展性
- 技術領域和子領域
- 優勢
仿真的含義:通過仿真,IT資源將通過虛擬化而生成;優勢:虛擬化帶來的好處。
4.1 虛擬化的分類
盡管與生物圈相比虛擬化技術在種類變化上遠遠不及,但我們的分類系統也可以從層次化分類中受益,在虛擬化技術中,第一層將被簡單的稱為分類和將涉及的物理組件數量和邏輯組件數量之間的比例。
4.1.1 池化虛擬化技術
在池化虛擬技術中,幾個物理組件會同事工作從而建立一個單獨的邏輯實體,這些邏輯實體與原來的實體分享其特征。
上圖中,動物世界中,類比于一群大雁的“V”字隊形,它們符合空氣動力學“V”型,利用這種隊列增加了效率和單個個體的范圍(巧合的是,字母“V”也存在與大多的虛擬化技術的命名之中)
池化技術分類:
- 同構:資源池中的所有組件都是由相似的組件所組成。
- 異構:資源池中不同的物理組件所組成,并可以部署某些層次結構。(這種情況下,虛擬實體必須具有相似性,至少物理資源池中要有一個類似的硬件)
例子:虛擬內存可歸為采用異構子類型所實現的池化技術(因為虛擬內存是由2個不通存儲設備所組成,他們是主內存和輔助內存)
4.1.2 抽象虛擬化技術
在抽象虛擬化技術中,為了創建一個邏輯實體,仿真不會增加或減少物理組件的數量。一個物理資源創建一個單獨的虛擬組件來提供不同的特征,以實現設備或者用戶交互。
上圖中的Caligomennon(貓頭鷹蝶)所使用的模仿為例:說明了這些技術,而這些技術也被用于防御其獵食者的一種機制。
抽象技術分類:
- 地址重映射:當只改變地址或標識符時,邏輯設備共享物理實體的屬性。
- 結構化:是指一個不共享設備格式的虛擬組件部署其虛擬化。例如:兩個路由器可以通過一個隧道,創建一條虛擬背靠背連接。
例子:按照這種分類法,HSRP使用了地址重映射子類的方式,部署一個抽象的虛擬化。
注意:盡管多個路由器接口可以作為同一HSRP組的一部分,但常見的情況是,一個組內只能有一個活動的IP。然而以這種分類法,可認為GLBP(多個網關之間部署負載平衡)是一種池化虛擬技術。
4.1.3 分區虛擬化技術
分區虛擬化特點是采用獨立的邏輯分區來模擬物理資源的特點。盡管有點粗略,圖中的蝸蟲從原始標本中創造了完美的生命副本,其演示了動物界中的鏡像行為。
分區技術分類:
- 資源分配型:可以為每一個虛擬分區預留物理資源的資產。
- 沒有資源分配型:對與每個創建的分區,沒有資源控制部署。
例子:大型機的虛擬化,IBM虛擬機毫無疑問屬于分區虛擬化技術中的資源分配型。
4.2 虛擬化的擴展性
與虛擬化技術相關的一大風險是:仿真可以被盲目接受。
為了避免災難性的情況,強烈建議讀者清楚地了解每個虛擬化技術的可擴展性。如:
- 可以池化在一起的設備的最大數量;
- 每個設備的地址重映射的最大數量;
- 分區的最大數量;
4.3 技術領域
在過去的30年里,數據中心的基礎設施解決方案附屬于3個基本的領域:服務器、存儲和網絡。
“定位”一個虛擬化技術到這3個領域中的其一,會進一步指定可能與它們有直接交互的運營團隊。
將分類系統更進一步,將每個技術領域內進行分區定義。子分區會準確的指明在單一技術領域最常用的組件中“哪里”正在被執行虛擬化。
例如下圖所示:
?
(1)存儲虛擬化可以在一下位置被執行:
- 存儲設備:代表數據存放的位置;
- 主機:代表了能有效檢索和保存數據的計算機系統;
- 互連:包括主機和存儲設備之間的網絡媒介。
(2)服務器虛擬化:
- 硬件:不依賴于所安裝的任何操作系統提供虛擬化;
- 操作系統:軟件層直接控制服務器硬件,并因此提供虛擬化特性
- 應用:虛擬化是通過運行在服務器操作系統之上的一個標準應用來執行。
(3)網絡虛擬化:
網絡虛擬化技術也可分布于網絡平面之中,它代表著網絡設備中的不同功能組件。
- 數據平面:處理穿越兩個或者兩個以上網絡接口的流量(穿越數據包)。負責大部分流入這些設備的數據。
- 控制平面:處理直接送往網絡設備本身和起源于其他設備的流量。例如:來自路由協議的控制數據包,控制數據平面的行為。
- 管理平面:運行組件用于設備管理,如命令行界面(command-line interface,CLI)、簡單網絡管理協議(Simple Network Management Protocol,SNMP)。這個平面通常會與第三方軟件交互,可以修改控制平面和數據平面的行為。
?4.4 分類的例子
下面為用它來對“數據中心虛擬化起源”中所描述的技術進行分組
中文翻譯:
顯然,這個分類系統并不是對虛擬化技術進行分類的唯一途徑。其目的在于對于一個技術分析之前,提供一個快速可視化呈現方式。
轉載于:https://www.cnblogs.com/fulong20181055/p/10130681.html
總結
以上是生活随笔為你收集整理的1.虚拟化的历史和定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目实战---模拟亿邦动力网
- 下一篇: CentOS7下的Django2集成部署