虛擬化技術[1]之服務器虛擬化

文章目錄

  • 虛擬化技術簡介
    • 數據中心虛擬化
  • 服務器虛擬化
    • 服務器虛擬化層次
      • 寄居虛擬化
      • 裸機虛擬化
      • VMM無法直接捕獲特權指令解決方案
    • 服務器虛擬化底層實現
      • CPU虛擬化
      • 內存虛擬化
      • I/O設備虛擬化
    • 虛擬機遷移
      • 虛擬機動態遷移
      • 遷移內容:內存遷移
      • 遷移內容:網絡資源遷移
      • 遷移內容:存儲設備遷移
    • 隔離技術
      • 內存隔離
      • 網絡隔離

虛擬化技術簡介

  • 虛擬化技術伴隨著計算機的出現而產生和發展起來,虛擬化技術可以用來對數據中心的各種資源進行虛擬化和管理,可以實現服務器虛擬化、存儲虛擬化、網絡虛擬化和桌面虛擬化。虛擬化技術已經成為構建云計算環境的一項關鍵技術。
  • 虛擬化技術將數據中心的物理資源進行抽象整合。數據中心虛擬化可以實現資源的動態分配和調度,提高現有資源的利用率和服務可靠性;提供自動化的服務開通能力,降低運維成本;具有有效的安全機制和可靠性機制,滿足公眾客戶和企業客戶的安全需求;同時也可以方便系統升級、遷移和改造。

數據中心虛擬化

  • 服務器虛擬化:將一個或多個物理服務器虛擬成多個邏輯上的服務器
  • 存儲虛擬化:把分布的異構存儲設備統一為一個或幾個大的存儲池
  • 網路虛擬化:在底層物理網絡和網絡用戶之間增加一個抽象層

服務器虛擬化

服務器虛擬化層次

寄居虛擬化

  • 寄居虛擬化的虛擬化層一般稱為虛擬機監控器(VMM)。
  • 系統損耗比較大
  • 操作系統層的虛擬化,沒有獨立的Hypervisor層
  • 使用操作系統層虛擬化,所有虛擬服務器必須運行同一操作系統
    在這里插入圖片描述

裸機虛擬化

  • 架構中的VMM也可以認為是一個操作系統,一般稱為Hypervisor
  • Hypervisor實現從虛擬資源到物理資源的映射
  • Hypervisor實現不同虛擬機的運行上下文保護與切換,保證了各個客戶虛擬系統的有效隔離
    在這里插入圖片描述

VMM無法直接捕獲特權指令解決方案

在這里插入圖片描述

  • 完全虛擬化具有較好兼容性,在服務器虛擬化中應用廣泛
  • 半虛擬化技術降低由于虛擬化而引入的系統性能損失

服務器虛擬化底層實現

CPU虛擬化

  1. 虛擬CPU的正確運行要保證虛擬機指令正確運行,現有的實現技術包括模擬執行和監控執行
  2. 調度問題是指VMM決定當前哪個虛擬CPU在物理CPU上運行,要保證隔離性、公平性和性能

在這里插入圖片描述

內存虛擬化

  • 內存虛擬化技術:物理內存統一管理,包裝成多個虛擬的物理內存提供給若干虛擬機使用,每個虛擬機擁有各自獨立的內存空間。
  • 虛擬內存的管理包括3種地址:機器地址、物理地址、虛擬地址
    在這里插入圖片描述
  1. 虛擬地址(Virtual Address):

    • 由應用程序生成的地址。虛擬地址空間獨立于物理內存,因此每個進程認為自己擁有一個連續且獨立的地址空間。
    • 虛擬地址通過內存管理單元(MMU)進行映射,轉換為物理地址。
  2. 物理地址(Physical Address):

    • 實際存在于內存中的地址。物理內存是真實硬件提供的存儲空間。
    • 操作系統和硬件聯合負責將虛擬地址翻譯成物理地址,以便進行實際的存儲操作。
  3. 機器地址(Machine Address):

    • 機器地址有時也指物理地址,兩者在大多數上下文中是同義的。
    • 在某些特定的硬件架構或文檔中,機器地址可能特指硬件層面的一些特殊地址,然而普遍理解是物理地址。

