如何快速部署你的xen虛擬化環境

   現在提出一個假設,公司要出用xenserver出800個桌面。要安裝50臺xenserver服務器,安裝時要採用F2高級安裝,定製一些dom0與根分區大小,如果是xenserver最新版本的話還要設置一個GPT_SUPPORT選項。如何一臺設備安裝給你20分鐘的話,50臺就是1000分鐘,需要16個小時,一個人至少要2天的時間安裝完畢。如果是100臺呢?一週或者是更長的時間。

   我是受不了這種折磨,那天經理叫我裝12臺我就受不鳥了。所以我就琢磨着怎麼進行網絡安裝,然後定製安裝,無須人工干預。

   配置使用pxe安裝xenserver,pxe的環境在這篇文章有詳細的說明:http://kikupotter.blog.51cto.com/3781406/1039820

   搭建好PXE環境之後,配置default文件如下:

default local
prompt 1
timeout 60
label local
        localboot 0
label install-xenserver
        kernel mboot.c32
        append xenserver/xen.gz dom0_max_vcpus=2 dom0_mem=752M com1=115200,8n1 console=com1,vga --- xenserver/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=ftp://192.168.0.5pub/xenserver6.1/answerfile install --- xenserver/install.img

進行網絡引導之後,我們要編寫交互定製文件:

<?xml version="1.0"?>
       <installation>
           <primary-disk  gueststorage="no">sda</primary-disk>
        <guest-disk>sdb</guest-disk>
           <keymap>us</keymap>
           <root-password>root.123</root-password>
           <source type="url">ftp://192.168.0.55/pub/xenserver6.1</source>
        <post-install-script type=”url”>
         ftp://192.168.0.55/post-install.sh
        </post-install-script>
           <admin-interface name="eth0" proto="static">
               <ip>192.168.0.68</ip>
               <subnet-mask>255.255.255.0</subnet-mask>
               <gateway>192.168.0.55</gateway>
           </admin-interface>
           <nameserver>218.89.157.99</nameserver>
           <hostname>xenserver001</hostname>
           <timezone>Asia/Shanghai</timezone>
       </installation>

 採用網絡引導後就可以安裝了。

 但是上面的問題還沒有解決,就是我要的是高級安裝,定製文件裏面沒有分區的地方,默認安裝完仍然是4G的根分區,和752M的DOM0,GPT_SUPPORT也未更改。無法滿足設計要求。

 經過數次的嘗試終於找到了解決方法,就是直接修改光盤鏡像裏面的install.img裏面的constant.py文件,但是做的時候一定要注意格式的轉換,不然重新打包的install.img可能就無正常使用,這裏將定製過程演示一遍:

 掛在xenserver6.1光盤:到/media

[root@station01media]# ls
AUTORUN.INF     EULA         packages.main         Read_Me_First.html
boot            install.img  packages.transfer-vm  XS-REPOSITORY-LIST
client_install  LICENSES    packages.xenserver

拷貝install.img:

[root@station01media]# cp install.img /tmp/
[root@station01tmp]# mkdir tmp/
[root@station01tmp]# mv install.img tmp/install.img.gz
[root@station01tmp]# cd tmp/
[root@station01tmp]# ls
install.img.gz
[root@station01tmp]# pwd
/tmp/tmp

開始解壓制作:記住這個塊大小141577,打包完成之後也要是這大小。

[root@station01tmp]# gunzip install.img.gz
[root@station01tmp]# cpio -i --make-directories < install.img
141577 blocks

解壓完成後:

[root@station01tmp]# ls
bin  etc  init         lib  proc sbin            share  tmp var
dev  home install.img  opt  root sdk.answerfile  sys    usr

修改配置:

[root@station01installer]# vim constants.py
[root@station01installer]# cat constants.py | grep False
GPT_SUPPORT =False
[root@station01installer]# cat constants.py | grep 12288
root_size = 12288
[root@station01installer]# cat constants.py | grep 2940
DOM0_MEM=2940 #MB

打包:

[root@station01tmp]# ls
bin  etc  init         lib  proc sbin            share  tmp var
dev  home install.img  opt  root sdk.answerfile  sys    usr

   覆蓋原來的install.img

[root@station01tmp]# pwd
/tmp/tmp
[root@station01tmp]# rm install.img
rm: removeregular file `install.img'? y
[root@station01tmp]# pwd
/tmp/tmp
[root@station01tmp]# find . | cpio -c -o > ../install.img #這條命令很重要。
141577 blocks
[root@station01tmp]# cd ..
[root@station01tmp]# pwd
/tmp
[root@station01tmp]# ls install.img
install.img
[root@station01tmp]# gzip install.img
[root@station01tmp]# mv install.img.gz install.img

這樣將製作好的install.img替代掉原來的install.img進行網絡安裝即可,隨時修改定製打包,自定義你的xenserver環境。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章