KVM (カーネルベースの仮想マシン) を使用して Linux で仮想マシンを作成する方法 - パート 1
このチュートリアルでは、KVM の導入、展開、およびそれを使用して RHEL/CentOS7 や Fedora 21 などの RedHat ベースのディストリビューションで仮想マシンを作成する方法について説明します。 。
KVMとは何ですか?
KVM または (カーネルベースの仮想マシン) は、Intel 64 および AMD 64 ハードウェア上の Linux 用の完全仮想化ソリューションで、2.6.20 以降メインライン Linux カーネルに組み込まれており、ほとんどのワークロードに対して安定して高速です。
KVM の機能
KVM を使用して仮想プラットフォームを展開すると、多くの便利な機能と利点が得られます。 KVM ハイパーバイザーは次の機能をサポートします。
- オーバーコミット : システム上で利用可能なリソースより多くの仮想化 CPU またはメモリを割り当てることを意味します。
- シン プロビジョニング : 柔軟なストレージの割り当てを可能にし、すべてのゲスト仮想マシンの利用可能なスペースを最適化します。
- ディスク I/O スロットル : 仮想マシンからホスト マシンに送信されるディスク I/O リクエストに制限を設定する機能を提供します。
- 自動 NUMA バランシング : NUMA ハードウェア システム上で実行されるアプリケーションのパフォーマンスが向上します。
- 仮想 CPU ホット アド機能 : ダウンタイムを発生させることなく、実行中の仮想マシンで必要に応じて処理能力を向上させる機能を提供します。
これは、継続中の最初の KVM (カーネルベースの仮想マシン) シリーズです。ここでは、次の記事を部分的に取り上げていきます。
前提条件
システムにハードウェア仮想化拡張機能があることを確認します。Intel ベースのホストの場合は、次のコマンドを使用して CPU 仮想化拡張機能 [vmx] が利用可能であることを確認します。
[root@server ~]# grep -e 'vmx' /proc/cpuinfo
AMD ベースのホストの場合は、CPU 仮想化拡張機能 [svm] が利用可能であることを確認してください。
[root@server ~]# grep -e 'svm' /proc/cpuinfo
出力がない場合は、BIOS で仮想化拡張機能が有効になっていることを確認してください。 KVM モジュールがカーネルにロードされていることを確認します (デフォルトでロードされるはずです)。
[root@server ~]# lsmod | grep kvm
出力には、Intel ベースのホストの場合は kvm_intel が、amd ベースのホストの場合は kvm_amd が含まれている必要があります。
を開始する前に、システムに設定されている sudo 権限を持つ root アカウントまたは非 root ユーザーが必要です。また、システムが最新であることを確認してください。
[root@server ~]# yum update
Selinux が Permissive モードになっていることを確認してください。
[root@server ~]# setenforce 0
ステップ 1: KVM のインストールと展開
1. まず、qemu-kvm パッケージと qemu-img パッケージをインストールします。これらのパッケージは、ユーザーレベルの KVM およびディスク イメージ マネージャーを提供します。
[root@server ~]# yum install qemu-kvm qemu-img
2. これで、ホストに仮想プラットフォームを展開するための最低限の要件が満たされましたが、次のようなプラットフォームを管理するための便利なツールもまだあります。
- virt-manager は、仮想マシンを管理するための GUI ツールを提供します。
- libvirt-client は、仮想環境を管理するための CL ツール (virsh と呼ばれます) を提供します。
- virt-install は、CLI から仮想マシンを作成するためのコマンド「virt-install」を提供します。
- libvirt は、ハイパーバイザーおよびホスト システムと対話するためのサーバー側およびホスト側のライブラリを提供します。
次のコマンドを使用して、上記のツールをインストールしましょう。
[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client
3. RHEL/CentOS7 ユーザーの場合は、仮想化クライアント、仮想化プラットフォーム、仮想化ツールなどの追加のパッケージ グループをインストールする必要があります。
[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools
4. すべてのプラットフォームを管理する仮想化デーモンは「libvirtd 」です。再起動しましょう。
[root@server ~]#systemctl restart libvirtd
5. デーモンを再起動した後、次のコマンドを実行してステータスを確認します。
[root@server ~]#systemctl status libvirtd
サンプル出力
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago
Main PID: 25701 (libvirtd)
次のセクションに切り替えて、仮想マシンを作成しましょう。
ステップ 2: KVM を使用して VM を作成する
冒頭で述べたように、仮想プラットフォームを管理し、仮想マシンを作成するための便利なツールがいくつかあります。このツールの 1 つは [virt-manager] と呼ばれ、次のセクションで使用します。
6. virt-manager は GUI ベースのツールですが、GUI だけでなくターミナルからも起動/開始できます。
[root@server ~]#virt-manager
GNOMEの使用
GNOME クラシックの使用
7. ツールを起動すると、このウィンドウが表示されます。
8. デフォルトでは、manager は localhost に直接接続されていますが、幸いにも同じツールを使用して別のホストをリモートで管理できます。 「ファイル 」タブから「接続の追加 」を選択するだけで、このウィンドウが表示されます。
[リモート ホストに接続 ] オプションをオンにして、リモート サーバーのホスト名/IP を入力します。マネージャーを起動するたびにリモート ホストへの接続を確立する必要がある場合は、「自動接続 」オプションをオンにしてください。
9. ローカルホストに戻りましょう。新しい仮想マシンを作成する前に、ファイルをどこに保存するかを決定する必要があります。つまり、 仮想マシンのボリューム ディスク (仮想ディスク/ディスク イメージ ) を作成する必要があります。
localhost を右クリックして「詳細」を選択し、「ストレージ」タブを選択します。
10. 次に、[新しいボリューム ] ボタンを押して、新しい仮想ディスクの名前 (ボリューム ディスク) を入力し、サイズを入力します。 「最大容量 」セクションで必要な情報を入力します。
割り当てサイズは、手順の完了後に物理ディスクからすぐに割り当てられるディスクの実際のサイズです。
注: これは、「シン プロビジョニング」と呼ばれるストレージ管理分野の重要なテクノロジです。以前は、使用可能なサイズすべてではなく、使用済みのストレージ サイズのみが割り当てられていました。
たとえば、サイズ 60G の仮想ディスクを作成しましたが、実際に使用したのは 20G だけです。このテクノロジを使用すると、物理ハードディスクから割り当てられるサイズは 20G になります。 60G ではありません。
言い換えれば、割り当てられる物理サイズは、実際に使用されるサイズに応じて動的に割り当てられます。詳細については、「VMWare vStorage Thin Provisioning」を参照してください。
11. 新しいボリューム ディスクのラベルがリストに表示されていることがわかります。
新しいディスク イメージ (ボリューム ディスク) のパスにも注目してください。デフォルトでは、/var/lib/libvirt/images の下にあります。次のコマンドを使用して確認できます。
[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan 3 16:47 vm1Storage.img
12. これで、仮想マシンを作成する準備が整いました。メイン ウィンドウで [VM] ボタンをクリックすると、このウィザード ウィンドウが表示されます。
仮想マシンの作成に使用するインストール方法を選択します。ここではローカル インストール メディアを使用します。残りの方法については後で説明します。
13. 次に、使用するローカル インストール メディアを指定します。オプションは 2 つあります。
- 物理的な [CDROM/DVD] から。
- ISOイメージから。
このチュートリアルでは、ISO イメージ方式を使用するため、ISO イメージのパスを指定する必要があります。
重要: 残念ながら、RHEL/CentOS7 を使用している人には非常に愚かなバグがあります。このバグにより、物理的な [CDROM/DVD] を使用したインストールができなくなり、このようにオプションがグレー表示になっていることがわかります。
カーソルをその上に置くと、このエラー メッセージが表示されます。
現在まで、このバグに対する公式/直接的な解決策はありません。詳細については、https://bugzilla.redhat.com で見つけることができます。
14. ストレージが戻ってきました。初期に作成した仮想ディスクを使用して、その上に仮想マシンをインストールします。表示の通りとなります。
15. 最後のステップでは、仮想マシンの名前と別の詳細オプションについて尋ねられます。これについては後ほど説明します。
構成を変更したり、カスタマイズを行う場合は、「インストール前に構成をカスタマイズする」オプションにチェックを入れてください。次に、[完了] をクリックして数秒待ちます。ゲスト OS を管理するためのコントロール コンソールが表示されます。
結論
これで、KVM とは何か、GUI ツールを使用して仮想プラットフォームを管理する方法、KVM を使用して仮想マシンをデプロイする方法、その他の素晴らしいことを学びました。
これで記事は終わりではありませんが、今後の記事では、KVM に関連する別の重要なトピックについて説明します。これまでの知識を使ってしっかりと準備を整えて、次のパートに備えましょう。