摘要:一簡介是由開發(fā)的一套開源的軟件工具,目標是提供一個通用和穩(wěn)定的軟件庫來高效安全地管理一個節(jié)點上的虛擬機,并支持遠程操作。用戶只關心高層的功能,而的實現細節(jié),對于最終用戶應該是透明的。本機之間的通信在初始化的過程中,所有的驅動被枚舉和注冊。
一、Libvirt簡介
Libvirt是由Redhat開發(fā)的一套開源的軟件工具,目標是提供一個通用和穩(wěn)定的軟件庫來高效、安全地管理一個節(jié)點上的虛擬機,并支持遠程操作。它由以下的模塊組成:
一個庫文件,實現管理接口
一個守護進程(libvirtd)
一個命令行工具(virsh)
基于可移植性和高可靠性的考慮,Libvirt采用C語言開發(fā),但是也提供了對其他編程語言的綁定,包括Python,Perl,Ocaml,Ruby,Java和PHP。因此Libvirt的調用可以被集成到各種編程語言中,適應不同的環(huán)境。
Libvirt支持多種虛擬機,具體情況如下:
|名稱|注釋|
|-|-|
|LXC|輕量級的Linux容器|
|OpenVZ|基于Linux內核的輕量級Linux容器|
|KVM/QEMU|基于Linux的類型2的VMM|
|Xen|開源的類型1的VMM|
|User-mode Linux(UML)|系統調用級別的Linux虛擬機|
|VirtualBox|Oracle開發(fā)的類型2的VMM|
|Vmware ESX and GSX|Vmware虛擬化的服務器版本|
|Vmware Workstation and Player|Vmware虛擬化的桌面版本|
|Hyper-V|微軟開發(fā)的VMM|
|PowerVM|IBM開發(fā)的VMM|
|Parallels Workstation|Parallels為Mac開發(fā)的VMM|
|Bhyve|FreeBSD 9+上的VMM|
Libvirt屏蔽了不同虛擬化的實現,提供統一管理接口。用戶只關心高層的功能,而VMM的實現細節(jié),對于最終用戶應該是透明的。Libvirt就作為VMM和高層功能之間的橋梁,接收用戶請求,然后調用VMM提供的接口,來完成最終的工作。
Libvirt的層次結構如下:
為了支持多種VMM,Libvirt采用了基于驅動的架構,如圖下圖所示。也就是說,每種VMM需要提供一個Driver和Libvirt進行通信來操控特定的VMM。
三、Libvirt的實現Libvirt代碼里所定義的主要對象如下圖所示。
VirConnectPtr:代表了一個特定VMM建立的連接。每一個基于Libvirt的應用程序都應該先提供一個URI來指定本地或遠程的某個VMM,從而獲得一個VirConnectPtr連接。比如xen+ssh://host-virt/代表了通過ssh連接一個在host-virt機器上運行的Xen VMM。拿到virConnectPtr連接后,應用程序就可以管理這個VMM的虛擬機和對應的虛擬化資源,比如存儲和網絡。
VirDomainPtr:代表一個虛擬機,可能是激活狀態(tài)或者僅僅已定義。
VirNetworkPtr:代表一個網絡
VirStorageVolPtr:代表一個存儲卷,通常被虛擬機當做塊設備使用。
VirStoragePoolPtr:代表一個存儲池,用來分配和管理存儲卷的邏輯區(qū)域。
1、本機之間的通信‘在初始化的過程中,所有的驅動被枚舉和注冊。每一個驅動都會加載特定的函數為Libvirt API所調用。如下圖所示,Application通過URI調用Public API,然后PublicAPI通過使用Driver提供的API接口調用正真的Driver實現。
2、遠程主機之間的通信Libvirt的目標是支持遠程管理,所以到Libvirt的驅動的訪問,都由Libvirt守護進程libvirtd處理,libvirtd被部署在運行虛擬機的節(jié)點上,通過RPC由對端的remote Driver管理,如下圖所示。
在遠程管理模式下,virConnectionPtr實際上連接了本地的remote Driver和遠端的特定Driver。所有的調用都通過remote Driver先到達云端的libvirtd,libvirtd訪問對應的Driver。
原文鏈接: http://blog.csdn.net/xingjiarong/article/details/50545826
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25157.html
摘要:一為什么要使用虛擬云桌面背景攜程呼叫中心,即服務聯絡中心,是攜程的核心部門之一,現有幾萬員工。他們全年小時為全球攜程用戶提供服務。為此,攜程正式引入了虛擬云桌面。攜程云桌面現狀攜程云桌面現已部署上海南通如皋合肥信陽穆棱六個呼叫中心。 編者:本文為劉科在第六期【攜程技術微分享】中的分享內容。在攜程技術中心(微信號ctriptech)微信后臺回復【云桌面】,可加入微信交流群,和關注云桌面的...
摘要:一為什么要使用虛擬云桌面背景攜程呼叫中心,即服務聯絡中心,是攜程的核心部門之一,現有幾萬員工。他們全年小時為全球攜程用戶提供服務。為此,攜程正式引入了虛擬云桌面。攜程云桌面現狀攜程云桌面現已部署上海南通如皋合肥信陽穆棱六個呼叫中心。 編者:本文為劉科在第六期【攜程技術微分享】中的分享內容。在攜程技術中心(微信號ctriptech)微信后臺回復【云桌面】,可加入微信交流群,和關注云桌面的...
摘要:該公司剛剛宣布了一個計劃,意在取代現有的發(fā)行版。這甚至可能幫找到一個新方向。為了解決這個問題,我們在上增加了一個名為的新功能。總體而言,整個過程呈現如下建立包括,以及一個的基礎架構。 這是 TCP CLOUD 聯合創(chuàng)始人 & 前 CTO Jakub Pavlik 于 2017 年 7 月 9 日發(fā)布于 www.mirantis.com 的文章。本文主要介紹了 Virtlet 及其未來與...
摘要:使這個平臺使用更方便的較大的優(yōu)勢之一是全面兼容亞馬遜。因此,基于亞馬遜的所有的腳本和軟件產品都可以輕松地為你的私有云部署。此外,商業(yè)版提供了廣泛的功能管理程序工具兼容亞馬遜和集成等等。 考慮到云計算有極大的潛力提高效率,顯著節(jié)省成本,實現可升級的基礎設施和高性能以及安全的數據存儲,云計算仍然是目前IT領域最熱門的話題之一。 然而,選擇合適的云平臺是很困難的。這些云平臺都有支持意見和反對意見。...
閱讀 2434·2021-11-18 10:02
閱讀 693·2021-10-08 10:04
閱讀 2263·2021-09-03 10:51
閱讀 3549·2019-08-30 15:44
閱讀 2806·2019-08-29 14:09
閱讀 2471·2019-08-29 12:21
閱讀 2068·2019-08-26 13:45
閱讀 1810·2019-08-26 13:25