I/O設備虛擬化

  • I/O設備虛擬化技術把真實的設備統一管理起來,包裝成多個虛擬設備給若干個虛擬機使用,響應每個虛擬機的設備訪問請求和I/O請求
  • I/O設備虛擬化同樣是由VMM進行管理,主要有全虛擬化、半虛擬化和軟件模擬三種思路。
  1. 全虛擬化(Full Virtualization):

    • 在全虛擬化中,VMM模擬真實的硬件設備,使得虛擬機中的操作系統和應用程序可以完全不知道自己運行在虛擬化環境中。
    • 優點是兼容性好,不需要修改客戶操作系統。然而,由于需要模擬硬件,可能會導致性能下降
  2. 半虛擬化(Paravirtualization):

    • 半虛擬化通過修改客戶操作系統,使其意識到自己運行在虛擬化環境中,并提供特殊的API來優化I/O操作。
    • 這種方法可以顯著提高I/O性能,但需要對客戶操作系統進行修改,這可能會限制其應用范圍。
  3. 軟件模擬(Software Emulation):

    • 軟件模擬是通過軟件完全模擬硬件設備的行為。這種方法可以在任何硬件上運行任何操作系統,但通常性能較低
    • 軟件模擬常用于測試和開發環境,或者在需要支持多種不同操作系統的場景中

虛擬機遷移

  • 虛擬機遷移:將虛擬機實例從源宿主機遷移到目標宿主機,并且在目標宿主機上能夠將虛擬機運行狀態恢復到其在遷移之前相同的狀態,以便能夠繼續完成應用程序的任務。
    在這里插入圖片描述

虛擬機動態遷移

  • 實時遷移(LiveMigration):保持虛擬機運行的同時,把它從一個計算機遷移到另一個計算機,并在目的計算機恢復運行的技術。
  1. 當云計算中心的物理服務器負載過大時,管理員可以將其上面的虛擬機遷移到其他服務器,達到負載平衡
  2. 云計算中心的物理服務器需要定期進行升級維護,當升級維護服務器時,管理員可以將其上面的虛擬機遷移到其他服務器,等升級維護完成之后,再把虛擬機遷移回來
    在這里插入圖片描述
    在這里插入圖片描述
  3. 預遷移(Pre-Migration):主機A打算遷移其上的一個虛擬機VM,首先選擇一個目的計算機。
  4. 預定資源(Reservation):主機A向主機B發起遷移請求,先確認B是否有必需的資源,若有,則預定這些資源;若沒有,VM仍在主機A中運行,可以繼續選擇其他計算機作為目的計算機。
  5. 預復制(InterativePre-Copy):在這一階段VM仍然運行,主機A以迭代的方式將VM的內存頁復制到主機B上。在第一輪迭代中,所有的頁都要從A傳送到B,以后的迭代只復制前一輪傳送過程中被修改過的頁面。
  6. 停機復制(Stop-and-Copy):停止主機A上的VM,把它的網絡連接重定向到B。CPU狀態和前一輪傳送過程中修改過的頁都在這個步驟被傳送。最后,主機A和主機B上有一致的VM映象。
  7. 提交(Commitment):主機B通知A已經成功收到了VM的映像,主機A對這個消息進行確認,然后主機A可以拋棄或銷毀其上的VM。
  8. 啟動(Activation):啟動遷移到B上的VM,遷移后使用目的計算機的設備驅動,廣播新的IP地址。

遷移內容:內存遷移

  • 為實現虛擬機的實時遷移,完整的內存遷移的過程分為以下三個階段:
  1. 第一階段:Push階段。在VM運行的同時,將它的一些內存頁面通過網絡復制到目的機器上。為了保證內容的一致性,被修改過的頁需要重傳。
  2. 第二階段:Stop-and-Copy階段。VM停止工作,把剩下的頁面復制到目的計算機上,然后在目的計算機上啟動新的VM。
  3. 第三階段:Pull階段。新的虛擬機運行過程中,如果訪問到未被復制的頁面,就會出現頁錯誤并從原來的VM處把該頁復制過來。
  • 實際上,目前大部分的遷移策略只包含其中的一個或者兩個階段。

在這里插入圖片描述

遷移內容:網絡資源遷移

  • 虛擬機這種系統級別的封裝方式意味著遷移時VM的所有網絡設備,包括協議狀態(如TCP連接狀態)以及IP地址都要隨之一起遷移。

  • 在局域網內,可以通過發送ARP重定向包,將VM的IP地址與目的機器的MAC地址相綁定,之后的所有包就可以發送到目的機器上。

遷移內容:存儲設備遷移

  • 遷移存儲設備的最大障礙在于需要占用大量時間和網絡帶寬,通常的解決辦法是以共享的方式共享數據和文件系統,而非真正遷移。
  • 目前大多數集群使用NAS(Network Attached Storage,網絡連接存儲)作為存儲設備共享數據。
  • NAS實際上是一個帶有瘦服務器的存儲設備,其作用類似于一個專用的文件服務器。
  • 在局域網環境下,NAS已經完全可以實現異構平臺之間,如NT、UNIX等的數據級共享。
  • 基于以上的考慮,Xen并沒有實現存儲設備的遷移,實時遷移的對象必須共享文件系統。

