在使用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,如需轉載請自行聯系原作者