总结!进入libvirt的虚拟化世界(一)得到libvirt的连接
2019獨角獸企業重金招聘Python工程師標準>>>
開門見山。
libvirt的工作機制神馬的我也解釋不清楚。我就基本上了解到底該怎么用……
但是基于libvirt的工作流程,我就要一一為自己總結了!
第一、想要使用libvirt的API來進行虛擬機生命周期的管理,首先需要得到你的應用程序要主機的一個URI連接!注意不是URL……別混淆了……URI,叫做“統一資源標識符”。這里引用一下開發文檔的句子“在libvirt中,一個這樣的連接是系統中所有對象的和行為的基礎” “所有實體(應用程序)如果想要與libvirt進行交互,都須要首先取得一個連接到你感興趣的主機(目標主機)上的libvirt的連接”。
第二、給予第一點,那么,怎樣才能獲取一個連接呢。很簡單!libvirt提供了三種API供我們使用以獲取一個連接。我在這里就介紹一個最簡單的virConnectPtr virConnectOpen(const char *name)。此函數概要解釋如下:1)virConnectPtr是一個結構體,它代表的是我們的virConnectOpen()函數獲取的libvirt連接對象。
此程序的使用范例如下:根據我自己的實驗環境所得……請諸位各取所需……不勝感激
……
#include<libvirt/libvirt.h>
.......
int main(int argc , char *argv[])
{
????virConnectPtr?? zzhConn;
????zzhConn = virConnectOpen("Xen:///");
????......
????virConnectClose(zzhConn);
????......
????return 0 ;
}
程序解釋如下:include命令當然引入到是包含這些API具體實現的頭文件拉。
其次, virConnectPtr zzhConn;為申明一個libvirt的連接對象,不然用什么來保存我們的這個連接對象呢是吧?
再次,當然就是調用相關函數獲取對應的連接對象咯!
注意:“Xen:///”是表示的“Xen的本地的連接”其他VMM軟件有不同的表示方法,不一一列出。在此的:“Xen:///”就是我們說所的“URI”了。PS,另外兩個函數,也必不可少次URI。
最后,當然是關閉連接了啊。這和我們C中記得釋放資源是一個良好的習慣是一樣的。
至于這個函數,大家記住就行了……沒啥特別的……跟那個free()角色差不多的……
轉載于:https://my.oschina.net/u/274153/blog/54964
總結
以上是生活随笔為你收集整理的总结!进入libvirt的虚拟化世界(一)得到libvirt的连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: page对保护的作用
- 下一篇: sql IDENTITY(函数)