隔離技術

  • 虛擬機隔離指虛擬機之間在沒有授權許可的情況下,互相之間不可通信、不可聯系的一種技術。
    • 從軟件角度,互相隔離的虛擬機之間保持獨立,如同一個完整的計算機
    • 從硬件角度,被隔離的虛擬機相當于一臺物理機,有自己的CPU、內存、硬盤、I/O等,它與宿主機之間保持互相獨立的狀態
    • 從網絡角度,被隔離的虛擬機如同物理機一樣,既可以對外提供網絡服務,也可以從外界接受網絡服務
  • 虛擬機隔離是確保虛擬機之間安全與可靠性的一種重要手段,現有虛擬機隔離機制主要包括:網絡隔離;構建虛擬機安全文件防護網;基于訪問控制的邏輯隔離機制;通過硬件虛擬,讓每個虛擬機無法突破虛擬機管理器給出的資源限制

內存隔離

在這里插入圖片描述

  • MMU(Memory Management Unit 內存管理單元),它是中央處理器(CPU)中用來管理虛擬存儲器、物理存儲器的控制線路,負責將虛擬地址映射為物理地址,以及提供硬件機制的內存訪問授權

  • Xen將這層中間地址真正地映射到機器地址上卻可以是不連續的,這保證所有的物理內存可被任意分配給不同的Guest OS
    在這里插入圖片描述


  • 虛擬機監控器使用分段和分頁機制對自身的物理內存進行保護。x86體系結構提供支持分段機制的虛擬內存,這能夠提供另一種形式的特權級分離。

  • 基址:基址+虛擬地址=>線性地址
  • 段限:決定段中所能訪問的線性空間的長度
  • 屬性位:標記是否可讀寫、可執行、屬于代碼段還是數據段

網絡隔離

  • 網絡隔離:確保把有害的攻擊隔離,在可信網絡之外和保證可信網絡內部信息不外泄的前提下,完成網間數據的安全交換。
  • 網絡隔離關鍵:在于系統對通信數據的控制,即通過不可路由的協議來完成網間的數據交換

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14613.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14613.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14613.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小短片創作-組裝場景(一)

