自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊一聊虛擬化基礎(chǔ)知識

云計算 虛擬化
場景如下:一臺服務(wù)器只有有8G內(nèi)存,程序A需要4G內(nèi)存,程序B需要4G內(nèi)存,傳統(tǒng)架構(gòu)無法滿足這樣的場景,那只有依靠虛擬化來解決,通過虛擬化方式,我們可以不僅提供2臺4G內(nèi)存,更可以通過內(nèi)存氣泡、內(nèi)存復(fù)用、內(nèi)存置換等技術(shù)實現(xiàn)超分配!

 引言

 開始前給大家舉個例子:

 場景如下:一臺服務(wù)器只有有8G內(nèi)存,程序A需要4G內(nèi)存,程序B需要4G內(nèi)存,傳統(tǒng)架構(gòu)無法滿足這樣的場景,那只有依靠虛擬化來解決,通過虛擬化方式,我們可以不僅提供2臺4G內(nèi)存,更可以通過內(nèi)存氣泡、內(nèi)存復(fù)用、內(nèi)存置換等技術(shù)實現(xiàn)超分配!

Part A.虛擬化簡介

 虛擬化是云計算的基礎(chǔ),基于虛擬化我們可以實現(xiàn)私有云、公有云、桌面云等。

 虛擬化是一種資源管理技術(shù),是將計算機的各種實體資源(CPU、內(nèi)存、磁盤空間、網(wǎng)絡(luò)適配器等),予以抽象、轉(zhuǎn)換后呈現(xiàn)出來并可供分區(qū)、組合為一個或多個電腦配置環(huán)境。由此,打破實體結(jié)構(gòu)間的不可切割的障礙,使用戶可以比原本的配置更好的方式來應(yīng)用這些電腦硬件資源。這些資源的新虛擬部分是不受現(xiàn)有資源的架設(shè)方式,地域或物理配置所限制。一般所指的虛擬化資源包括計算能力和數(shù)據(jù)存儲。

虛擬化架構(gòu)

幾個重要的概念:

A.宿主機:Host  ,即物理服務(wù)器

B.虛擬機:Guest ,也稱客戶機、虛機

C.VMM(virtual Machine Monitor):即Hypervisors,它是一種運行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享硬件。Hypervisors是一種在虛擬環(huán)境中的“元”操作系統(tǒng)。他們可以訪問服務(wù)器上包括磁盤和內(nèi)存在內(nèi)的所有物理設(shè)備。Hypervisor不但協(xié)調(diào)著這些硬件資源的訪問,也同時在各個虛擬機之間施加防護。當服務(wù)器啟動并執(zhí)行Hypervisor時,它會加載所有虛擬機客戶端的操作系統(tǒng)同時會分配給每一臺虛擬機適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤。

Part B.虛擬化的分類

【常規(guī)分類】

此外還有混合虛擬化,是指將一個內(nèi)核級驅(qū)動器插入到宿主操作系統(tǒng)內(nèi)核。這個驅(qū)動器作為虛擬硬件管理器來協(xié)調(diào)虛擬機和宿主操作系統(tǒng)之間的硬件訪問?;旌咸摂M化需要底層硬件支持虛擬化擴展功能。

【基于Guest OS CPU對硬件訪問分類】

 CPU的運行級別,Ring 0也稱為核心態(tài),操作系統(tǒng)需要直接訪問硬件和內(nèi)存,使用特權(quán)指令,控制中斷、修改頁表、訪問設(shè)備,因此它的代碼需要運行在***運行級別。Ring 3也稱為用戶態(tài),需要訪問磁盤、寫文件時,則需要調(diào)用系統(tǒng)函數(shù),這樣的操作稱為用戶態(tài)到核心態(tài)。

 大家都知道宿主機的操作系統(tǒng)運行級別是Ring 0,虛擬機的操作系統(tǒng)就無法在Ring 0級別運行,但是虛擬機OS不知道這一點,執(zhí)行的命令與物理機無異,但是沒有執(zhí)行權(quán)限是會出錯的。所以這時候虛擬機管理程序(VMM)需要避免這件事情發(fā)生。 虛機怎么通過 VMM 實現(xiàn) Guest CPU 對硬件的訪問,根據(jù)其原理不同有三種實現(xiàn)技術(shù):

1. 全虛擬化

2. 半虛擬化

3. 硬件輔助的虛擬化 

