啥都玫說之網絡篇-7.1虛擬機和虛擬化

孤城子復 發佈 2022-05-27T02:05:02.604649+00:00

您閱讀本文如果覺得符合大人您的口味,請關注一下本君,點個關注和評論,說一下您的觀點。虛擬系統通過生成現有作業系統的全新虛擬鏡像,它具有真實windows系統完全一樣的功能,進入虛擬系統後,所有操作都是在這個全新的獨立的虛擬系統裡面進行,可以獨立安裝運行軟體,保存數據,擁有自己的獨立桌面,不會對真正的系統產生任何影響 ,而且具有能夠在現有系統與虛擬鏡像之間靈活切換的一類作業系統。

您閱讀本文如果覺得符合大人您的口味,請關注一下本君,點個關注和評論,說一下您的觀點。創作不易,還請多多支持!

7.1 虛擬機和虛擬化

虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統

虛擬系統通過生成現有作業系統的全新虛擬鏡像,它具有真實windows系統完全一樣的功能,進入虛擬系統後,所有操作都是在這個全新的獨立的虛擬系統裡面進行,可以獨立安裝運行軟體,保存數據,擁有自己的獨立桌面,不會對真正的系統產生任何影響 ,而且具有能夠在現有系統與虛擬鏡像之間靈活切換的一類作業系統。

虛擬機技術是虛擬化技術的一種,所謂虛擬化技術就是將事物從一種形式轉變成另一種形式,最常用的虛擬化技術有作業系統中內存的虛擬化,實際運行時用戶需要的內存空間可能遠遠大於物理機器的內存大小,利用內存的虛擬化技術,用戶可以將一部分硬碟虛擬化為內存,而這對用戶是透明的。

這裡說白了,虛擬機是完整模擬整個硬體平台的。

虛擬化,是指通過虛擬化技術將一台計算機虛擬為多台邏輯計算機。在一台計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的作業系統,並且應用程式都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。

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

在實際的生產環境中,虛擬化技術主要用來解決高性能的物理硬體產能過剩和老的舊的硬體產能過低的重組重用,透明化底層物理硬體,從而最,大化的利用物理硬體。虛擬化使用軟體的方法重新定義劃分資源,可以實現資源的動態分配、靈活調度、跨域共享,提高資源利用率,使資源能夠真正成為社會基礎設施,服務於各行各業中靈活多變的應用需求。

虛擬機出現的比較早,其實虛擬機可以理解為現在虛擬化技術的一個細分。如果說虛擬機是虛擬一個完整的硬體平台來用,那麼虛擬化可以虛擬出我們需要的任意硬體。甚至在某些情況,用多台計算機提供的虛擬化組件來組成一個完整的硬體平台也是有可能的。

流行的虛擬機軟體有VMware、Virtual Box、Virtual PC和開放原始碼的Bochs,當然還有很多虛擬化產品,都虛擬或仿真了Intel x86硬體環境,可以讓我們在運行這些軟體的系統平台上運行多種其它的「客戶」作業系統。

這裡有幾個概念要說明:

  • [x] VM(Virtual Machine):虛擬機,指由Vmware模擬出來的一台虛擬的計算機,也即邏輯上的一台計算機。
  • [x] HOST:指物理存在的計算機,Host′s OS指HOST上運行的作業系統。
  • [x] Guest OS:指運行在VM上的作業系統。

例如在一台安裝了Win 10的計算機上安裝了Vmware,那麼,HOST指的是安裝Win 10的這台計算機,其Host′s OS為Win 10。VM上運行的是Linux,那麼Linux即為Guest OS。

除了這些以外,還有其他硬體的模擬環境,比如WinKawaks就很好的模擬了街機硬體、epsxe可以模擬索尼的PlayStation遊戲主機、還有安卓手機app在開發過程中所使用的安卓模擬器,也都屬於虛擬機的性質。

