③まででKVMの環境設定を済ませましたので、ここからはKVMの動作確認を行っていきます。まずは、動作確認時にインストールするOSのISOイメージを、sambaなりscpなりでアップロードしておいてください。
少し前まではUbuntu13.04で記載していましたが、Ubuntu13.10対応版に加筆しました。
OSのインストール先に使うイメージファイルを作ります。
cd /var/lib/libvirt/images sudo qemu-img create -f qcow2 /var/lib/libvirt/images/ubuntu1310.img 20G # imgファイルが出来ていることを確認 sudo ls -lah /var/lib/libvirt/images/
ISOファイルは、imgファイルの近場に置いておけばよさそうなので、下記のような感じで。
sudo mkdir /var/lib/libvirt/images/iso # sambaなりでアップしておいたISOファイルを移動。 sudo mv ~/ubuntu-13.10-server-amd64.iso /var/lib/libvirt/images/iso/
インストール可能なOSを事前確認します。
sudo virt-install --os-variant list win7 : Microsoft Windows 7 vista : Microsoft Windows Vista winxp64 : Microsoft Windows XP (x86_64) winxp : Microsoft Windows XP win2k : Microsoft Windows 2000 win2k8 : Microsoft Windows Server 2008 win2k3 : Microsoft Windows Server 2003 openbsd4 : OpenBSD 4.x freebsd8 : FreeBSD 8.x freebsd7 : FreeBSD 7.x freebsd6 : FreeBSD 6.x solaris9 : Sun Solaris 9 solaris10 : Sun Solaris 10 opensolaris : Sun OpenSolaris netware6 : Novell Netware 6 netware5 : Novell Netware 5 netware4 : Novell Netware 4 msdos : MS-DOS generic : Generic debianwheezy : Debian Wheezy debiansqueeze : Debian Squeeze debianlenny : Debian Lenny debianetch : Debian Etch fedora18 : Fedora 18 fedora17 : Fedora 17 fedora16 : Fedora 16 fedora15 : Fedora 15 fedora14 : Fedora 14 fedora13 : Fedora 13 fedora12 : Fedora 12 fedora11 : Fedora 11 fedora10 : Fedora 10 fedora9 : Fedora 9 fedora8 : Fedora 8 fedora7 : Fedora 7 fedora6 : Fedora Core 6 fedora5 : Fedora Core 5 mageia1 : Mageia 1 and later mes5.1 : Mandriva Enterprise Server 5.1 and later mes5 : Mandriva Enterprise Server 5.0 mandriva2010 : Mandriva Linux 2010 and later mandriva2009 : Mandriva Linux 2009 and earlier rhel7 : Red Hat Enterprise Linux 7 rhel6 : Red Hat Enterprise Linux 6 rhel5.4 : Red Hat Enterprise Linux 5.4 or later rhel5 : Red Hat Enterprise Linux 5 rhel4 : Red Hat Enterprise Linux 4 rhel3 : Red Hat Enterprise Linux 3 rhel2.1 : Red Hat Enterprise Linux 2.1 sles11 : Suse Linux Enterprise Server 11 sles10 : Suse Linux Enterprise Server opensuse12 : openSuse 12 opensuse11 : openSuse 11 ubuntutrusty : Ubuntu 14.04 LTS (Trusty Tahr) ubuntusaucy : Ubuntu 13.10 (Saucy Salamander) ubunturaring : Ubuntu 13.04 (Raring Ringtail) ubuntuquantal : Ubuntu 12.10 (Quantal Quetzal) ubuntuprecise : Ubuntu 12.04 LTS (Precise Pangolin) ubuntuoneiric : Ubuntu 11.10 (Oneiric Ocelot) ubuntunatty : Ubuntu 11.04 (Natty Narwhal) ubuntumaverick : Ubuntu 10.10 (Maverick Meerkat) ubuntulucid : Ubuntu 10.04 LTS (Lucid Lynx) ubuntukarmic : Ubuntu 9.10 (Karmic Koala) ubuntujaunty : Ubuntu 9.04 (Jaunty Jackalope) ubuntuintrepid : Ubuntu 8.10 (Intrepid Ibex) ubuntuhardy : Ubuntu 8.04 LTS (Hardy Heron) virtio26 : Generic 2.6.25 or later kernel with virtio generic26 : Generic 2.6.x kernel generic24 : Generic 2.4.x kernel
Ubuntu13.10の仮想マシンを作ります。–os-variantで指定できるものが無かったので、–os-type=linuxとしています。
sudo virt-install --connect qemu:///system \ --name=Ubuntu1310 \ --connect=qemu:///system \ --ram=2048 \ --vcpu=2 \ --hvm \ --accelerate \ --os-variant=ubuntusaucy \ --disk path=/var/lib/libvirt/images/ubuntu1310.img,size=20,format=qcow2,bus=virtio \ --cdrom=/var/lib/libvirt/images/iso/ubuntu-13.10-server-amd64.iso \ --network bridge=br0 \ --graphics vnc,port=5900,password=yourpassword,listen=0.0.0.0,keymap=us
インストールの開始中... ドメインを作成中... | 0 B 00:01 Cannot open display: 利用可能なコマンドラインオプションの完全な一覧を確認するには 'virt-viewer --help' を実行してください ゲスト OS のインストールが進行中です。 インストール処理を完了させるために、コンソールに再接続できます。
ultraVNC(ダウンロード先)で5900番ポートにアクセスします。
アクセスする際に、仮想マシン作成時にpassword=yourpasswordとして指定したパスワードを聞かれるので、パスワードを入れてLog Onボタンを押すと、下記のように見慣れたUbuntuのインストール画面が表示されます。
仮想マシン上でISOを使ってのインストールなので、10分もあればインストールが終わると思います。
下記にKVMの操作に必要なコマンド等を列記しておきます。
仮想マシン一覧表示
sudo virsh list --all Id 名前 状態 ---------------------------------------------------- 1 Ubuntu1310 実行中
sudo virsh destroy Ubuntu1310
sudo virsh undefine Ubuntu1310
[/bash]
virsh --help virsh [オプション]... [<コマンド文字列>] virsh [オプション]... <コマンド> [引数...] オプション: -c | --connect=URI ハイパーバイザー接続 URI -r | --readonly 読み込み専用接続 -d | --debug=NUM デバッグレベル [0-4] -h | --help このヘルプ -q | --quiet サイレントモード -t | --timing タイミング情報の表示 -l | --log=FILE ファイルへのログ出力 -v 短縮バージョン -V 長いバージョン --version[=TYPE] バージョン、TYPE は short または long (デフォルトは short) -e | --escape <char> コンソールのエスケープシーケンスの設定 コマンド (非対話式モード): Domain Management (ヘルプのキーワード 'domain') attach-device XML ファイルによるデバイスの接続 attach-disk ディスクデバイスの接続 attach-interface ネットワークインターフェースの接続 autostart ドメインの自動起動 blkdeviotune ブロックデバイスの I/O チューニングパラメーターの設定または取得 blkiotune ブロック I/O パラメーターの取得または設定 blockcommit ブロックのコミット操作の開始 blockcopy ブロックコピー操作の開始 blockjob アクティブなブロック操作の管理 blockpull 既存のイメージからのディスクの配置 blockresize ドメインのブロックデバイスの容量変更 change-media CD またはフロッピードライブのメディアの変更 console ゲストのコンソールへの接続 cpu-baseline ベースライン CPU の計算 cpu-compare XML ファイルに記載された CPU とホスト CPU の比較 cpu-stats ドメインの CPU 統計情報の表示 create XML ファイルによるドメインの作成 define XML ファイルによるドメインの定義(起動なし) desc ドメインの説明またはタイトルの表示または設定 destroy ドメインの強制停止 detach-device XML ファイルによるデバイスの切断 detach-disk ディスクデバイスの切断 detach-interface ネットワークインターフェースの切断 domdisplay ドメインのディスプレイ接続 URI domfstrim ドメインのマウントされたファイルシステムにおいて fstrim を呼び出します。 domhostname ドメインのホスト名の表示 domid ドメイン名または UUID からドメイン ID への変換 domif-setlink 仮想インターフェースのリンクステートの設定 domiftune 仮想インターフェースのパラメーターの取得・設定 domjobabort ドメインの実行中ジョブの中止 domjobinfo ドメインのジョブ情報 domname ドメイン ID または UUID からドメイン名への変換 dompmsuspend 電源管理機能を使用したドメインの穏やかな一時停止 dompmwakeup ドメインのサスペンド状態からの再開 domuuid ドメイン名または ID からドメイン UUID への変換 domxml-from-native ネイティブ設定からドメイン XML への変換 domxml-to-native ドメイン XML からネイティブ設定への変換 dump 解析用ファイルへのドメインのコアダンプ dumpxml XML 形式のドメイン情報 edit ドメインの XML 設定の編集 inject-nmi ゲストへの NMI の送信 send-key ゲストへのキーコードの送信 send-process-signal シグナルをプロセスに送信する lxc-enter-namespace LXC Guest Enter Namespace managedsave ドメインの状態の管理保存 managedsave-remove ドメインの管理保存の削除 maxvcpus コネクションの最大仮想 CPU 数 memtune メモリーのパラメーターの取得または設定 migrate 他ホストへのドメインのマイグレーション migrate-setmaxdowntime 最大許容停止時間の設定 migrate-setspeed マイグレーションの最大帯域の設定 migrate-getspeed マイグレーションの最大帯域の取得 numatune NUMA パラメーターの取得または設定 qemu-attach QEMU 接続 qemu-monitor-command QEMU モニターコマンド qemu-agent-command QEMU ゲストエージェントコマンド reboot ドメインの再起動 reset ドメインのリセット restore ファイルの保存状態からドメインの復元 resume ドメインの再開 save ドメインの状態のファイルへの保存 save-image-define ドメインの状態保存ファイルの XML の再定義 save-image-dumpxml XML 形式の状態保存されたドメイン情報 save-image-edit ドメインの状態保存ファイルの XML の編集 schedinfo スケジューラーのパラメーターの表示/設定 screenshot カレントドメインのコンソールについてのスクリーンショットの取得およびファイルへの保存 setmaxmem 最大メモリー上限の変更 setmem メモリー割り当て量の変更 setvcpus 仮想 CPU 数の変更 shutdown ドメインの穏やかな停止 start 停止状態の(定義済み)ドメインの起動 suspend ドメインの一時停止 ttyconsole TTY コンソール undefine ドメインの定義解除 update-device XML ファイルによるデバイスの更新 vcpucount ドメインの仮想 CPU 数 vcpuinfo ドメインの仮想 CPU 情報の表示 vcpupin ドメインの仮想 CPU アフィニティーの制御または表示 emulatorpin ドメインのエミュレーターアフィニティの制御または確認 vncdisplay VNC ディスプレイ Domain Monitoring (ヘルプのキーワード 'monitor') domblkerror ブロックデバイスにおけるエラーの表示 domblkinfo ドメインのブロックデバイス容量の情報 domblklist ドメインの全ブロックの一覧表示 domblkstat ドメインのデバイスブロックの状態の取得 domcontrol ドメイン制御インターフェース状態 domif-getlink 仮想インターフェースのリンクステートの取得 domiflist すべてのドメインの仮想インターフェースの取得 domifstat ドメインのネットワークインターフェースの状態取得 dominfo ドメインの情報 dommemstat ドメインのメモリー統計情報の取得 domstate ドメインの状態 list ドメインの一覧表示 Host and Hypervisor (ヘルプのキーワード 'host') capabilities ケイパビリティ connect ハイパーバイザーへの(再)接続 freecell NUMA 空きメモリー hostname ハイパーバイザーのホスト名の表示 node-memory-tune ノードメモリーパラメーターの取得または設定 nodecpumap ノード CPU マップ nodecpustats ノードの CPU 統計情報の表示 nodeinfo ノード情報 nodememstats ノードのメモリー統計の表示 nodesuspend 指定された間ホストデバイスの一時停止 sysinfo ハイパーバイザーのシステム情報の表示 uri ハイパーバイザーの正規化 URI の表示 version バージョンの表示 Interface (ヘルプのキーワード 'interface') iface-begin 現在のインターフェース設定のスナップショット作成、後からコミット (iface-commit) または復元 (iface-rollback) 可能 iface-bridge ブリッジデバイスの作成および既存ネットワークデバイスへの接続 iface-commit iface-begin 後の変更のコミットおよび復元ポイントの開放 iface-define XML ファイルによる物理ホストインターフェースの定義(起動なし) iface-destroy 物理ホストインターフェイスの停止("if-down" による無効化) iface-dumpxml XML 形式のインターフェース情報 iface-edit XML 設定を物理ホストインターフェイス用に編集 iface-list 物理ホストのインターフェイスの一覧表示 iface-mac インターフェース名からインターフェースの MAC アドレスへの変換 iface-name インターフェースの MAC アドレスからインターフェース名への変換 iface-rollback iface-begin により作成された以前の保存された設定へのロールバック iface-start 物理ホストインターフェイスの開始("ifup" による有効化) iface-unbridge スレーブデバイスの切断後、ブリッジデバイスの定義解除 iface-undefine 物理ホストインターフェイスの定義解除(設定から削除) Network Filter (ヘルプのキーワード 'filter') nwfilter-define XML ファイルによるネットワークフィルターの定義または更新 nwfilter-dumpxml XML 形式のネットワークフィルター情報 nwfilter-edit ネットワークフィルターの XML 設定の編集 nwfilter-list ネットワークフィルターの一覧表示 nwfilter-undefine ネットワークフィルターの定義解除 Networking (ヘルプのキーワード 'network') net-autostart ネットワークの自動起動 net-create XML ファイルによるネットワークの作成 net-define XML ファイルによるネットワークの登録(起動なし) net-destroy ネットワークの強制停止 net-dumpxml XML 形式のネットワーク情報 net-edit ネットワークの XML 設定の編集 net-info ネットワーク情報 net-list ネットワークの一覧表示 net-name ネットワーク UUID からネットワーク名への変換 net-start 停止状態の(定義済み)ネットワークの起動 net-undefine 停止状態のネットワークの登録削除 net-update 既存のネットワーク設定の一部分の更新 net-uuid ネットワーク名からネットワーク UUID への変換 Node Device (ヘルプのキーワード 'nodedev') nodedev-create ノードに XML ファイルで定義されたデバイスの作成 nodedev-destroy ノードのデバイスの削除(停止) nodedev-detach デバイスドライバーからノードデバイスの切断 nodedev-dumpxml XML 形式のノードデバイス詳細 nodedev-list ホストにあるデバイスの一覧表示 nodedev-reattach デバイスドライバーへのノードデバイスの再接続 nodedev-reset ノードデバイスのリセット Secret (ヘルプのキーワード 'secret') secret-define XML ファイルによるシークレットの定義または変更 secret-dumpxml XML 形式の secret 属性 secret-get-value シークレット値の出力 secret-list シークレットの一覧表示 secret-set-value シークレット値の設定 secret-undefine シークレットの定義解除 Snapshot (ヘルプのキーワード 'snapshot') snapshot-create XML によるスナップショットの作成 snapshot-create-as 一組の引数からのスナップショットの作成 snapshot-current カレントスナップショットの取得または設定 snapshot-delete ドメインのスナップショットの削除 snapshot-dumpxml ドメインのスナップショットの XML 形式ダンプ snapshot-edit スナップショットの XML の編集 snapshot-info スナップショット情報 snapshot-list ドメインのスナップショットの一覧表示 snapshot-parent スナップショットの親の名前の取得 snapshot-revert ドメインのスナップショットへの復帰 Storage Pool (ヘルプのキーワード 'pool') find-storage-pool-sources-as 潜在的なストレージプールソースの検索 find-storage-pool-sources 潜在的なストレージプールソースの探索 pool-autostart プールの自動起動 pool-build プールの構築 pool-create-as 一組の引数からプールの作成 pool-create XML ファイルによるプールの作成 pool-define-as 一組の引数からのプールの定義 pool-define XML ファイルによるプールの定義(起動なし) pool-delete プールの削除 pool-destroy プールの強制停止 pool-dumpxml XML 形式のプール情報 pool-edit ストレージプールの XML 設定の編集 pool-info ストレージプール情報 pool-list プールの一覧表示 pool-name プール UUID からプール名への変換 pool-refresh プールのリフレッシュ pool-start (以前に定義した)停止状態のプールの起動 pool-undefine 停止状態のプールの定義解除 pool-uuid プール名からプール UUID への変換 Storage Volume (ヘルプのキーワード 'volume') vol-clone ボリュームのクローン vol-create-as 一組の引数からボリュームの作成 vol-create XML ファイルによるボリュームの作成 vol-create-from 別のボリュームを入力として使用したボリュームの作成 vol-delete ボリュームの削除 vol-download ボリュームのファイルへのダウンロード vol-dumpxml XML 形式のボリューム情報 vol-info ストレージボリューム情報 vol-key 任意のボリューム名またはパスのボリュームキーの表示 vol-list ボリューム一覧の表示 vol-name 任意のボリュームキーまたはパスのボリューム名の表示 vol-path 任意のボリューム名またはキーのボリュームパスの表示 vol-pool 任意のボリュームキーまたはパスのストレージプールの表示 vol-resize ボリュームの容量変更 vol-upload ボリュームへのファイルのアップロード vol-wipe ボリュームの完全消去 Virsh itself (ヘルプのキーワード 'virsh') cd カレントディレクトリーの変更 echo 引数のエコー exit 対話式ターミナルの終了 help ヘルプの表示 pwd カレントディレクトリーの表示 quit 対話式ターミナルの終了 (グループにあるコマンドの詳細は help group を指定します) (コマンドの詳細は help command を指定します)