快速操作Virtual Machine的幾個方法

除了直接撰寫原生的C程式語言,以呼叫libvirt API的方式來操作VM之外,其實最簡單的方法是透過virsh所提供的指令來完成。大部份的工作其實使用virsh的指令集都可以做到。virsh是隨附在libvirt package中用來協助管理者執行libvirt API的一組工具程式集,可以透過它的文字式交談介面來完成工作,也可以在終端機中的命令提示字元使用這些指令。完整的virsh command連結在此:http://libvirt.org/sources/virshcmdref/html-single/。

使用Python API一個指令migrate所有的VM

兩台不同的主機間如果都執行了libvirtd,就可以透過virsh的指令集來對於虛擬機VM做許多的操作,這個我們在之前的文章中有提到過。現在我們有了Python API,當然可以更進一步地做自動化批次作業。除了前一篇文章中介紹到的把所有的VM關閉或是打開之外,這一篇文章我們就來做Live Migration的自動化操作,一個程式把所有正在執行中的VM在不停機的情況下全部搬到另外一台主機Node上。程式如下(Python 2)

使用Python API一個指令打開或關閉所有的VM

在操作VM的過程,經常有需要把所有本地端主機上的所有 VM都打開或是關機,有了Python API,我們可以建立一個簡單的程式,使用listAllDomains把所有的domain都找出來放在一個串列中,然後分別以create()和shutdown()這兩個方法來打開或是關閉每一個domain(虛擬機)。

使用Python透過libvirt查詢主機相關資訊

如同前一篇文章中我們介紹的,要操作libvirt,使用Python API是最簡單的方法。完整版本在本網站的最下方有一個連結,有興趣的朋友可以自行前往參考。依據其內容,在這裡再提供一個簡易的查詢主機的相關資訊的Python程式給大家參考,不同於C語言還要設定一大堆的編譯資訊,使用Python libvirt API,只要一個import的動作就全部搞定。程式如下: