天天看點

xen半虛拟化pygrub使用更友善

    在使用XEN的時候,因為編譯DomU核心時,他預設很多子產品都沒有,是以安裝服務的時候,需要在從新編譯DomU核心,再這個時候,你不可能把所有的虛拟機都down掉,更新完核心在一起啟動虛拟機吧。這個時候我發現官方的文檔 pygrub 可以實作,虛拟grub 去讀取 虛拟機裡的配置檔案,這樣每台虛拟機器與每台虛拟機的核心可以是不一樣的了,但是記住,一定要支援XEN不然一樣會報錯,好了不多說廢話了。

環境:

xen version : 3.4.2

Dom0 : ubuntu-server 8.0.4

DomU: ubuntu-server-8.0.4

操作:

1.複制核心到虛拟機,如果你的虛拟機是開着,就可以通過網絡,你也可以關閉虛拟機器,mount挂載方式,下面我通過挂載方式。

shell$> mount -o loop  /ubuntu/ubuntu.img /mnt

shell$>cp /boot/vmlinuz-2.6.18.8-xenU /mnt/boot

shell$>cp /boot/initrd.img-2.6.18.8-xenU /mnt/boot

2.在虛拟機檔案系統裡 建立 grub啟動配置檔案。

shell $> cd /mnt/boot

##建立 grub檔案夾

shell$>mkdir grub

##建立配置檔案因為我的是ubuntu是以我的是menu.lst

shell$>vim menu.lst

default         0

timeout         3

title           nginx

root            (hd0,0)

kernel          /boot/vmlinuz-2.6.18.8-xenU console=tty1 root=/dev/sda1 ro

initrd          /boot/initrd.img-2.6.18.8-xenU

quiet

##建立完畢後儲存退出解除安裝 ubuntu.img

shell $> umount /mnt

3.建立虛拟機pygrub啟動配置檔案。

shell $> cd  /opt/xenconf

shell $> vim ubunt.cfg

bootloader = “/usr/bin/pygrub”

memory = 512

name = “nginx”

disk = ['file:/ubuntu/ubuntu.img,sda1,w','file:/ubuntu/swap.img,sda2,w']

root = “/dev/sda1 ro”

vif = ['']

on_poweroff = ‘destroy’

on_reboot   = ‘restart’

on_crash    = ‘restart’

vcpus       = ‘2′

extra = ‘xencons=tty1′

4.啟動虛拟機

shell $>xm create mdt.cfg -c

<a href="http://www.nginxs.com/wp-content/uploads/2010/01/3.jpg"></a>

xe

好了,呵呵,大家快試試!!

本文轉自Deidara 51CTO部落格,原文連結:http://blog.51cto.com/deidara/270115,如需轉載請自行聯系原作者

繼續閱讀