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

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

Read More

Python-libvirt的Live-Migration操作示範

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

Read More

在CentOS 7中安裝Python的pip

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

Read More

掛載虛擬機硬碟分割區的方法

在有些情況下,我們會想要在Host主機中掛載在其上執行的VM的磁碟目錄,以對其中做一些檢視或修改的動作,在這一篇文章中,我們就來教其中的步驟。目前站長測試的過程中,如果你的VM作業系統使用的是LVM的磁碟格式的話,在操作上要多了許多的設定,所以為了方便起見,在以下的例子中,站長使用的是傳統的檔案格式。

Read More

快速操作Virtual Machine的幾個方法

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

Read More

SSH免密碼驗證設定

由於經常會在兩三台Linux主機之間使用SSH,另外Mirgration VM時也會使用到SSH,所以設定好免密碼驗證會讓操作上更加地便利。正確來說,其實不是免密碼,而是使用公私鑰的驗證方式來替代使用者輸入密碼。主要的原理就是先利用程式產生一組公私鑰(一個公鑰檔,一個私鑰檔),然後私鑰當然是保存在自己的帳戶目錄中,而把公鑰交給對方,這樣SSH在登入時,會先比對這組公私鑰,如果配對成功,就不會再向使用者索取密碼了。

Read More

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

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

Read More