日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux KVM 虚拟化技术

發布時間:2024/2/28 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux KVM 虚拟化技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • KVM 介紹
  • 一、KVM虛擬化
  • 二、虛擬化技術
  • 三、虛擬化技術發展
  • 四、虛擬化類型
  • 五、虛擬化特性
    • 優勢
    • 劣勢
    • 案例
    • VMM主要功能
  • 六、KVM架構及原理
    • KVM簡介
    • KVM原理
    • KVM虛擬化架構/三種模式
    • KVM工作流程
    • 虛擬化前、虛擬化后對比
  • 總結
  • KVM創建虛擬機教程

KVM 介紹

KVM 全稱是 基于內核的虛擬機(Kernel-based Virtual Machine),它是Linux 的一個內核模塊,該內核模塊使得 Linux 變成了一個 Hypervisor:
① 、它由 Quramnet 開發,該公司于 2008年被 Red Hat 收購。
②、它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。
③ 、它從 Linux 2.6.20 起就作為一模塊被包含在 Linux 內核中。
④ 、它需要支持虛擬化擴展的 CPU。
⑥ 、它是完全開源的

一、KVM虛擬化

  • 美國環境保護EPA報告曾經統計過一組數據:EPA研究服務器和數據中心的能源效率時發現,實際上服務器只有5%的時間在工作,其他時間一直處于休眠狀態。
  • 軟件資源是沒有硬件資源性能高(穩定好效率)的(相同功能)

二、虛擬化技術

  • 通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機,在一臺計算機上同時運行多個邏輯計算機,同時每個邏輯計算機可運行不同的操作系統,應用程序都可以在相互獨立的空間內運行而互相不影響,從而提高計算機的工作效率
  • 1、在一個操作系統中(win10)模擬多個操作系統(centos、win10、suse),同時每個操作系統可以跑不同的服務(nginx和tomcat),從而實現一臺宿主機搭建一個集群
    2、通過軟件/應用程序的方式,來實現物理硬件的功能
    例:ensp以軟件形式實現物理設備的功能(二層交換機、路由器、三層交換機等)、workstation等

三、虛擬化技術發展

雛形:

  • 1961年,IBM709機器實現了分時系統,將CPU占用切分為多個極短的時間片(1/100sec)每個時間片執行不同的工作,通過對這些時間片進行輪詢從而將一個cpu偽裝成多個cpu
  • 1972年,IBM公司正式將system370機器的分時系統命名為虛擬機
  • 1990年,IBM推出的system390機支持邏輯分區(將一個cpu分為多份,相互獨立,也就是邏輯分分割)

Xen:

  • 2003年問世,一個外部的hypervisor/VMM程序(虛擬機管理程序),能夠控制宿主機和給多個客戶機分配資源
  • 支持的虛擬化技術:全虛擬化、半虛擬化

KVM:

  • 2007年問世,現已內置在kernel內核中,支持的虛擬化技術:全虛擬化

四、虛擬化類型

  • 全虛擬化:將物理硬件資源全部通過軟件的方式抽象化,最后進行調用
    使用的方法:使用hypervisor(VMM)軟件,其原理是在底層硬件和服務器之間建立一個抽象層,而基于核心的虛擬機是面向Linux系統的開源產品hypervisor(VMM)可以捕捉CPU的指令
  • 半虛擬化:需要修改操作系統
  • 直通:直接使用物理硬件資源(需要設備支持,還不完善)

五、虛擬化特性

優勢

  • 集中化管理(遠程管理、維護)
  • 提高硬件利用率(物理資源利用率低,例如峰值,虛擬化解決了“空閑”容量)
  • 動態調整機器/資源配置(虛擬化把系統的應用程序和服務硬件分離、提高了靈活性)
  • 高可靠(可部署額外的功能和方案,可提高透明負載均衡、遷移、恢復復制等應用環境)

劣勢

  • 前期高額費用(初期的硬件支持)
  • 降低硬件利用率(特定場景,例:極度吃資源的應用不一定適合虛擬化)
  • 更大的錯誤影響面(本地物理機down機會導致虛擬機均不可用,同時可能虛擬機中文件全部損壞)
  • 實施配置復雜、管理復雜(管理人員運維、排障困難)
  • 一定的限制性(虛擬化技術涉及各種限制,必須與支持/兼容虛擬化的服務器、應用程序以及供應商結合使用)
  • 安全性(虛擬化技術自身的安全隱患)

案例

  • VMwareWorkstation: 使用軟件達到虛擬多操作系統
  • VirtualBox: 使用軟件虛擬出多物理設備功能

以VMwareworkstation為例

  • workstation支持intel公司和AMD公司的虛擬化技術
  • 硬件輔助虛擬化技術Intel-VT-x AMD-V
    • Intel VT -x技術主要包含CPU、內存和I / O三方面的虛擬化技術,同時提供優化處理(早期為彌補X86架構虛擬化的缺陷)
    • AMD-V是對x86處理器系統架構的一組硬件擴展和硬件輔助虛擬化技術,可以簡化純軟件的虛擬化解決方案

