Xen 虛擬機器使用LVM snapshot映象

2021-06-04 20:43:39 字數 1507 閱讀 2480

一般的虛擬機器映象檔案,比較直接的做法是存放在乙個img映象檔案裡,或者直接使用/dev/sda*分割槽。但是萬一把虛擬機器分割槽「玩壞」了就不好恢復了。

qemu支援一種映象格式qcow2,能夠建立增量映象,這樣可以把修改存在新檔案裡,當出錯時可以保護原始映象。這個功能非常有用,【xen似乎支援qcow2,待查】

但是xen自身不支援。

xen想要使用增量映象,只能使用lvm檔案系統的snapshot快照功能。(note:xen hvm虛擬機器因為使用qemu做前端,所以同樣可以用qcow2格式。但是pv虛擬機器就只能用lvm snapshot)

lvm可以對乙個分割槽建立多個快照(snapshot),作為分割槽的增量映象。在快照裡的修改不會影響到源分割槽。

在建立快照時,需要指定快照的大小。當snapshot的空間被填滿時,lvm會丟棄這個快照(奇怪的設定所以盡量不要塞滿……而比較新的lvm版本支援把snapshot與本體分割槽合併,如果建立了快照又想同時修改本體和快照,可以使用這個merge功能。

下面是具體的配置。

環境:lvm版本為2.02.54。這個版本比較老。比較新的版本支援把snapshot與本體分割槽合併。

gui使用kde的kvpm,和gnome下的system-config-lvm

lvm的檔案系統可以定義在物理分割槽上,或者映象檔案裡。我使用的是/dev/sda*分割槽。

建立lvm分割槽:

sudo pvcreate /dev/sda11 -v
注意這一步會抹掉分割槽頭部資訊。剩下的分配捲組/分割槽的步驟可以在gui裡完成。最後的結果是這樣:

/dev/sda11(physical volume)

--- vg0(group0)

------ pv (10gb, ext4)

------ swap (512mb, swap)

其他的預留給hvm虛擬機器和snapshot

安裝配置好映象pv裡的所有內容後,使用gui建立兩個snapshot:pv-shot1和pv-shot2,大小均為2gb

然後把虛擬機器配置檔案做相應的修改:

xm_vars.var('volume', use="specify the logical volume (snapshot) used")

disk = [

"phy:/dev/vg0/%s,xvda2,w" % volume,

]name = 'debian-pv-%s' % volume

執行時的命令列:
sudo xm create -c debian-pv.cfg volume=pv-shot1
這樣啟動的虛擬機器,所有的修改都在snapshot中進行,原始映象可以得到很好的保護。

Xen虛擬機器

虛擬化技術是雲計算實現彈性計算的核心技術。在構建雲計算平台中,虛擬機器的安裝是基礎。常用的虛擬機器工具很多,如vmware xen kvm virtual pc等,這些工具使得使用者可以在單台物理pc上 稱為宿主機 虛擬出多個虛擬機器vm virtual machine 由於在每個vm上可以安裝與宿...

Xen虛擬機器檢測

應用程式如何獲知自己是否工作在xen 虛擬機器中呢?使用cpuid指令可以完成該任務。uint32 t eax,ebx,ecx,edx,pages,msr,i char signature 13 cpuid 0x40000000,eax,ebx,ecx,edx uint32 t signature ...

Xen虛擬機器VNC輸出

摘要 有時需要通過主機hvc0登入到虛擬機器中,有時需要借助vnc登入虛擬機器進行管理,這樣就需要有相應的配置保證兩者都能正常輸出。具體的配置如下文。hvc是xen虛擬化技術引入的對虛擬機器進行控制的虛擬console,在虛擬機器的配置中自動完成 vnc顯示vga硬體輸出,可以完成對虛擬機器的管理。...