オンプレ環境で複数のLinux-VMを簡単に作成する方法を紹介します。
仕事上、ミドルウェアソフトの検証のために各種Linuxの種類とバージョンやリビジョン違いのLinux環境が必要だったので調査した結果をまとめました。
何かの参考になれば幸いです。
こういったVM環境を作成したい。(実際は10個以上組み合せ)
Linux-OSをKVMを使って複数作成する方法
Linuxの仮想化技術KVMでLinuxゲストOS(仮想マシン)のインストールする方法がお勧めです。
以下のOSやリビジョンを使った実績があります。
<RHEL系>
RHEL 7.9 , RHEL 8.8/8.9 , RHEL 9.3
CentOS 7.9、AlmaLinux 9.3/8.9、Rokcy Linux 9.3/8.9
<Ubuntu>
Ubuntu 20.04/Ubuntu 22.04/Ubuntu 24.04
最初の学習コストは必要ですが、身に着けると非常に便利です。
KVM Linuxの使用例
上記の記事から説明を一部抜粋しています。(上記の記事を読んだ方はスキップして下さい)
以下のような環境の構築にKVMが最適です。
簡単に検証環境を作成する用途に便利ですね。
・いろいろな種類のLinux OSを検証したい
・バージョンの差を調査したい
・OSインストール直後の状態が複数個欲しい
・Linux OSを自動でインストールしたい
Ubuntu、RHEL(Red Hat Enterprise Linux)、CentOS、AlamaLinux 、Rocky Linuxなどいろいろなディストリビューションの違いを調べるときなどに最適です。
WindowsのHyper-VやVirtualBoxなども便利ですが、KVMならリモート&CUIでインストールが非常に楽です。
KVMでLinuxの自動インストールが可能なので超便利です。
KVM Linuxの利用イメージ
ホストOSのHWリソース(CPU、メモリ、ディスク)をゲストOSへ割り当てるようなイメージになります。
ゲストOSを複数同時に起動する場合は、ホストOS側のリソース(CPU、メモリ、ディスク)が必要です。
「CPU 16コア/メモリ64GB/ディスク2TB」ぐらいのスペックで説明。
数年前のIntel Xeon サーバで、CPUは最新ではないが、HWリソース(CPUコアや物理メモリ)はそこそこあるサーバマシン。(今だと20万円ぐらいのタワーマシンとして買えそうですが)
■以下の3つのLinux-OSに以下の配分で割り当てたケース
・Ubuntu 22.04:vCPU:4/メモリ:4GB/HDD:100GB
・CentOS 7 :vCPU:2/メモリ:2GB/HDD:50GB
・Rocky Linux 8:vCPU:2/メモリ:1GB/HDD:30GB
1つずつの割り当てがホストのリソースを超えずに、かつ、同時実行する合計値を超えることはできません。
ホストOSからゲストOSは、1つのプロセスに見えます。
4GBのメモリを割り当てたら、ホストOSの4GBのメモリを使っているプロセスとして動作しています。
topコマンドで見ると qemu-kvm というプロセス名で確認できます。
自動でLinux-VMをインストールする方法
インストール時に、いちいち入力せずに、自動でLinux-VMをインストールする方法もあります。
これを使うと1回のコマンド実行だけでVMの作成が可能です。
他にもKVM関連の記事を書いているので、ご覧ください。
その他にLinux-OSを複数作成する方法
Linux-VMを作成する方法としてクラウドサービスや仮想環境を使う方法があります。
今回の用途と合わない、以下の2つを外して紹介します。
・コンテナ型のDockerは、アーキテクチャ上ゲストOSが存在しないので対象からはずす。
・Ansibleなどは使わずに構築する方法。
AWSやAzureのクラウドサービスでVMを作成
それぞれのクラウドサービスやネットワークなどの知識がないと難しいです。
VPSサービスを使う
多少お金をかけていいのであれば、VPSサービスは選択肢の1つです。
KVMは便利ですが、KVMの環境構築と使い方に慣れるまで、学習時間は必要です。
VPSの提供会社はいろいろありますが、時間課金が使えるConoHa VPSが、この用途には適しています。
ConoHa VPSのサポートLinux OSの種類【ConoHa公式】
■VPSのKVMとひ比較したデメリット
・RHEL(Red Hat Enterprise Linux)などの有料版は扱っていない。
・最新のリビジョンに対応するまで少し間がある。
例えば、AlmaLinux 9.4 がリリースされて、VPSサービスに反映されるまで少し時間差がある。
Hyper-VやVirtualBoxを使ってLinuxをインストール
WindowsをホストOSにして、Hyper-VやVirtualBoxを使ってLinuxをゲストOSとしてインストールする方法があります。
検証する環境が1,2個なら問題ないのですが、すべてGUIの操作が必要で扱うLinux-OSの個数が多いと手動インストールが非常に面倒です。
VirtualBoxへのインストールについては以下の記事をご覧ください。
VPS(仮想専用サーバー)とは
Linux VPSの詳細については、以下の記事をご覧ください。
VPSとAWSやAzureのクラウドサービスの違い
最後に
いろいろなLinux OS向けの開発者にとっては、KVMは非常に便利ですが、整理された情報が少ないので広がっていないですね。
一回、理解してしまえば、バッチ的にいろいろできるので利用範囲が多いです。
あと、5,6年前に購入したサーバマシンを有効活用できます。
CPUは古くなったが、メモリやディスクが十分にあるサーバはKVMに適しています。
私は仕事でそういうマシンを使っています。
とりあえず物量が必要なので。