改進VMM (虛擬機監視器)的設計,更充分地利用硬件資源,提高服務器和數據中心的虛擬化效率
VMM(虛擬機監視器/管理程序) haperivisor
VMM是一個系統軟件, 可以維護多個效、隔離的程序環境(虛擬機),同時可以管理計算機系統的真實資源、為虛擬機提供接口

VMM主要功能

  • 對物理資源進行邏輯分割(轉化為虛擬資源)
  • 調用虛擬資源供與

六、KVM架構及原理

KVM簡介

廣義KVM:

  • KVM (Kernel-based Vritual Machine)–基于內核的虛擬機
  • KVM是基于虛擬化擴展的x86硬件的開源Linux原生的全虛擬化方案(要求cpu支持Intel-VT-x或AMD-v)
  • KVM內嵌于內核模塊中,模擬處理器和內存以支持虛擬機運行
  • 虛擬機被實現為常規的Linux進程,由標準Linux調度程序進行調度;
  • 虛擬機的每個虛擬cPU被實現為一個常規的 Linux進程。這使得KMNV能夠使用Linux內核的已有功能
  • 但KWwM本身不執行任何模擬。需要客戶空間程序《虛擬機)通過/dev/kvm(此虛擬設備需要開起硬件輔助虛擬化才能看到〉接口設置一個客戶機虛擬服務器的地址空間,并且由Qemu模擬工/o (iocti)進行調度資源和維護管理
  • Libvirt: KVM的管理工具,除了可以管理KVM這類vWM,還可以管理xen,VirtualBox,甚至OpenStack底層
    • Libvirt包含3個組件:后臺daemon程序libvirtd、API庫、命令行工具virsh

KVM原理

  • Guest: 客戶機系統,包括CPU (vCPU) 、內存驅動(Console、 網卡、I/O設備驅動等),被KVM置于-種受限制的CPU 模式下運行。
  • KVM內核模塊模擬處理器和內存以支持虛擬機運行
  • Qemu 主要處理I/O以及為客戶提供一個用戶空間/dev/kvm 工具ibvirt來進行虛擬機管理
    ioctl (定義) 專用于設備輸入輸出操作的系統調用
    libvirt: KVM管理工具
  • 簡單理解:
    KVM驅動提供處理器、內存的虛擬化,以及客戶機I/o的攔截(攔截敏感指令),guest的I/o被攔截后,交由Qemu處理Qemu利用接口libkvm調用(ioctl)虛擬機設備接口/dev/kvm來分配資源、管理、維護虛擬機

KVM虛擬化架構/三種模式

  • 1、客戶模式(guestlos)
  • VM中的os為Guestos客戶機在操作系統中運行的模式,客戶機分為內核模式和用戶模式,作用如下;
  • 2、用戶模式
    為用戶提供虛擬機管理的用戶空間工具以及代表用戶執行I/o,Qemu工作在此模式下(gemu的主要功能)
  • 3、linux內核模式
    模擬cPU、內存,實現客戶模式切換,處理從客戶模式的推出,KVM即運行在此模式下

KVM工作流程

用戶模式的Qemu利用接口libkvm通過ioctl系統調用進入內核模式。
KVM驅動為虛擬機創建虛擬CPU和虛擬內存
然后執行VMLAU.NCH指令進入客戶模式,裝載Guest OS并運行。
Guest OS運行過程中如果發生異常,則暫停Guest OS的運行并保存當前狀態同時退出到內核模式來處理這些異常。
內核模式處理這些異常時如果不需要I/O則處理完成后重新進入客戶模式。
如果需要I/O則進入到用戶模式,則由Qemu來處理I/O,處理完成后進入內核模式,再進入客戶模式

虛擬化前、虛擬化后對比

  • 虛擬化前
    ①每臺主機擁有一個操作系統
    ②軟硬件緊密結合
    ③在同—個主機上運行多個應用程序通常會產生沖突
    ④系統資源利用率低(例如:5%)
    ⑤硬件成本高昂并且不夠靈活
  • 虛擬化后
    ①打破了操作系統和硬件的互相依賴
    ②通過封裝到虛擬機的技術,管理操作系統和應用程序為單一的個體
    ③強大的安全和故障隔離
    ④虛擬機時獨立于硬件的,它們可以在任何硬件上運行

總結

1、KVM技術介紹
通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機,在一臺計算機上同時運行多個邏輯計算機,同時每個邏輯計算機可運行不同的操作系統,應用程序都可以在相互獨立的空間內運行而互相不影響,從而提高計算機的工作效率。

2、KVM技術定位(實際應用)
workstation、 virtualbox模擬硬件資源/設備/操作系統

3、KVM虛擬化技術核心功能(原理方面)
QEMU(工作在用戶層,控制libkvm工具(工具作用,控制內核中的KVM)來調用物理虛擬化資源(調用物理虛擬化資源的方式是ioctl,供給虛擬機)
KVM(工作在內核層,虛擬化/抽象化物理硬件資源,供給Qemu組件調用

4、KVM各核心組件功能
QEMU
功能:控制I/O虛擬化,調用硬件資源
KVM
功能:為虛擬機提供cPU、內存(硬件資源)的虛擬化

KVM 公司使用場景 ;
一般是底層采用 KVM 上層采用 OpenStack ,通過OpenStack 來管理 KVM 的 ;

KVM創建虛擬機教程

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Linux KVM 虚拟化技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。