学習

Mac上にNW機器の検証環境を構築できるか

こちらの続きになります。
追記しましたが、結果として失敗しました。
ただ失敗しただけだと糧にならないので、自分なりに調べたできない原因やそこから導き出した理想の検証環境を紹介します。
メインPCはMacを使いつつ、検証環境も組みたいという方は是非ご覧ください。

失敗から学んだ検証環境のイメージ

まず最終的に学んだ理想の検証環境を紹介します。
結論から言うと、メモリ32GBほどの中古PCを購入し、Linuxをインストールして、Macからリモートで接続するのがおすすめです。

イメージとしてはこのような形です。

macはデフォルトでterminalというアプリが付属しており、Linuxコマンドが使用できます。そのため、Linuxの構築や仮想マシンへのアクセスなどの対応はしやすい環境だと思いました。

検討していた(失敗した)検証環境イメージ

では失敗した検証環境イメージを紹介します。
同じような構成を考えてみた方は、無理だと諦めましょう。

VMware Fusion Pro 単一構成

はじめに考えた構成が上記のVMware Fusion Pro上に仮想マシンを全部建てる構成です。
互換性等なにも考えず、Mac上にハイパーバイザさえ建てれれば、あとは仮想マシンを建てるだけと考えていました。

失敗した原因

・ハイパーバイザをインストールしても、仮想マシンはホストOS(今回でいえばMac)のハードウェアを使用する。
仮想マシンとハードウェアの互換性がなければ動作できない。

・Macに対応する仮想用OS(arm版)がある製品とない製品があった。
仮想用OSであれば、ハイパーバイザに全てインストールできると勘違いしていた。

LinuxにてKVMを利用した構成

次に考えたのが、Nested Virtualizationを利用した上記構成です。

Nested Virtualizationとは

Nested Virtualization(ネストされた仮想化)とは、仮想マシン上でさらに仮想マシンを動かすことができる機能です。

下記のリンクから、VMware製品ではハード互換を解消するために利用できる構成としてnestedが紹介されてました。(全てのハイパーバイザに当てはまるわけではない…)

参考:https://blogs.vmware.com/vmware-japan/2014/04/vsphereonfusion.html

上記から、VMware ESXiの代替としてKVMを利用すれば、同じようにハード互換を気にせず仮想マシン構築が可能なのかと判断しました。

失敗した原因

・KVM自体はLinuxにインストールするものなので、Linuxインストールが成功すれば、ハード互換は気にする必要がないと考えていた。
→実際はKVMはarmに対応してなさそう?
RHELであれば対応してそう?

・VMware Fusion Proにて仮想マシン上のハイパーバイザを有効にするオプション項目が消えていた。
→非対応になった or 今回使用のOSでは当該オプションが利用できなかった?

    失敗から学んだこと

    ・MacのArmアーキテクチャだと、まだ対応している仮想化ソフト等が限られている。

    ・nestedも含めると、仮想環境作成だけで、メモリを7,8GB消費する。
    (CPUやディスク容量ももちろん大事だが、メモリ不足が一番目立つ)

    考察

    ・Macで環境を作るより、中古でハード互換のリスクが低いPCを購入した方が、時間・コストともに一番良い選択しだと思う。

    まとめ

    最初にお伝えしたように、MacでNW検証環境を作成するのは難しいです。
    そもそもスペックの面で、メモリ容量など潤沢にある場合以外は、中古PCを調達した方が良さげです。

    同じようなことを試そうと考えている方が引き返す手助けになれば幸いです。