KVMでよく使うコマンドのメモ。
KVMはKernel-based Virtual Machineの略で、Linuxでよく使われる仮想化基盤です。
Linuxカーネルに組み込まれています。VPSもKVMで動いているのが多いです。
私はプライベートではこちらに非常にお世話になっており、
大体のマシンはKVMで動かしています。(このブログもKVMで動かしています)
仮想マシンの操作
- 仮想マシン状態一覧表示
virsh list --all
- 仮想マシンの状態詳細表示
virsh dominfo [ドメイン名 or ID]
- 仮想マシン起動
virsh start [ドメイン名 or ID]
- 仮想マシン停止
virsh shutdown [ドメイン名 or ID]
- 仮想マシン再起動
virsh reboot [ドメイン名 or ID]
- 仮想マシン一時停止
virsh suspend [ドメイン名 or ID]
- 仮想マシン再開
virsh resume [ドメイン名 or ID]
- 仮想マシン強制停止
virsh destroy [ドメイン名 or ID]
- シリアルコンソールに接続する
virsh console [ドメインやID]
→仮想マシン自体にコンソール接続できるようにする設定が必要なので注意。
仮想マシンの設定等
- イメージファイル(仮想HDD)を作成する(qcow2で作成)
qemu-img create -f qcow2 [ファイル名] [容量]
例)
qemu-img create -f qcow2 hoge.qcow2 20G
→20GBの容量を持つ仮想HDDを作成。
仮想マシンの設定ファイルを変更すれば、あとからHDDを追加みたいなこともできる。
qcow2は中身の容量に応じてファイルサイズが増える。したがって、はじめから20GBのファイルは生成されない。
- 仮想マシンの設定変更
virsh edit [ドメイン名 or ID]
→設定はxmlで記載
- 仮想マシンの削除
virsh undefine [ドメイン名 or ID]
→設定ファイルが削除されるだけで、イメージファイル(仮想HDD)は消えない
- 仮想マシンのクローン
virt-clone --original [クローン元ドメイン名] --name [クローン先ドメイン名] --file [新しい仮想マシンのイメージファイル名]
例)
virt-clone --original template --name hogehoge --file /kvm_storage/hogehoge.qcow2
→仮想マシンtemplateのクローンで仮想マシンhogehogeが作成される。
仮想マシンの設定ファイルのxmlファイルも自動で作成される。
基本設定は一緒だが、ユニークな値などは新たにランダムで設定してくれる。
- 仮想マシンの登録
virsh define [仮想マシン設定ファイル(xml)]
→仮想マシンの設定が記載されたxmlファイルを指定する。
- 仮想マシンの設定ファイルの出力
virsh dumpxml [ドメイン名 or ID] > [出力ファイル名]
例)
virsh dumpxml hogehoge > hogehoge.xml
→設定ファイルのバックアップに使える。
設定ファイル自体はデフォルトで/etc/libvirt/qemuにあるため、
そこに置かれているxmlファイルをコピーしても良い。
ストレージプールの操作
- ストレージプールの一覧表示
virsh pool-list
- プールの中身のイメージ一覧表示
virsh vol-list [プール名]
- プールの中身のイメージファイル削除
virsh vol-delete [イメージファイルのパス]
他にもいろいろ便利なものがあるため、そのうち記載予定。