1、項目基礎設置 通過第三人稱模板,創建1個項目 1.自動曝光:關閉,因為要做專業的小短片,曝光需要手動控制。 2.擴展自動曝光中的默認亮度范圍:啟用 3.全局光照系統:選擇屏幕空間光照(SSGI&am…

Transformer詳解常見面試問題

文章目錄 1. 各模塊解決1.1 輸入部分1.2 多頭注意力(作者使用8個頭)1.3 殘差和LayerNorm1.4 Decoder部分 2.Transformer經典問題2.1 tranformer為何使用多頭注意力機制?2.2 Transformer相比CNN的優缺點2.3 Encoder和decoder的區別&#xff1f…

Spring中RestTemplate用法

系列文章目錄 文章目錄 系列文章目錄前言 前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站,這篇文章男女通用,看懂了就去分享給你的碼吧。 RestTemplate 是從…

自編譯frida得一些記錄

frida編譯 這個過程坑肯定很多 但是只要大方向對得,解決掉每個小錯誤達到目的就ok得 # 就是想自己把frida代碼done下來改一改 然后看看git clone gitgithub.com:frida/frida.git git fetch git checkout 14.1.3# 下載node包管理工具 apt install nvm nvm install …

Web Speech API(1)—— SpeechRecognition

Web Speech API 使你能夠將語音數據合并到 Web 應用程序中。Web Speech API 有兩個部分:SpeechSynthesis 語音合成(文本到語音 TTS)和 SpeechRecognition 語音識別(異步語音識別)。 SpeechRecognition 語音識別通過 S…

axios案例應用

1、Spring概述 Spring 是分層的 Java SE/EE 應用 full-stack 輕量級開源框架,以 IoC(Inverse Of Control: 反轉控制)和 AOP(Aspect Oriented Programming:面向切面編程)為內核,提供了展現層 Spring MVC 和持久層。Spring JDBC 以及業務層事務管理等眾多…

day16|二叉樹的屬性

相關題目 ● 104.二叉樹的最大深度 559.n叉樹的最大深度 ● 111.二叉樹的最小深度 ● 222.完全二叉樹的節點個數 二叉樹的深度與高度 如圖, 二叉樹的深度表示:任意一個葉子節點到根節點的距離,是從上往下計數的,因此使用前序遍歷…

2024年甘肅特崗教師招聘報名流程,速速查收哦!

2024年甘肅特崗教師招聘報名流程,速速查收哦!

python-雞兔同籠問題:已知雞和兔的總頭數與總腳數。求籠中雞和兔各幾只?

【問題描述】典型的雞兔同籠問題。 【輸入形式】輸入總頭數和總腳數兩個實數:h,f 【輸出形式】籠中雞和兔的個數:x,y 【樣例輸入】16 40 【樣例輸出】雞12只,兔4只 【樣例說明】輸入輸出必須保證格式正確。…

AI大模型探索之路-訓練篇25:ChatGLM3微調實戰-基于LLaMA-Factory微調改造企業級知識庫

系列篇章💥 AI大模型探索之路-訓練篇1:大語言模型微調基礎認知 AI大模型探索之路-訓練篇2:大語言模型預訓練基礎認知 AI大模型探索之路-訓練篇3:大語言模型全景解讀 AI大模型探索之路-訓練篇4:大語言模型訓練數據集概…

CS西電高悅計網課設——校園網設計

校園網設計 一,需求分析 所有主機可以訪問外網 主機可以通過域名訪問Web服務器 為網絡配置靜態或者動態路由 圖書館主機通過DHCP自動獲取IP參數 為辦公樓劃分VLAN 為所有設備分配合適的IP地址和子網掩碼,IP地址的第二個字節使用學號的后兩位。 二…

ESP32 實現獲取天氣情況

按照小安派AiPi-Eyes天氣站思路,在ESP32 S3上實現獲取天氣情況。 一、在ESP32 S3實現 1、main.c 建立2個TASK void app_main(void) {//lvgl初始化xTaskCreate(guiTask, "guiTask", 1024 * 6, NULL, 5, NULL);//wifi初始化、socket、json處理taskcustom_…

ES6之數值的擴展

1. 數值的擴展 1.1. 二進制和八進制字面量表示:1.2. 數值判斷方法: 1.2.1. Number.isFinite() 檢查一個值是否為有限的數值。1.2.2. Number.isNaN() 更準確地檢測NaN值。1.2.3. 傳統的全局方法 isFinite() 和 isNaN() 的區別 1.3. 數值轉換方法:1.4. 整數檢查與精度: 1.4.1. Nu…

防火墻技術基礎篇:解析防火墻的網絡隔離機制

防火墻技術基礎篇:解析防火墻的網絡隔離機制 網絡安全在現代社會中扮演著重要的角色,保護網絡系統、用戶和數據免受未經授權的訪問、破壞和竊取。個人、企業和國家都需要加強網絡安全意識,采取有效措施保護自身的網絡安全。隨著網絡攻擊手段…

【QT八股文】系列之篇章2 | QT的信號與槽機制及通訊流程

【QT八股文】系列之篇章2 | QT的信號與槽機制及通訊流程 前言2. 信號與槽信號與槽機制介紹/本質/原理,什么是Qt信號與槽機制?如何在Qt中使用?信號與槽機制原理,解析流程Qt信號槽的調用流程信號與槽機制的優缺點信號與槽機制需要注…

深入分析 Android Activity (三)

深入分析 Android Activity (三) 1. Activity 的配置變化處理 當設備配置(如屏幕方向、語言、屏幕大小等)發生變化時,默認情況下,Android 會銷毀并重新創建當前的 Activity。這種行為確保了新配置能夠正確應用,但在某…

HTML5 性能優化和計算機硬件使用

目錄 啟用硬件加速圖像與媒體優化資源加載與緩存CSS與布局優化JavaScript性能優化瀏覽器兼容性與特性檢測啟用硬件加速 Canvas繪圖 <canvas> 元素支持硬件加速,可以顯著提升圖形繪制和動畫的性能。確保在支持的瀏覽器中啟用硬件加速,如使用translate3d(0, 0, 0) hack…

解鎖Android高效數據傳輸的秘鑰 - Parcelable剖析

作為Android開發者&#xff0c;我們經常需要在不同的組件(Activity、Service等)之間傳輸數據。這里的"傳輸"往往不僅僅是簡單的數據復制&#xff0c;還可能涉及跨進程的內存復制操作。當傳輸的數據量較大時&#xff0c;這種操作可能會帶來嚴重的性能問題。而Android系…

web自動化之PO模式

PO模式 1、為什么需要PO思想&#xff1f; 首先我們觀察和思考一下&#xff0c;目前我們寫的作業腳本的問題&#xff1a; 元素定位和操作動 作寫到一起了&#xff0c;這就就會用導致一個問題&#xff1a; UI的頁面元素比較容易變化的&#xff0c;所以元素定位和腳本操作寫到一…

如何將照片從 iPhone 傳輸到閃存驅動器【無質量損壞】

概括 人們喜歡用 iPhone 拍照&#xff0c;因為照片通常都很漂亮&#xff0c;這都要歸功于 iPhone 令人驚嘆的技術。但照片更新后會占用更多空間&#xff0c;并且您可能會開始收到沒有存儲空間的通知。因此&#xff0c;您可以將照片傳輸到 USB 驅動器&#xff0c;然后從 iPhone…