當然我們上邊所說的都是單純的桌面級虛擬機。還有大型的虛擬化解決方案類的產品,比如說劍橋大學開發的Xen、Linux下的全功能虛擬化架構的KVM、微軟的Hyper-V、VMware提供應用、雲計算和業務的基礎的VMware vSphere等等。當然有興趣自己百度。不過在以上這麼多種類和級別的虛擬化方案中。默認就提供安裝Mac OS的貌似真沒有,無論用什麼,都得修改或者破解以下才能安裝Mac OS。

當然除了虛擬計算機硬體(虛擬機)以外,虛擬化技術還提供了虛擬網絡,目前最典型的應用就是VXLAN,即Virtual Extensible LAN。雖然看起來很向之前說到的VLAN,但是兩者有很大的不同。

VLAN技術的弊端逐漸顯現出來,具體表現為如下3個方面:

  1. 虛擬化技術的發展促使大數據、雲計算技術公司採用單個物理設備虛擬多台虛擬機的方式來進行組網,隨著應用模塊的增加,對於支持VLAN數目的要求也在提升,802.1Q標準中的最多支持4094個VLAN的能力已經無法滿足當下需求。

  2. 公有雲提供商的業務要求將實體網絡租借給多個不同的用戶,這些用戶對於網絡的要求有所不同,而不同用戶租借的網絡有很大的可能會出現IP位址、MAC地址的重疊,傳統的VLAN僅僅解決了同一鏈路層網絡廣播域隔離的問題,而並沒有涉及到網絡地址重疊的問題,因此需要一種新的技術來保證在多個租戶網絡中存在地址重疊的情況下依舊能有效通信的技術。

  3. 兩台以上主機的通信連接才足以滿足應用需求,而虛擬化技術使得單台主機可以虛擬化出多台虛擬機同時運行,而每台虛擬機都會有其唯,一的MAC地址。這樣,為了保證集群中所有虛機可以正常通信,交換機必須保存每台虛機的MAC地址,這樣就導致了交換機中的MAC表異常龐大,從而影響交換機的轉發性能。

相比VLAN技術,VXLAN技術具有以下的優勢:

  1. 24位長度的VNI欄位值可以支持更多數量的虛擬網絡,解決了VLAN數目上限為4094的局限性的問題。

  2. VXLAN技術通過隧道技術在物理的三層網絡中虛擬二層網絡,處於VXLAN網絡的終端無法察覺到VXLAN的通信過程,這樣也就使得邏輯網絡拓撲和物理網絡拓撲實現了一定程度的解耦,網絡拓撲的配置對於物理設備的配置的依賴程度有所降低,配置更靈活更方便。

  3. VLAN技術僅僅解決了二層網絡廣播域分割的問題,而VXLAN技術還具有多租戶支持的特性,通過VXLAN分割,各個租戶可以獨立組網、通信,地址分配方面和多個租戶之間地址衝突的問題也得到了解決。

為了保證VXLAN機制通信過程的正確性,RFC7348標準中規定,涉及到VXLAN通信的IP報文一律不允許分片,這就要求物理網絡的鏈路層實現中必須提供足夠大的MTU值,保證VXLAN報文的順利傳輸,這一點可以理解為當前VXLAN技術的局限性。

現在我們可以簡單給虛擬化分個類了:

  • [x] 硬體虛擬化
  • [x] 虛擬機:可以像真實機器一樣運行程序的計算機的軟體實現
  • [x] 虛擬內存:將不相鄰的內存區,甚至硬碟空間虛擬成統一連續的內存地址
  • [x] 存儲虛擬化:將實體存儲空間分隔成不同的邏輯存儲空間
  • [x] 網絡虛擬化:將不同網絡的硬體和軟體資源結合成一個虛擬的整體

當然,虛擬化技術還提供了其他的一些,比如資料庫虛擬化、服務虛擬化、存儲虛擬化等等。

關鍵字: