インサイトテクノロジー DBアプライアンス開発本部の東です。
弊社のHCI(ハイパーコンバージドインフラ)サーバであるInsight Qube(IQ)をベースに、データベースサーバや仮想と物理のハイブリッド構成システムの導入や検証を担当しております。
前回の記事では「Oracle Linux KVMのセットアップ中に発生した、想定外ポイントや上手く行かずにハマったことを紹介する」ということでOLVMをデプロイし管理画面が表示されるところまでを書かせていただきました。
過去の関連記事は エンジニアブログ > Insight Qube こちらにまとまってます。
本日の内容
第3回は以下について紹介します。
- ざっくり仮想マシンは、どんな感じで作れるのか
- 仮想マシンに対するハードパーティショニングの設定方法
本題に入る前に前回SELinuxが有効でないとOLVM(SHE構成の場合)のデプロイがうまくいかないことを紹介させていただきました。
SELinux設定に関連する事象としては、他にも複数のKVMでクラスタ構成を組んでいる場合KVM間でSELinuxの設定が異なると仮想マシンの移行(ライブマイグレーション)が失敗する事も既知の事象として報告されていました。SELinux設定はOLVMを使う上でポイントのようです。
仮想マシンを作ってみる
まず、どんな感じで仮想マシンが作れるのかを見ていきたいと思います。
- 以下がログインした直後の画面です。ログインした直後の感想としては、メニューが日本語化されていることに感動しました。
- 仮想マシンの作成についても、以下の様に日本語化されており、VMwareと同様に必要な情報を入力していくだけで簡単に作成できました。
作成する仮想マシン名やディスクを追加する画面
CPUやメモリーサイズを指定する画面
- Windowsの仮想マシンも、ゲストエージェントやドライバーがOracleから提供されており、それらを使用することで、問題なくNICや仮想ディスクを認識させることが出来ます。
仮想マシンに対するハードパーティショニングの設定方法
仮想マシンに対するハードパーティショニングの設定をするには、GUIから行う方法とCLIで行う方法があります。詳しい手順 (CLI)は、以下のURLで案内されています。
https://www.oracle.com/a/ocom/docs/linux/ol-kvm-hard-partitioning.pdf
今回は、上記の手順に則ってCLIで実施してみたいと思います。
- 「olvm-vmcontrol」をインストールする必要がありますのでyum コマンドで「olvm-vmcontrol」をインストールします。前回案内したOLVMの構築手順ではOLVMやKVMホスト上には、インストールされませんので、別途インストールが必要となります。
# yum install olvm-vmcontrol
- ハードパーティショニングの設定を行う仮想マシンの設定を確認してみたいと思います。「test01-win2012」というのは、仮想マシン名となります。コマンドの実行結果を見ますと「No CPU pinning is configured」となっておりCPUのpinning(固定化)されていないことが分かります。
# olvm-vmcontrol -m <OLVMホスト名> -u <OLVMログインユーザ名> -v test01-win2012 -c getvcpu -e
Oracle Linux Virtualization Manager VM Control Utility 4.3.1-1
Connected to Oracle Linux Virtualization Manager 4.3.10.4-1.0.22.el7
Getting vcpu pinning ...
No CPU pinning is configured
- ハードパーティショニングの設定を行います。コマンド結果をみますと、設定を反映させるには、仮想マシンを1度停止する必要があるようです。
※コマンド結果でも出力されていますが、再起動では駄目でシャットダウンして起動
しなさいということです。再起動でも試してみましたが、確かに設定は反映されませんでした。
# olvm-vmcontrol -m <OLVMホスト名> -u <OLVMログインユーザ名> -v test01-win2012 -c setvcpu -s 0-1 -e
:
:
Trying to pin virtual cpu # 0
Trying to pin virtual cpu # 1
Retrieving vcpu pinning to confirm it has been set...
vcpu 0 pinned to cpuSet[0-1]
vcpu 1 pinned to cpuSet[0-1]
NOTE: if the VM is running you must now stop and then start the VM from the Oracle Linux Virtualization Manager in order for CPU pinning changes to take effect.
NOTE: a restart or a reboot of the VM is not sufficient to put CPU pinning changes into effect.
- 仮想マシンを1度シャットダウンして起動したら、再度設定を確認すると使用するCPUが固定化されたことが分かります。
# olvm-vmcontrol -m <OLVMホスト名> -u <OLVMログインユーザ名> -v test01-win2012 -c getvcpu -e
Oracle Linux Virtualization Manager VM Control Utility 4.3.1-1
Connected to Oracle Linux Virtualization Manager 4.3.10.4-1.0.22.el7
Getting vcpu pinning ...
vcpu 0 pinned to cpuSet[0-1]
vcpu 1 pinned to cpuSet[0-1]
- ちなみに、以下のコマンドでも、使用するCPUが制限されていることが分かります。この仮想マシンが稼働しているホストが「16CPU」あるのですが、「CPU アフィニティー」の箇所を見ますと「0-1 (out of 16)」となっており、使用できるCPUに制限がかかっていることが分かります。
# virsh --readonly vcpuinfo test01-win2012 --pretty
VCPU: 0
CPU: 1
状態: 実行中
CPU 時間: 5.2s
CPU アフィニティー: 0-1 (out of 16)
VCPU: 1
CPU: 1
状態: 実行中
CPU 時間: 3.7s
CPU アフィニティー: 0-1 (out of 16)
- 更に、GUIから確認すると、こんな感じになっています。GUIでの設定は記述ルールが、ちょっと分かり難いですね。
まとめ
- OLVMでもGUIで仮想マシンが簡単に作成出来る
- ハードパーティショニング設定はGUIでもCLIでも設定出来る
ハードパーティショニング時にどのコアを組み合わせて指定するかでパフォーマンスに影響します。ここが設計の肝でノウハウが必要になりますので是非弊社にお任せください。
次回はVMwareで動いている仮想マシンをOLVMにV2Vする検証などについて、紹介出来たらなと思います。
次回もどうぞお楽しみに!