使用libvirt管理kvm(virsh篇)

2021-06-29 02:56:09 字數 2989 閱讀 7480

一、簡介

virsh是libvirt對應的shell命令。

二、環境介紹

os:ubuntu 12.04.1 lts

核心:linux 3.2.0-33-generic-pae #52-ubuntu smp thu oct 18 16:39:21 utc 2012 i686 i686 i386 gnu/linux

libvirt:0.9.8

三、準備工作

ubuntu安裝,直接apt-get install

1、安裝kvm/qemu

sudo apt-get install kvm qemu

2、安裝libvirt

sudo apt-get install libvirt-bin libvirt-dev

3、網橋管理工具

sudo apt-get install bridge-utils

4、統一建模語言

sudo apt-get install uml-utilities

5、vnc 

虛擬機器檢視工具

sudo apt-get install vncviewer vnc4server

四、建立映象

在指定目錄下

執行  

qemu-img create -f raw template.img 3g

這樣就建立了乙個大小為3g的映象(img)

有人可能問映象是什麼東西。簡單的說,我們在映象上啟動乙個虛擬機器,這個3g的映象就相當於這個虛擬機器對應的磁碟空間。

也有人執行 

qemu-img create -f qcow2 template.img 3g,(備註:qcow2支援動態擴張)來獲得乙個動態擴張的映象。我沒有用這個,不同情景下可能這種模式更好,有興趣的朋友自己試一下。

五、libvirt xml配置檔案

libvirt(包括virsh)使用xml檔案對虛擬機器進行配置,其中包括虛擬機器名稱、分配記憶體、vcpu等多種資訊。定義、建立虛擬機器等操作都需要xml配置檔案的參與,因此這裡先介紹xml配置檔案。我編輯了乙個名為template.xml的xml檔案,其中定義了乙個名為demo的kvm 

虛擬機器。

//虛擬機器型別,kvm

demo

//虛擬機器名稱

1048576 //分配記憶體,單位kb 1

//分配vcpu,單位個數

hvm//cd 啟動

//硬碟啟動

destroy

restart

destroy

/usr/bin/kvm

//對應的映象,就是之前使用qemu-img命令新建的img檔案,注

意路徑要正確

//可選項,iso通常是作業系統的安裝光碟

//libvirt預設虛擬機器的網路配置是nat模式,就是虛擬機器與宿

主機的網路拓撲是nat形式。實際中,許多開發者更希望使用網橋模式。

//vnc埠系統自動配置

六、檢視虛擬機器列表

檢視本機預設(kvm)連線的虛擬機器:virsh list 

。出現如下列資訊:

$ virsh list

id 名稱  

狀態----------------------------------

$ virsh list

id 名稱  

狀態----------------------------------

1 demo  

running

七、定義、啟動、建立虛擬機器

這裡以上述template.xml配置檔案為例

1、定義虛擬機器

virsh define template.xml

備註:此時虛擬機器只被定義了,並沒有真正啟動。因此此時執行virsh list沒有任何虛擬機器資訊

$ virsh list

id 名稱  

狀態----------------------------------

2、啟動虛擬機器

virsh start  demo

啟動了由template.xml

定義的、名為demo的虛擬機器。此時執行virsh list出現如下資訊:

$ virsh list

id 名稱  

狀態----------------------------------

1 demo  

running

3、建立虛擬機器

建立虛擬機器的作用相當於定義虛擬機器+啟動虛擬機器

virsh create template.xml

此時執行virsh list,結果如下:

$ virsh list

id 名稱  

狀態----------------------------------

1 demo  

running

八、通過vnc檢視虛擬機器

前面都沒有直觀感受,我們可能需要進入虛擬機器內部進行操作。

1、檢視vnc埠

$ virsh vncdisplay demo

:0 2、通過vnc檢視虛擬機器內部

$ vncviewer 127.0.0.1:0

備註:這個映象是我之前建立好的映象,所以已經安裝好了作業系統。如果你從頭建了乙個新的映象,就需要在虛擬機器內安裝作業系統(操作就像在物理機上安裝os一樣)。

九、關閉、銷毀、取消定義虛擬機器

1、關閉虛擬機器

virsh shutdown demo

虛擬機器將慢慢關閉,就像平時我們關閉計算機那樣。此步驟與virsh start demo對應

2、取消定義虛擬機器

virsh undefine demo

libvirt取消demo的定義,系統無法在辨識demo。此步驟與virsh define template.xml對應。

2、銷毀虛擬機器

virsh destroy demo

libvirt直接銷毀demo,取消demo的定義。此步驟之後無法在執行virsh undefine demo。

使用libvirt管理虛擬機器

在server和client端都安裝libvirt bin 修改服務端的 etc libvirt libvirtd.conf配置檔案,去掉listen tls 0和listen tcp 1前面的 號 在tcp驗證的地方新增auth tcp none 修改 etc default libvirtd b...

libvirt管理ESX主機

esx esxi平台得到了極為廣泛的應用,對於esx的管理可以由借助於vi工具 vcenter ssh命令列等方式,這裡給出一種基於libvirt的方式。採用的工具是virsh,是基於libvirt庫開發。一 連線esx root kvm virsh c esx enter username for...

使用 libvirt建立和管理KVM虛擬機器

1.libvirt介紹 libvirt是乙個軟體集合,便於使用者管理虛擬機器和其他虛擬化功能,比如儲存和網路介面管理等等。libvirt概括 起來包括乙個api庫 乙個 daemon libvirtd 和乙個命令列工具 virsh libvirt的主要目標是 提供一種單一的方式管理多種不同的虛擬化提...