KVM虛擬化基礎

来源:https://www.cnblogs.com/wenrulaogou/archive/2020/01/20/12216954.html
-Advertisement-
Play Games

關於虛擬化 什麼是虛擬化 在電腦技術中,虛擬化(技術)或虛擬技術(英語:Virtualization)是一種資源管理技術,是將電腦的各種實體資源(CPU、記憶體、磁碟空間、網路適配器等),予以抽象、轉換後呈現出來並可供分區、組合為一個或多個電腦配置環境。 由此,打破實體結構間的不可切割的障礙,使用 ...


關於虛擬化

什麼是虛擬化

在電腦技術中,虛擬化(技術)或虛擬技術(英語:Virtualization)是一種資源管理技術,是將電腦的各種實體資源(CPU、記憶體、磁碟空間、網路適配器等),予以抽象、轉換後呈現出來並可供分區、組合為一個或多個電腦配置環境。

由此,打破實體結構間的不可切割的障礙,使用戶可以比原本的配置更好的方式來應用這些電腦硬體資源。這些資源的新虛擬部分是不受現有資源的架設方式,地域或物理配置所限制。

一般所指的虛擬化資源包括計算能力和數據存儲。

由於目前信息技術領域的很多企業都曾在宣傳中將該企業的某種技術稱為虛擬化技術,這些技術涵蓋的範圍可以從Java虛擬機技術到系統管理軟體,這就使得準確的界定虛擬技術變得困難。因此各種相關學術論文在談到虛擬技術時常常提到的便是如前面所提到的那個不嚴格的定義。

為什麼用虛擬化

同一臺物理機運行多個不同版本應用軟體
硬體依賴性較低和便於數據遷移

虛擬化技術的優勢

1.降低運營成本
伺服器虛擬化降低了IT基礎設施的運營成本,令系統管理員擺脫了繁重的物理伺服器、OS、中間件及相容性的管理工作,減少人工干預頻率,使管理更加強大、便捷。
2.提高應用相容性
伺服器虛擬化提供的封裝性和隔離性使大量應用獨立運行於各種環境中,管理人員不需頻繁根據底層環境調整應用,只需構建一個應用版本並將其發佈到虛擬化後的不同類型平臺上即可。
3.加速應用部署
採用伺服器虛擬化技術只需輸入激活配置參數、拷貝虛擬機、啟動虛擬機、激活虛擬機即可完成部署,大大縮短了部署時間,免除人工干預,降低了部署成本。
4.提高服務可用性
用戶可以方便地備份虛擬機,在進行虛擬機動態遷移後,可以方便的恢復備份,或者在其他物理機上運行備份,大大提高了服務的可用性。
5.提升資源利用率
通過伺服器虛擬化的整合,提高了CPU、記憶體、存儲、網路等設備的利用率,同時保證原有服務的可用性,使其安全性及性能不受影響。
6.動態調度資源
在伺服器虛擬化技術中,數據中心從傳統的單一伺服器變成了統一的資源池,用戶可以即時地調整虛擬機資源,同時數據中心管理程式和數據中心管理員可以靈活根據虛擬機內部資源使用情況靈活分配調整給虛擬機的資源。
7.降低能源消耗
通過減少運行的物理伺服器數量,減少CPU以外各單元的耗電量,達到節能減排的目的。

KVM簡介

KVM,基於內核的虛擬機(英語:Kernel-based Virtual Machine,縮寫為 KVM),是一種用於Linux內核中的虛擬化基礎設施,可以將Linux內核轉化為一個hypervisor。KVM在2007年2月被導入Linux 2.6.20核心中,以可載入核心模塊的方式被移植到FreeBSD及illumos上。

KVM在具備Intel VT或AMD-V功能的x86平臺上運行。它也被移植到S/390,PowerPC與IA-64平臺上。在Linux內核3.9版中,加入ARM架構的支持。

KVM目前由Red Hat等廠商開發,對CentOS/Fedora/RHEL等Red Hat系發行版支持極佳。

