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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

KVM学习笔记

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 是基于虛擬化擴展(Intel VT 或者 AMD-V)的 X86 硬件的開源的 Linux 原生的全虛擬化解決方案。KVM 中,虛擬機被實現為常規的?Linux 進程,由標準?Linux 調度程序進行調度;虛機的每個虛擬 CPU 被實現為一個常規的 Linux 進程。這使得 KMV 能夠使用 Linux 內核的已有功能。但是,KVM 本身不執行任何硬件模擬,需要客戶空間程序通過?/dev/kvm 接口設置一個客戶機虛擬服務器的地址空間,向它提供模擬的 I/O,并將它的視頻顯示映射回宿主的顯示屏。目前這個應用程序是 QEMU。

KVM 所支持的功能包括:

  • 支持CPU 和 memory 超分(Overcommit)
  • 支持半虛擬化I/O (virtio)
  • 支持熱插拔 (cpu,塊設備、網絡設備等)
  • 支持對稱多處理(Symmetric Multi-Processing,縮寫為?SMP )
  • 支持實時遷移(Live Migration)
  • 支持 PCI 設備直接分配和?單根I/O 虛擬化 (SR-IOV)
  • 支持 內核同頁合并 (KSM?)
  • 支持 NUMA (Non-Uniform Memory Access,非一致存儲訪問結構 )

?

KVM工具:

  • libvirt:操作和管理KVM虛機的虛擬化 API,使用 C 語言編寫,可以由?Python,Ruby, Perl, PHP, Java 等語言調用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。
  • Virsh:基于 libvirt 的 命令行工具 (CLI)
  • Virt-Manager:基于 libvirt 的 GUI 工具
  • virt-v2v:虛機格式遷移工具
  • virt-* 工具:包括 Virt-install (創建KVM虛機的命令行工具),?Virt-viewer (連接到虛機屏幕的工具),Virt-clone(虛機克隆工具),virt-top 等
  • sVirt:安全工具

?

RedHat 有兩款產品提供 KVM 虛擬化: 1.?Red Hat Enterprise Linux:適用于小的環境,提供數目較少的KVM虛機。最新的版本包括 6.5 和 7.0. 2. Red Hat Enterprise Virtualization?(RHEV):提供企業規模的KVM虛擬化環境,包括更簡單的管理、HA,性能優化和其它高級功能。最新的版本是 3.0.

?

為什么需要Libvirt?

  • Hypervisor 比如 qemu-kvm 的命令行虛擬機管理工具參數眾多,難于使用。
  • Hypervisor 種類眾多,沒有統一的編程接口來管理它們,這對云環境來說非常重要。
  • 沒有統一的方式來方便地定義虛擬機相關的各種可管理對象。
  • Libvirt提供了什么?

  • 它提供統一、穩定、開放的源代碼的應用程序接口(API)、守護進程 (libvirtd)和和一個默認命令行管理工具(virsh)。
  • 它提供了對虛擬化客戶機和它的虛擬化設備、網絡和存儲的管理。
  • 它提供了一套較為穩定的C語言應用程序接口。目前,在其他一些流行的編程語言中也提供了對libvirt的綁定,在Python、Perl、Java、Ruby、PHP、OCaml等高級編程語言中已經有libvirt的程序庫可以直接使用。
  • 它對多種不同的 Hypervisor 的支持是通過一種基于驅動程序的架構來實現的。libvirt 對不同的 Hypervisor 提供了不同的驅動,包括 Xen 的驅動,對QEMU/KVM 有 QEMU 驅動,VMware 驅動等。在 libvirt 源代碼中,可以很容易找到 qemu_driver.c、xen_driver.c、xenapi_driver.c、vmware_driver.c、vbox_driver.c 這樣的驅動程序源代碼文件。
  • 它作為中間適配層,讓底層 Hypervisor 對上層用戶空間的管理工具是可以做到完全透明的,因為 libvirt 屏蔽了底層各種 Hypervisor 的細節,為上層管理工具提供了一個統一的、較穩定的接口(API)。
  • 它使用 XML 來定義各種虛擬機相關的受管理對象。
  • ?? ? 目前,libvirt 已經成為使用最為廣泛的對各種虛擬機進行管理的工具和應用程序接口(API),而且一些常用的虛擬機管理工具(如virsh、virt-install、virt-manager等)和云計算框架平臺(如OpenStack、OpenNebula、Eucalyptus等)都在底層使用libvirt的應用程序接口。

    ?

    以上摘自:?https://blog.csdn.net/5hongbing/article/details/78424265?locationNum=9&fps=1

    轉載于:https://www.cnblogs.com/zjd1396/p/9681082.html

    總結

    以上是生活随笔為你收集整理的KVM学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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