KVM作為后起之秀,在公有云Hytervisor市場中占主宰地位,如一大批基于OpenStack二次開發(fā)的云廠商。而老牌的商業(yè)VMware則在私有云Hytervisor市場中占主宰地位,仍然是各大中小企業(yè)搭建私有云的首選,不過目前也受到Hyper-V的挑戰(zhàn)。
Hypervisor虛擬化技術(shù)有很多種實現(xiàn)方式,如KVM、QEMU、VMware、XEN、HyperV等,而不同的技術(shù)也使得他們提供的驅(qū)動和API也是多樣化的,各不盡相同。如此眾多的Hypervisor,有沒有一種工具提供一個統(tǒng)一的API接口來統(tǒng)一管理這些Hypervisor,這是云能力的關(guān)鍵。
計算機科學家大衛(wèi)·惠勒(David Wheeler)有一句名言:“計算機科學中的任何問題都可以通過增加一個中間層來解決?!蹦敲?,我們是不是可以通過增加一個中間層,對底層Hypervisor的技術(shù)差異進行屏蔽,對上層管理工具提供統(tǒng)一API接口呢。答案是可以的。
Libvirt正是這樣的一個工具,Libvirt通過在底層Hypervisor和上層管理工具之間提供一個中間層。Libvirt作為一個中間層,對底層統(tǒng)一封裝不同虛擬機,對上層管理工具提供統(tǒng)一的API,從而方便地實現(xiàn)了對虛擬機的管理,其體系架構(gòu)如圖1所示。
為避免使用的術(shù)語產(chǎn)生歧義,以下是 libvirt 文檔中使用的一些特定概念的定義:
概念 | 定義 |
---|---|
節(jié)點(Node) | 是指一臺物理機,Hypervisor和域都運行在節(jié)點上; |
Hypervisor | 是指虛擬化軟件層,也稱為虛擬機監(jiān)控器,通過虛擬化一個節(jié)點,讓其可以運行多個虛擬機; |
域(Domain) | 是一個運行在Hypervisor上的操作系統(tǒng)實例,通常是指虛擬機; |
節(jié)點、Hypervisor和域之間的關(guān)系可以簡單地使用圖2來表示。
1. Libvirt簡介
1.1. Libvirt開源軟件
Libvirt是一個免費的開源的軟件,使用的許可證是LGPL,使用libvirt API庫進行調(diào)用的軟件程序不一定要選擇開源和遵守GPL許可證。
Libvirt是一組軟件集合,是用于管理虛擬化平臺的API、守護進程和管理工具。
Libvirt可實現(xiàn)對虛擬機管理,對虛擬化網(wǎng)絡(luò)和存儲的管理。
1.2. libvirt主要目標
Libvirt的主要目標是為底層各種Hypervisor提供一套統(tǒng)一的API,讓上層的管理工具可以用一種單一的方式來管理多種不同的虛擬化技術(shù)。
1.3. libvirt主要組成
Libvirt的主要組成有三部分,包括一個長期穩(wěn)定的C語言API庫、一個守護進程(libvirtd)和一個默認命令行工具(virsh)。
Libvirt API是為其他虛擬機管理工具(如virsh、virt-manager等)提供虛擬機管理的軟件庫支持。
Libvirtd守護進程負責執(zhí)行對節(jié)點上的域的管理工作,virsh、virt-manager等管理工具都需要依靠libvirtd守護進程來間接訪問Hypervisor及配置文件,所以這個守護進程一定要處于運行狀態(tài),如果關(guān)閉這個進程,那么virsh、virt-manager等管理工具將不能使用。
Virsh是libvirt開源項目中默認的對虛擬機管理的一個命令行工具,后續(xù)章節(jié)中將會詳細介紹。文章來源:http://www.zghlxwxcb.cn/news/detail-456458.html
1.4. libvirt主要功能
Libvirt 的主要功能文章來源地址http://www.zghlxwxcb.cn/news/detail-456458.html
到了這里,關(guān)于KVM虛擬化解決方案系列之KVM管理工具-libvirt介紹篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!