XEN仮想マシンを迅速に導入するxen-toolsツールの紹介


最近、xen仮想マシンの迅速な導入方法を探していますが、公式に推奨されているxen-toolsツールセットはいいと思いますが、紹介時にPara-Vritralization(半仮想化)モードの仮想マシンをこのツールで配備するのが一般的であることがわかりました.どんなモードのxen仮想マシンを配備するかはともかく、xen-toolsツールについて簡単に紹介します.
    debian 6にxen-toolsツールをインストールする:apt-get install xen-tools
    ツールパックには、次のツールが含まれています.
   /usr/bin/xen-create-image
   /usr/bin/xen-create-nfs
   /usr/bin/xen-delete-image
   /usr/bin/xen-list-images
   /usr/bin/xen-update-image
   xen仮想マシンの自動管理には、上記のコマンドが使用されます.仮想マシンの作成には、主にxen-create-imageコマンドが使用されます.主に次のコマンドが呼び出されます.
    /usr/bin/xt-customize-image    ミラーインストール仮想マシンの作成
   /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の構成を上書きできます.
    簡単にご紹介します
xen-create-imageの使用は、xen仮想マシンのインストールを自動化する際に主にこのツールを使用します.
 
          
        --accounts   すべての非システムアカウントを仮想マシンインスタンスにコピー
        --admins     xen-shellを使用するときに作成する管理者を指定します
        --boot       VMインスタンスの作成後に起動
        --Cache=yesは、debootstrapを使用して新しい仮想マシンインスタンスをインストールした後、ダウンロードしたdebパッケージをキャッシュするかどうか.
                       
        --Cachedir=キャッシュされたdebパケットはどのディレクトリに保存されますか.debian系は/var/cache/apt/archives/、redhat系は/var/cache/xen-tools/archives/です.
        --config=fileデフォルト以外のグローバルプロファイルを読み込み、デフォルトファイルは/etc/xen/xen-tools.conf
                       
        --copyhosts  ホストの/etc/hostsファイルを仮想マシンインスタンスにコピーする 
        --debootstrap-cmd=/usr/sbin/debootstrap debootstrapコマンドのパスを設定するか、cdebootstrapコマンドのパスを設定します.
        --disk_デバイス=xvda仮想マシンインスタンスのデバイス名を設定します.デフォルトはxvdaです.
        --extension=cfg生成されたxen仮想マシンインスタンスプロファイルの拡張子を指定
        --force  既存のVMインスタンスミラーを強制的に書き換える
        --fs=fs  仮想マシンインスタンスで使用するファイルシステムのタイプを指定します.ext 2 ext 3 ext 4 reiserfs xfs btrfs
        --genpass=1  ランダムなrootパスワードを生成します.0はオフを表します. 
        --genpass_len=8ランダムに生成されたパスワードの長さを設定し、--genpassと組み合わせて使用します.
        --hash_method=sha 256パスワードを設定する暗号化アルゴリズム、md 5、sha 256 or sha 512
        --hooks=1    仮想マシンインスタンスの作成後にフックプログラムを実行するかどうか
        --ide      仮想マシンインスタンスのIDE名を設定します.たとえば、デフォルトのxvdaの代わりにhdaを使用します. 
        --image=full    生成された仮想マシンミラーのフォーマットには、「sparse」or「full」の2つのオプションがありますが、LVMを選択する場合はfull形式でなければなりません.
        --image-dev=/path/to/device  ミラーデバイスが存在するパスの設定                   
        --initrd=/path/to/initrd   仮想マシンのインストール時に使用するinitial ramdiskを設定し、一般的にホストの
        --install=1  Specify whether to install the guest system or not.
        --keep       インストールに失敗した場合はミラーを削除しない
        --kernel=/path/to/kernel   仮想マシンのインストール時に使用するkernelを設定し、一般的にホストの
        --memory=size    仮想マシンに割り当てられたメモリ                
        --modules=/path/to/modules   仮想マシンのインストール時に使用するkernel modulesを設定し、一般的にホストの
        
        --nohosts    Don't touch/etc/hosts on the dom0.
        --noswap    VMインスタンスにスワップパーティションを作成しない
        --output=dir   生成されたxen仮想マシンインスタンスプロファイルの出力パスを設定する
        --partitions=file  カスタムパーティション分割ファイルを設定します.このファイルを使用すると、デフォルトのfs、size、swap and noswapパラメータは無視されます.
        --password=xxx仮想マシンインスタンスにrootパスワードを設定
        --passwd     仮想マシンインスタンスのインストール中にrootパスワードをインタラクティブに設定すると、genpass-passwordが上書きされます.        
        --pygrub     DomU should be booted using pygrub.
        --role=role  インスタンスのインストール時に指定したroleルールを実行する 
                       
        --role-args="--arg1 --arg2"
                       
        --roledir=/path/to/directory  ルールを含むディレクトリ、デフォルトは/etc/xen-tools/role.d/
        --scsi       仮想マシンインスタンスでは、デフォルトのxvdaの代わりにscsiデバイス名を使用します.たとえば、xvdaの代わりにsdaを使用します. 
        --serial_device=serialname  シリアルデバイス名を設定します.デフォルトはhvc 0です. 
                      
        --size=size  VMインスタンスのプライマリミラーサイズの設定
        --swap=size swapパーティションサイズの設定
        --swap-dev=/path/to/device  swapパーティションミラーのパスを設定する
                      
        --vcpus=num   仮想マシンに割り当てられたcpuを設定します.デフォルト1
                      
        Installation options:
        --arch=amd64   Debootstrap,rinse,rpmstrpメソッドを使用して仮想マシンインスタンスをインストールする場合は、他のインストールメソッドでは有効ではないアーキテクチャタイプを指定できます. 
        --dist=dist  そのリリース版を指定してインストールします.例えば、lenny
        --install-method=debootstrap  VMインスタンスのインストール方法の設定
                       
        --install-source=/path/to/tarball  copyまたはtarのインストール方法を使用するときに設定したソースパス
                      
        --mirror=url    debootstrapを使用してインストールする場合は、mirror urlを設定し、デフォルトでは/etc/apt/sources.listを使用します.
        --template=tmpl    このテンプレートファイルはxen仮想マシンインスタンスを生成するためのプロファイルです.
        Networking options:
        --bridge=brname  ホスト上に複数のブリッジがある場合、新しい仮想マシンにブリッジを指定できます.
                       
        --broadcast=123.456.789.ABC  VMのブロードキャストアドレスの設定
                      
        --dhcp   仮想マシンインスタンスdhcpによるipの取得
        --gateway=gw   VMインスタンスのゲートウェイ
        --ip=xx  仮想マシンipアドレスを設定し、複数のipを設定できます.マルチipの最初のipはシステムipで、残りのipはaliasesです.
        --mac=AA:BB:CC:DD:EE:FF  仮想マシンのMACアドレスの設定
        --netmask=123.456.789.ABC  VMのマスクの設定
        --nameserver=xxx  仮想マシンのdnsを設定し、複数のipをスペースで区切り、設定がなければDom 0's/etc/resolv.confの構成を採用
        --vifname=vifname   インスタンスにvif名を指定する
                       
        Mandatory options:
        --dir=/path/to/directory   loopback imagesのストレージディレクトリ
        --evms=lvm2/container
        --hostname=host.example.org  VMインスタンスのホスト名の設定
        --lvm=vg   そのLVMボリュームグループに仮想マシンインスタンスを作成するミラーを指定します.