主要區(qū)別見下圖:

A.全虛擬化

一般采用優(yōu)先級壓縮技術(shù)(Ring Compression)和二進制代碼翻譯技術(shù)(BinaryTranslation)。優(yōu)先級壓縮技術(shù)讓VMM和Guest運行在不同的特權(quán)級下。對x86架構(gòu)而言,即VMM運行在***特權(quán)級別Ring 0下,guest OS運行在Ring 1下,用戶應(yīng)用運行在Ring 3下。因此,Guest OS的核心指令無法直接下達到計算機系統(tǒng)硬件執(zhí)行,而是需要經(jīng)過VMM的捕獲和模擬執(zhí)行(部分難以虛擬化的指令需要通過Binary Translation技術(shù)進行轉(zhuǎn)換)。

B.輔助虛擬化

當前主要有Intel的VT-x和AMD的AMD-V這兩種技術(shù)。其核心思想都是通過引入新的指令和運行模式,使VMM和Guest OS分別運行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS運行在Ring 0下。通常情況下,Guest OS的核心指令可以直接下達到計算機系統(tǒng)硬件執(zhí)行,而不需要經(jīng)過VMM。當Guest OS執(zhí)行到特殊指令的時候,系統(tǒng)會切換到VMM,讓VMM來處理特殊指令。

C.全虛擬化

 采用Hypercall技術(shù)。Guest OS的部分代碼被改變,從而使Guest OS會將和特權(quán)指令相關(guān)的操作都轉(zhuǎn)換為發(fā)給VMM的Hypercall(超級調(diào)用),由VMM繼續(xù)進行處理。而Hypercall支持的批處理和異步這兩種優(yōu)化方式,使得通過Hypercall能得到近似于物理機的速度。

【按虛擬化技術(shù)分類】

 1.服務(wù)器虛擬化,計算、存儲、網(wǎng)絡(luò)和IO的虛擬化

 2.存儲虛擬化,如Serversan,支持虛擬化的存儲陣列等

 3.網(wǎng)絡(luò)虛擬化,如vlan、虛擬防火墻、虛擬分布式交換機

 4.桌面(應(yīng)用)虛擬化,即桌面云

其他分類這里不在細說,下面給大家分享下KVM和XEN的一些區(qū)別:

【對比KVM和XEN】

 Xen作為***秀的半虛擬化引擎,在基于硬件的虛擬化幫助下,現(xiàn)在也完全支持虛擬化MS Windows。被設(shè)計成一個獨立的內(nèi)核,它只需要Linux執(zhí)行 I/O,這樣使得它非常的大,并且它有自己的調(diào)度程序、內(nèi)存管理器、計時器和機器初始化程序。

 做華為虛擬化的同學(xué)應(yīng)該都知道有個Dom0,這個Dom0是個什么東西呢?這個Domain 0(特權(quán)虛擬機)是其他虛擬機的管理者和控制者,可以構(gòu)建其他更多Domain,并管理虛擬設(shè)備。它還能執(zhí)行管理任務(wù),比如虛擬機的休眠、喚醒和遷移其他虛擬機。此外,還有個Dom u,這個是指除了Dom 0之外的普通虛擬機。

 KVM是一個獨特的管理程序,其讓Linux內(nèi)核自身變成一個管理程序,通過KVM作為一個內(nèi)核模塊實現(xiàn),在虛擬環(huán)境下Linux內(nèi)核集成管理程序?qū)⑵渥鳛橐粋€可加載的模塊,可以簡化管理以及提升性能。KVM使用標準Linux調(diào)度程序、內(nèi)存管理器和其他服務(wù)。將虛擬技術(shù)建立在內(nèi)核上而不是去替換內(nèi)核。

 KVM架構(gòu)

Xen架構(gòu)

此外,還有微軟的Hyper-V、OpenVz,這里不再跟大家介紹!

Part C.虛擬化的優(yōu)勢

1.降低運營成本

 服務(wù)器虛擬化降低了IT基礎(chǔ)設(shè)施的運營成本,運維人員可以從繁重的物理服務(wù)器、OS、中間件及兼容性的管理工作解放處理,減少人工干預(yù)頻率,使管理更加強大、便捷。

2.縮短上線周期

 虛擬化中對可以將需要批量預(yù)安裝機器進行模板化,使用模板創(chuàng)建虛擬機,不僅可以縮短安裝周期,也可以減少人工帶來的配置失誤。從而縮短操作系統(tǒng)安裝部署周期,進而縮短業(yè)務(wù)的上線周期。

