在 Django中操作KVM上的虛擬機

Django是在Python中非常著名的Web Framework,如果我們想要透過Web介面來操作在主機上的VM,方法也非常簡單。主要的程式要寫在views.py中。假設我們要讓瀏覽器一進主網頁的時候就馬上可以看到目前執行中和非執行中的VM,這篇文章中提供設定的方法。

快速部署大量虛擬機(VM)的方法

透過KVM建立好了虛擬主機環境之後,有時候想要知道這台Node上面究竟可以執行到多少台VM,想試試看它的能耐到底如何,當然不可能從virt-manager上一台一台安裝,這樣太慢了。最好的方式,是就現有正在執行中的VM,複製它的image檔案,然後再做一些參數上的修改就可以了。這樣做雖然比較快,但是要新增3、4台當然沒有問題,可是如果要部署10、20或甚至100台的話,沒有自動化不只不方便,而且也容易出錯。這時候,透過python-libvirt程式庫來自動化部署,就是非常方便的選擇。

Python-libvirt好用的 listAllDomains

使用Python-libvirt函式庫來操作虛擬機,主要的步驟是先取得和Node上的libvirtd連線,然後再透過listAllDomains找出所有在該Node上所有的Domain並儲放在串列變數中,這樣子就可以自由地操作以及查詢該Node上的Domain了。

Python-libvirt的Live-Migration操作示範

承續上一篇文章的介紹,在Python的交談式介面中要操作Live Migration也非常地簡單,而且可以隨時透過Python指令和一些方法函數得到目前的相關資訊,而不用去管複雜的資料結構。以下就是Live Migration的示範影片。來源主機是192.168.1.52,目標主機是192.168.1.51,兩者之間的已設定好SSH的授權,因此在Migrate時並不會要求密碼

Python-libvirt的主要類別以及應用

在Python-libvirt中,它把libvirt API都包裝起來,然後依照其功能,分成幾個Class來操作,分別是virConnect, virDomain, virNetwork, virStoragePool, virStorageVol, 以及virNodeDev。這些我們會分別在後續的文章中做介紹,而其中有一些已經在前面的文章應用過了。以下些示範如何簡單地操作單一的虛擬機。

在CentOS 7中安裝Python的pip

在撰寫Python程式時,用pip來安裝套件幾乎是不可少的事情,一般來說,如果我們使用的是CentOS 7的話,要如何安裝pip呢?答案是:
yum -y install python-pip
但是,如果你的套件庫中找不到這個套件的話,那表示要先把有存放python-pip的套件庫先放進去,所以等於是要先執行下列的安裝步驟:
yum -y install epel-release
然後再安裝python-pip就可以了。