virshの使い方

Linux, KVM

CentOS 5.4でKVMを利用する。

コマンド

virsh <サブコマンド> [引数] サブコマンドはvirsh helpで確認できます。

ドメインの一覧

listは定義されているドメインの一覧を表示します。

virsh list [--inactive] [--all]

オプションは下記の通りです。

--inactive	停止状態のドメインの一覧を表示
--all	停止状態および動作中のドメインの一覧を表示

オプションを指定しないで実行すると、動作中のドメインを表示します。

ドメインの登録

defineはXML ファイルからドメインを登録します。

virsh define <ファイル名>
<ファイル名>に XML ドメイン記述ファイルのパスを指定します。

ドメイン記述ファイルは/etc/libvirt/qemu/の下に配置します。

ドメインの削除

undefineは停止状態のドメインを削除します。

virsh undefine <ドメイン名>

ドメインを削除するにはドメインが停止状態である必要があります。

また、undefineによりドメインを削除すると定義ファイルも削除されるので注意が必要です。

ドメインの起動

startは以前に定義した停止状態のドメインの起動します。

virsh start <ドメイン名> [--console]

ドメイン名>は停止状態のドメイン名です。

--consoleを指定する事で、起動と同時にconsoleに接続します。

ゲストのコンソールに接続

startはゲストのシリアルコンソールに接続します。

virsh console <ドメイン名>
コンソールから抜ける場合は、キーボードで^]を押します。

ドメインの終了

shutdownはドメインを穏やかに停止します。
virsh shutdown <ドメイン名>

shutdownで終了できない場合は、destroyを使用します。

ドメインの強制停止

destroyはドメインを強制停止します。

virsh destroy <ドメイン名>

停止に際しゲストに何も通知しません。

いわゆる、電源ブチ切りと同じ効果です。

ドメインの保存

saveはドメインの状態をファイルに保存し、ドメインを停止します

virsh save <ドメイン名> <ファイル名>

ドメインの復元

restoreはsaveでファイルに保存した状態のドメインを復元します。
virsh restore <ファイル名>

その他のサブコマンド一覧。

サブコマンドはvirsh helpで確認できます。

help	                  	ヘルプの表示
attach-device	   	   	XML ファイルからデバイスを追加
attach-disk	  	   	ディスク装置の接続
attach-interface	      	ネットワークインターフェースを接続します
autostart	  	    	ドメインの自動起動
capabilities	  	    	能力情報
connect	      	    	ハイパーバイザーに(再)接続
console	      	    	ゲストのコンソールに接続
create	      	    	XML ファイルからドメインの作成
start	      	    	(以前に定義した)停止状態のドメインの起動
destroy	            	      	ドメインの強制停止
detach-device	    	      	 XML ファイルからデバイスを削除
detach-disk	    	      	ディスク装置の削除
detach-interface	      	ネットワークインターフェースの削除
define	            	      	 XML ファイルからドメインを登録(ただし起動しない)
domid	            	      	ドメイン名または UUID をドメイン id に変換
domuuid	            	      	ドメイン名または id をドメイン UUID に変換
dominfo	            	      	ドメインの情報
domname	            	      	ドメイン id または UUID をドメイン名に変換
domstate	    	      	ドメインの状態
domblkstat	    	      	ドメインのデバイスブロックの状態を取得します。
domifstat	    	      	ドメインのネットワークインターフェースの状態を取得します。
dumpxml	            	      	XML 形式のドメイン情報
edit	            	      	edit XML configuration for a domain
find-storage-pool-sources	discover potential storage pool sources
find-storage-pool-sources-as	find potential storage pool sources
freecell	          	NUMA 空きメモリー:
hostname	          	ハイパーバイザーのホスト名を表示します
list	                  	ドメインの一覧を表示
migrate	                  	他のホストにドメインを移動させる
net-autostart	          	ネットワークの自動起動
net-create	          	XML ファイルからネットワークの作成
net-define	          	XML ファイルからネットワークを登録(起動はしない)
net-destroy	          	ネットワークの停止
net-dumpxml	          	ネットワークの情報を XML 形式で表示
net-edit	          	edit XML configuration for a network
net-edit	    	      edit XML configuration for a network
net-list	    	      ネットワークの一覧を表示
net-name	    	      ネットワーク UUID をネットワーク名に変換
net-start	    	      (事前に登録した)停止状態のネットワークの起動
net-undefine	    	      停止状態のネットワークの登録削除
net-uuid	    	      ネットワーク名をネットワーク UUID に変換
nodeinfo	    	      ノード情報
nodedev-list	    	      enumerate devices on this host
nodedev-dumpxml	    	      node device details in XML
nodedev-dettach	    	      dettach node device its device driver
nodedev-reattach    	      reattach node device its device driver
nodedev-reset	    	      reset node device
nodedev-create	    	      create a device defined by an XML file on the node
nodedev-destroy	    	      destroy a device on the node
pool-autostart	    	      プールの自動起動
pool-build	    	      プールを構築
pool-create	    	      XML ファイルからプールの作成
pool-create-as	    	      引数のセットからプールの作成
pool-define	    	      XML ファイルからプールを定義 (ただし起動しない)
pool-define-as	    	      引数のセットからプールを定義
pool-destroy	    	      プールを破壊
pool-delete	    	      プールの削除
pool-dumpxml	    	      XML 形式のプール情報
pool-edit	    	      edit XML configuration for a storage pool
pool-info	    	      ストレージプール情報
pool-list	    	      プールの一覧を表示
pool-name	    	      プール UUID をプール名に変換
pool-refresh	    	      プールをリフレッシュ
pool-start	    	      (以前に定義した)停止状態のプールの起動
pool-undefine	    	      停止状態プールの定義解除
pool-uuid	    	      プール名をプール UUID に変換
quit	            	      対話式ターミナルの終了
reboot	            	      ドメインの再起動
restore	            	      ファイルに保存している状態からドメインを復元
resume	            	      ドメインの再開
save	            	      ドメインの状態をファイルに保存
schedinfo	    	      スケジューラーパラメーターを見る/設定する
dump	            	      解析のためにドメインのコアをファイルにダンプします
shutdown	    	      ドメインを穏やかに停止
setmem	            	      メモリーサイズの変更
setmaxmem	    	      最大メモリー上限の変更
setvcpus	    	      仮想 CPU 数の変更
suspend	            	      ドメインの一時停止
ttyconsole	    	      tty コンソール
undefine	    	      停止状態のドメインの削除
uri	            	      ハイパーバイザーの標準的な URI を表示します
vol-create	    	      XML ファイルからボリュームの作成
vol-create-as	    	      引数のセットからボリュームの作成
vol-delete	    	      ボリュームを削除
vol-dumpxml	    	      XML 形式のボリューム情報
vol-info	    	      ストレージボリューム情報
vol-list	    	      ボリュームの一覧を表示
vol-path	    	      ボリューム UUID をボリュームパスに変換
vol-name	    	      ボリューム UUID をボリューム名に変換
vol-key	            	      ボリューム UUID をボリュームキーに変換
vcpuinfo	    	      ドメインの vcpu 情報
vcpupin	            	      仮想 CPU アフィニティーの設定
version	            	      バージョンの表示
vncdisplay	    	      vnc 表示