3.提高可靠性

通過集群部署、雙網(wǎng)卡、雙電源以及OS盤的RAID策略都可以為我們提升基礎(chǔ)架構(gòu)的可靠性。通過對集群設(shè)置,我們可以實現(xiàn)虛擬機的冷熱遷移,故障恢復(fù)甚至容錯等,從而在架構(gòu)上實現(xiàn)了高可靠。

4.提高資源利用率

擺脫傳統(tǒng)架構(gòu)單臺服務(wù)器單個應(yīng)用,通過虛擬化技術(shù),資源可以以更小的單位提供,可以實現(xiàn)一比多的形式,很大程度提高了物理資源的利用率,同時,可對虛擬機進行隔離,保證了安全性。

5.動態(tài)資源調(diào)度(DRS)

通過DRS可以實現(xiàn)機房節(jié)能環(huán)保,降低功耗,在資源閑置時自動遷移并關(guān)閉部分資源,資源緊張時可自動開啟資源并負載均衡

Part D.幾種虛擬化關(guān)鍵技術(shù)

一、內(nèi)存復(fù)用

 a.內(nèi)存共享:虛擬機內(nèi)存只讀時,可共享同一內(nèi)存空間,需要寫時,再分配空間。

 b.內(nèi)存氣泡:虛擬機之間的內(nèi)存交換負載,即內(nèi)存使用低的釋放給內(nèi)存使用較高的虛擬機。

 c.內(nèi)存置換:暫時不用的內(nèi)存置換到存儲中,從而提高內(nèi)存使用。

二、CPU相關(guān)

 CPU虛擬化的開啟,物理在BIOS里面設(shè)置相關(guān)Virtual Technology項,如果需要開啟虛擬化嵌套,則需要在VMwareworkstation設(shè)置相關(guān)虛擬化模式,如果是kvm的嵌套則可能需要升級內(nèi)核。

三、ServerSan

 ServerSan通常基于傳統(tǒng)的X86服務(wù)器,配以SSD做緩存和萬兆網(wǎng)卡做傳輸,同時滿足了計算和存儲資源,從而實現(xiàn)了計算和存儲的融合,大多數(shù)的ServerSan都基于開源的Ceph,不僅可以實現(xiàn)高性能,也可以實現(xiàn)數(shù)據(jù)的多副本,更可以實現(xiàn)存儲的高級功能,如快照、鏈接克隆、精簡配置等。

主要特點如下:

1.軟件定義,獨立于硬件;

2.分布式,不存在單點故障;

3.系統(tǒng)自治,自動進行故障自愈和數(shù)據(jù)平衡;

4.融合系統(tǒng),存儲和計算部署在相同硬件上;

5.橫向擴展,最小部署(至少3臺),按需擴容;

6.強一致性,只有所有副本寫成功,單次寫操作完成,確保從任意副本數(shù)據(jù)的完整性;

 

責任編輯:武曉燕 來源: Itfuny
相關(guān)推薦

2022-07-19 08:01:08

Azure云環(huán)境安全

2024-08-12 11:22:10

2021-01-01 09:01:05

前端組件化設(shè)計

2019-03-20 14:29:46

Linux虛擬內(nèi)存

2021-07-08 11:22:55

Java異常處理

2009-09-21 15:11:54

虛擬化基礎(chǔ)知識

2022-05-16 09:59:30

內(nèi)部威脅網(wǎng)絡(luò)安全

2018-04-04 14:43:27

虛擬機保護技術(shù)

2022-08-30 10:15:27

Kubernetes數(shù)據(jù)持久化管理

2021-01-28 22:31:33

分組密碼算法

2023-09-22 17:36:37

2020-05-22 08:16:07

PONGPONXG-PON

2024-11-04 09:00:00

Java開發(fā)

2023-09-26 12:16:29

JDK 21Java

2022-07-29 14:39:17

Ansible運維工具

2018-06-07 13:17:12

契約測試單元測試API測試

2022-08-08 08:25:21

Javajar 文件

2021-08-04 09:32:05

Typescript 技巧Partial

2018-11-29 09:13:47

CPU中斷控制器

2019-02-13 14:15:59

Linux版本Fedora
點贊
收藏

51CTO技術(shù)棧公眾號