トップ 新規 一覧 検索 管理 ログイン

ブログ/2010-07-19

[NetworkLabo]KVMでゲストOSを操る


LVMの操作

 今回は、ディスクをLVM(Logical Volume Manager)に一任してるので、その操作が必要になりました。GUIからも操作ができるけど、とりあえずCUIでの操作もしたいのでコマンドを確認します。

物理ディスク情報を表示する
pvdisplay

論理ディスクの情報を見る
vgdisplay

VMから利用可能なボリュームを確認するのはこれが一番楽かも・・・
# ls -l /dev/mapper/

ゲストOSの作成

 virt-managerを使うとGUIから簡単にゲストOSを作れるけど、ネットのブリッジ設定とか微妙にわからなかったり、CUIのvirt-installが思ったより簡単に使えたので、virt-installからのゲストOS作成方法。

 注意するポイントは、今回CD-ROMインストールをしたんですが、CD-ROMを入れた瞬間にホストOSが自動認識してしっかり掴みに来ます。CD-ROMドライブは排他利用ができないようなので、そういう環境の場合はumountするなりしましょう。

 ってことで作成方法ですが、私は以下のようなシェルを書いて作成しました。「-c /dev/cdrom」て書くことでCD-ROMを認識してくれます。
ディスク関連のオプションをコメントアウトしているのは、複数のディスクを認識させたいときにコメントアウトを外して、適時内容を書き換えています。
 ちなみにこれだとvirt-viewerが起動してその中でインストールが始まります。コンソールオンリーでやりたい場合は、最後の2行のコメントアウトを外します。

#!/bin/bash

name=testvm1
memsize=512

disk0=/dev/mapper/VolGroup00-xxxx
# disk1=/dev/mapper/VolGroup01-xxxx
# disk2=/dev/mapper/VolGroup02-xxxx

# OS=CentOS 5.5
os_type=linux
os_variant=rhel5.4

exec virt-install \
 -n $name \
 -r $memsize \
 -c /dev/cdrom \
 --vcpus=2 \
 --os-type $os_type \
 --os-variant $os_variant \
 --accelerate \
 --network bridge=br0 \
 --disk path=${disk0},bus=virtio \
# --disk path=${disk1},bus=virtio \
# --disk path=${disk2},bus=virtio \
# --nographics \
# --extra-args='console=tty0 console=ttyS0,115200n8'

 ちなみに、CD-ROMが入ってないとゲストを作成しつつもインストールが失敗して中途半端な状態になります。
その場合は、virt-managerあたりから強制停止→VMを一度削除して初めからやり直した方が楽です。

 ちなみにインストール後に、ゲストOSでyumとかがうまく動かないことがありました。私の場合は単純に接続先ホストの名前解決ができないだけでしたが、どうもホストOSのファイヤーウォール設定(iptables)の影響をモロに受けるみたいです。


virshコマンド

 コンソールからいろいろ見えるので便利。

ゲストOSの起動と停止。当然、停止はホストOSからでは無く、ゲストOSからシャットダウンコマンドを発行した方がいい(というかホストOSからのシャットダウン設定があるっぽい?)。
# virsh start ゲストOS名
# virsh shutdown ゲストOS名

ゲストOS一覧を見る。「--all」を省略すると、稼働中のゲストOSのみが見える。
# virsh list --all
 Id 名前               状態
----------------------------------
  - xxx1                 シャットオフ
  - xxx2                 シャットオフ

ゲストOSを自動起動設定にする。
# virsh autostart ゲストOS名

コメント


名前:コメント:
最終更新時間:2010/07/19(Sun) 13:04:29