My Reserches / NAREGI


My Reserches

Xenの基本的な操作

VMの設定ファイル

kernel = "/boot/vmlinuz-2.6.18-xen"
memory = 768
name = "centos.5-0-vm1"
vif = [ '' ]
disk = ['file:/var/naregi/vm/vm1/centos.5-0.img,sda1,w',  'file:/var/naregi/vm/vm1/centos.swap,sda2,w']
root = "/dev/sda1 ro"
  • kernel
    • カーネルのパス
  • meory
    • メモリ割り当て
  • name
    • VMの名前、hostnameとは違う
  • vif
    • NICの設定。このままでよい
  • disk
    • disk = ['<image1>,<sda1>,<opt1>', '<image2>,<sda2>,<opt2>', .... ]
    • domuに<image1>を物理ハードディスクのパーティション<sda1>見せる
    • <opt?>=wとする
    • これを応用すれば好きにパーティションを増やせる
  • root
    • rootディレクトリのパーティション

VMの起動

  • xenのデーモンを動かす
    sudo xend start
  • VMの起動
    sudo xm create <上記の設定ファイル> -c

VMの操作

操作内容
xm list動作しているOSを確認(domain-idの確認によく使う)
xm console <domain-id><domain-id>のコンソールへ切替
xm reboot <domain-id><domain-id>の再起動
xm shutdown <domain-id><domain-id>のシャットダウン
Ctrl + []]Domain0へコンソールを戻す

ループバックの方法

sudo mount -o loop <VMイメージ> <mountポイント>

ディスクイメージの増設

  • 領域確保
    • <容量>=1GB, 64MBとか
      dd if=/dev/zero of=<path to disk image> bs=1 count=1 seek=<容量>
  • ファイルシステム構築
    • <ファイルシステム>=ext3, ext2とか
    • Redhat9はext3でマウントできなかったらext2にしたほうがいいかも
      mkfs -t <ファイルシステム> <path to disk image>
  • VMの設定ファイルに以下を追加
     
    disk = [... , '<path to disk image>,sda?,w', .... ]

VMを配布するスクリプトの使い方

実行方法

  • 基本的にnimbus上でroot権限になり以下を実行すればよい
    • pad133~pad200のローカルにVMを配布(死んでるノードは除く)
      /home/kent/NAREGI/VM_setup.sh

ファイルの説明

  • /home/kent/NAREGI/VM_setup_local.sh
    • 実行したノードのローカルにVMを配布
    • (/var/naregi/vm/)
  • /home/kent/NAREGI/vm_image/centos.5-0.img
    • 配布するVMの元のイメージ
  • /home/kent/NAREGI/nodes/base
    • ノードとVMとそのIPアドレスの対応表
    • 例)pad133上ではhostnameがvm000でIPが163.220.98.100のVMとhostnameがvm001でIPが163.220.98.101のVMを配布する
      :
      pad133 vm000 163.220.98.100 vm001 163.220.98.101
      :
    • 値は必ずスペースで区切る。TABはダメ