中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Libvirt概念及實現原理是什么

發布時間:2021-11-22 18:55:00 來源:億速云 閱讀:813 作者:柒染 欄目:云計算

這篇文章給大家介紹Libvirt概念及實現原理是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、Libvirt簡介

Libvirt是由Redhat開發的一套開源的軟件工具,目標是提供一個通用和穩定的軟件庫來高效、安全地管理一個節點上的虛擬機,并支持遠程操作。它由以下的模塊組成:

  • 一個庫文件,實現管理接口

  • 一個守護進程(libvirtd)

  • 一個命令行工具(virsh)

基于可移植性和高可靠性的考慮,Libvirt采用C語言開發,但是也提供了對其他編程語言的綁定,包括Python,Perl,Ocaml,Ruby,Java和PHP。因此Libvirt的調用可以被集成到各種編程語言中,適應不同的環境。 Libvirt支持多種虛擬機,具體情況如下:

名稱注釋
LXC輕量級的Linux容器
OpenVZ基于Linux內核的輕量級Linux容器
KVM/QEMU基于Linux的類型2的VMM
Xen開源的類型1的VMM
User-mode Linux(UML)系統調用級別的Linux虛擬機
VirtualBoxOracle開發的類型2的VMM
Vmware ESX and GSXVmware虛擬化的服務器版本
Vmware Workstation and PlayerVmware虛擬化的桌面版本
Hyper-V微軟開發的VMM
PowerVMIBM開發的VMM
Parallels WorkstationParallels為Mac開發的VMM
BhyveFreeBSD 9+上的VMM

二、Libvirt的結構

Libvirt屏蔽了不同虛擬化的實現,提供統一管理接口。用戶只關心高層的功能,而VMM的實現細節,對于最終用戶應該是透明的。Libvirt就作為VMM和高層功能之間的橋梁,接收用戶請求,然后調用VMM提供的接口,來完成最終的工作。 Libvirt的層次結構如下: Libvirt概念及實現原理是什么

為了支持多種VMM,Libvirt采用了基于驅動的架構,如圖下圖所示。也就是說,每種VMM需要提供一個Driver和Libvirt進行通信來操控特定的VMM。

Libvirt概念及實現原理是什么

三、Libvirt的實現

Libvirt代碼里所定義的主要對象如下圖所示。 Libvirt概念及實現原理是什么

  1. VirConnectPtr:代表了一個特定VMM建立的連接。每一個基于Libvirt的應用程序都應該先提供一個URI來指定本地或遠程的某個VMM,從而獲得一個VirConnectPtr連接。比如xen+ssh://host-virt/代表了通過ssh連接一個在host-virt機器上運行的Xen VMM。拿到virConnectPtr連接后,應用程序就可以管理這個VMM的虛擬機和對應的虛擬化資源,比如存儲和網絡。

  2. VirDomainPtr:代表一個虛擬機,可能是激活狀態或者僅僅已定義。

  3. VirNetworkPtr:代表一個網絡

  4. VirStorageVolPtr:代表一個存儲卷,通常被虛擬機當做塊設備使用。

  5. VirStoragePoolPtr:代表一個存儲池,用來分配和管理存儲卷的邏輯區域。

1、本機之間的通信‘

在初始化的過程中,所有的驅動被枚舉和注冊。每一個驅動都會加載特定的函數為Libvirt API所調用。如下圖所示,Application通過URI調用Public API,然后PublicAPI通過使用Driver提供的API接口調用正真的Driver實現。

Libvirt概念及實現原理是什么

2、遠程主機之間的通信

Libvirt的目標是支持遠程管理,所以到Libvirt的驅動的訪問,都由Libvirt守護進程libvirtd處理,libvirtd被部署在運行虛擬機的節點上,通過RPC由對端的remote Driver管理,如下圖所示。

Libvirt概念及實現原理是什么

在遠程管理模式下,virConnectionPtr實際上連接了本地的remote Driver和遠端的特定Driver。所有的調用都通過remote Driver先到達云端的libvirtd,libvirtd訪問對應的Driver。

關于Libvirt概念及實現原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双城市| 灌阳县| 太仆寺旗| 宜良县| 新宾| 保山市| 酉阳| 镇原县| 辽阳县| 孟连| 建瓯市| 手机| 宁波市| 修文县| 鞍山市| 平乐县| 贵港市| 清新县| 涞源县| 铜山县| 喀喇沁旗| 玉山县| 焦作市| 衡阳市| 灵丘县| 时尚| 霍城县| 大渡口区| 合江县| 宜丰县| 牙克石市| 新竹市| 皮山县| 青冈县| 民勤县| 若尔盖县| 平阳县| 葵青区| 巴东县| 景洪市| 巴林左旗|