ようへいの日々精進XP

よかろうもん

今日はこれでキマリ。VM 作るのに XenCenter とサヨナラしてみる。

目標

  • VM 作成にあたり XenCenter を使わずに作成してみる
  • VM のリソース(CPU やメモリ、ハードディスク)も全て XenServer のコマンドラインから設定する

作りたい環境

リソース パラメータ
CPU 1vCPU
memory 1024MB
HDD 16GB
NIC 1
OS CentOS 6.4

やってみる

VM の大枠を作る

xe vm-install new-name-label=${VM のラベル名} template=${パラメータの UUID}

上記を実行すると VM の UUID が出力されるので控えておく。

vm-param-set を使って VM のリソースを設定する

VM の UUID が重要になる。

xe vm-param-set uuid=${VM の UUID} VCPUs-at-startup=1
xe vm-param-set uuid=${VM の UUID} VCPUs-max=1
xe vm-param-set uuid=${VM の UUID} memory-dynamic-max=1073741824
xe vm-param-set uuid=${VM の UUID} memory-dynamic-min=1073741824
xe vm-param-set uuid=${VM の UUID} memory-static-max=1073741824
xe vm-param-set uuid=${VM の UUID} memory-static-min=134217728

上記を指定することで 1vCPU1024MB のメモリが設定されたことになる。

sr-list を使ってディスクを確認する

SR とは Storage Repository の略称で物理サーバーに接続された物理ディスクや NAS ストレージ等を XenServer で扱えるようにしたフォーマット。

xe sr-list

XenServer のストレージオブジェクトは以下のようなイメージとなる。

+------+     +----+     +-----+     +-----+----+
| User | --> | VM | --- | VBD | --- | VDI | SR |
+------+     +----+     +-----+     +-----+----+

SR 内に VDI を作成し VDB によって仮想サーバーと繋がるイメージ。

SR 内に VDI を作る

VDI とは Virtual Disk Image の略称...のはず。

xe vdi-create sr-uuid=${SR の UUID} virtual-size=17179869184 type=system name-label=${VDI のラベル名} sharable=false

上記を実行すると VDI の UUID が出力されるので控えておく。

VBD を作成して VDI と VM を結びつける

VBD とは Virtual Block Device の略称。

xe vbd-create bootable=true device=xvda mode=RW type=Disk unpluggable=false vdi-uuid=${VDI の UUID} vm-uuid=${VM の UUID}    

テンプレートから VM を作成していく場合、CentOS 6.4 x86_64 を選択するとデフォルトで 8GB の仮想ディスクが接続されているが、これは一旦、削除しておく。

仮想ネットワークインターフェースを作成する

xe vif-create vm-uuid=${VM の UUID} network-uuid=${Network の UUID} mac=random device=0

device=0eth0 になる。

VM の起動オプションを設定する

ネットワークインストールに必要なリポジトリの設定等を行う。

xe vm-param-set uuid=${VM の UUID} other-config:install-repository=http://mirror.centos.org/centos/6/os/x86_64
xe vm-param-set uuid=${VM の UUID} PV-args="ksdevice=eth0"
xe vm-param-set uuid=${VM の UUID} other-config:disable_pv_vnc=1

kickstart オプション等も設定可能。

では、VM を起動する

以下のように VM を起動する。

xe vm-start uuid=${VM の UUID}

以下のようにコンソールにもアクセス可能。

xe console uuid=${VM の UUID}

今日はこれでキマリ

  • XenCenter が不要になりました