關於KVM

  1. KVM是開源軟體,全稱是kernel-based virtual machine(基於內核的虛擬機)。

  2. 是x86架構且硬體支持虛擬化技術(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。

  3. 它包含一個為處理器提供底層虛擬化 可載入的核心模塊kvm.ko(kvm-intel.ko或kvm-AMD.ko)。

  4. KVM還需要一個經過修改的QEMU軟體(qemu-kvm),作為虛擬機上層控制和界面。

  5. KVM能在不改變linux或windows鏡像的情況下同時運行多個虛擬機,(它的意思是多個虛擬機使用同一鏡像)併為每一個虛擬機配置個性化硬體環境(網卡、磁碟、圖形適配器……)同時KVM還能夠使用ksm技術幫助宿主伺服器節約記憶體。

  6. 在主流的Linux內核,如2.6.20以上的內核均已包含了KVM核心。

關於Virtual Machine Manager

電腦運算中,紅帽公司的Virtual Machine Manager是一個虛擬機管理員,可以讓用戶管理多個虛擬機。
基於內核的虛擬機libvirt與Virtual Machine Manager。 
Virtual Machine Manager可以讓用戶:

創建、編輯、引導或停止虛擬機。
查看並控制每個虛擬機的控制台。
查看每部虛擬機的性能以及使用率。
查看每部正在運行中的虛擬機以及主控端的即時性能及使用率信息。
不論是在本機或遠程,皆可使用KVM、Xen、QEMU。


其他虛擬化軟體


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • static void AggregateExceptionsDemo() { var task1 = Task.Factory.StartNew(() => { var child1 = Task.Factory.StartNew(() => { throw new CustomException ...
  • 本筆記摘抄自:https://www.cnblogs.com/PatrickLiu/p/7699301.html,記錄一下學習過程以備後續查用。 一、引言 今天我們要講結構型設計模式的第二個模式--橋接模式,也有叫橋模式的。橋在我們現實生活中經常是連接著A地和B地,再往後來發展,橋引申為一種紐 帶, ...
  • 目 錄 1. 概述... 2 2. 演示信息... 2 3. 安裝Docker容器... 2 4. 安裝dotnet鏡像... 3 5. 複製iNeuKernel到容器中... 4 6. 進入指定容器... 4 7. 安裝dotnet框架... 4 8. 在Docker容器中運行iNeuKernel ...
  • FastDBF源代碼地址:https://github.com/SocialExplorer/FastDBF 第一步在解決方案中新建一個類庫的項目:取名為SocialExplorer.FastDBF 第二步:引入FASTDBF的源文件 源代碼可以通過github地址下載引入 源文件:DbfColum ...
  • 開發者官網:http://api.lingquan166.com/ 簡介:根據抖音、微視、小紅書、皮皮搞笑等APP中複製出來的鏈接,解析獲取短視頻的標題、封面、無水印短視頻地址等信息。 介面地址: https://api.lingquan166.com/dsp?token=122917VU60151 ...
  • 1、安裝批量命令: CentOS7操作系統下。 包含卸載舊版本、安裝依賴包、添加最新Yum源、安裝docker-ce最新穩定版本、啟動docker等: 如果是國外伺服器,則將以上國內源網址代替為官方的: 4、容器常用命令 ...
  • 自旋轉移扭矩磁阻隨機存取存儲器(STT-MRAM)是一種持久性存儲技術,可利用各種工業標準介面提供性能,持久性和耐用性。 Everspin推出了STT-MRAM產品,該產品利用稱為JE-DDR4的JEDEC標準DDR4介面的變體,它包含了對完整系統支持所需的獨特功能。本文將幫助工程師瞭解Xilinx ...
  • 最近阿裡雲伺服器(操作系統centOS 7.x) 安裝docker,參照阿裡雲幫助文檔https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.4.1.32f34c07tZ5Knr。 安裝過程順利進行,包括拉取鏡像資源 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...