最近在尋找快速部署xen虛擬機方法,以爲官方推薦的xen-tools工具集不錯,不過發如今介紹時通常用該工具部署Para-Vritralization(半虛擬化)模式的虛擬機,暫且不論部署什麼模式的xen虛擬機 ,下面簡單介紹一下xen-tools工具。算法
在debian6上安裝xen-tools工具:apt-get install xen-toolsshell
工具包中包含如下工具:bootstrap
/usr/bin/xen-create-image緩存
/usr/bin/xen-create-nfs網絡
/usr/bin/xen-delete-image架構
/usr/bin/xen-list-imagesdom
/usr/bin/xen-update-imageide
在自動化管理xen虛擬機時都會用到以上幾個命令,在建立虛擬機時主要使用xen-create-image命令,它主要調用如下幾個命令:工具
/usr/bin/xt-customize-image 建立鏡像安裝虛擬機oop
/usr/bin/xt-install-image 手機hook腳本,對虛擬機進行配置
/usr/bin/xt-create-xen-config 建立配置文件
xen-tools主要使用到的的目錄以下:
/etc/xen-tools 包含主配置文件,分區配置文件,規則配置文件等。
/var/log/xen-tools 包含每一個vm建立過程當中的日誌。
/usr/lib/xen-tools 包含一些hook腳本,在vm安裝過程當中對vm進行定製。
/etc/xen-tools/xen-tools.conf 這是一個用腳本生成虛擬機實例的全局配置文件,包含在xen-tools包中,在該配置文件中定義的任何值均可以用外部命令重複定義,下面簡單的介紹一下xen-tools.conf文件的配置:
#設置用來存儲虛擬機本地鏡像的目錄,默認是註釋狀態,新的虛擬機實例會存儲在該目錄下以虛擬機hostname命名的子目錄下。 # dir = /home/xen #若是你不想用loopback images,則能夠設置使用LVM卷組代替, lvm = vm-xen # Installation method. #虛擬機實例安裝方法,有四種安裝方法 # install-method = [ debootstrap | rinse | rpmstrap | copy | tar ] install-method = debootstrap #若是使用copy或者tar方法安裝虛擬機實例,則須要指定從那個源頭copy文件或者獲取tar文件。 # install-source = /path/to/copy # install-source = /some/path/img.tar #安裝命令定義,能夠本身定義copy、tar、debootstrap等安裝方法的定義, # install-method = copy: # copy-cmd = /bin/cp -a $src/* $dest # install-method = debootstrap: # debootstrap-cmd = /usr/sbin/debootstrap # install-method = tar: # tar-cmd = /bin/tar --numeric-owner -xvf $src # 虛擬機磁盤大小 size = 30Gb # 虛擬機內存大小 memory = 1024Mb # 虛擬機swap大小 swap = 2048Mb # 若是不想使用swap,使用如下配置 # noswap = 1 # 設置磁盤上的文件系統類型 fs = ext4 # 虛擬機的默認安裝版本,會和宿主機一致 dist = `xt-guess-suite-and-mirror --suite` # Specify sparse vs. full disk images. image = sparse # 網絡設置 #若是但願給虛擬機實例設置靜態IP則能夠把一下內容取消註釋 gateway = 10.1.6.254 netmask = 255.255.255.0 broadcast = 10.1.6.255 #配置虛擬機實例使用dhcp dhcp = 1 #給虛擬機實例設置默認的hostname,默認是不設置的,而且Dom0's /etc/resolv.conf會被拷貝到虛擬機實例上面 nameserver = xen-vmserver #給host的vif設置橋接名稱 # bridge = xendmz # Misc options #在使用debootstrap安裝方法時,若是但願取消掉安裝時下載的deb包,則能夠去掉註釋 # cache = no #默認的緩存目錄是/var/cache/apt/archives/,若是它不存在則設置爲/var/cache/xen-tools/archives/ # cachedir = /var/cache/xen-tools/archives/ #若是你不想給虛擬機實例手動設置root密碼,則註釋掉如下內容 # genpass = 0 #設置密碼的長度 # genpass_len = 8 #設置密碼的加密方式,能夠有md5, sha256 and sha512三種方式 # hash_method = sha256 #在安裝虛擬機實例時若是但願交互的設置root密碼能夠設置如下選項 passwd = 1 #把宿主機上的全部非系統賬號copy到虛擬機實例上 # accounts = 1 #設置虛擬機實例默認使用的kernel和ramdisk,由於使用的是XEN的內核,因此uname -r 出來的是xen東西。 kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` #設置虛擬機實例的架構體系,值適用於debootstrap, rinse, or rpmstrap安裝,在64位的機器上頗有用 # arch = [i386|amd64] #在使用debootstrap安裝時設置默認的mirror mirror = http://mirrors.163.com/debian # Filesystem options for the different filesystems we support. ext3_options = noatime,nodiratime,errors=remount-ro ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults #在建立虛擬機完畢後直接啓動 boot = 1 #若是是在lenny或者以後的OS上安裝XEN,須要確保使用hvc0做爲虛擬機的serial device,使用xvdX代替sdX做爲虛擬機的serial devices #default serial_device = hvc0 # serial_device = tty1 #default disk_device = xvda # disk_device = sda #設置xen配置文件的輸出目錄和配置文件的後綴,配置文件名默認是$hostname.cfg output = /etc/xen extension = .cfg #是否把dom0的/etc/hosts追加到虛擬機實例中 # 默認不創建dom0的/etc/hosts # nohosts = 0 # 默認不拷貝dom0的/etc/hosts到虛擬機實例 # copyhosts = 0
注:在使用xen-create-image命令時CLI的選項均可以覆蓋xen-tools.conf裏面的配置。