Intel Mac(Monterey)でProxmoxを動かす - Parallels/VMwareが全滅でVirtualBox6に辿り着く
Proxmoxやってみようと思い立つ
以前、私のメインマシンだったMacbookPro 2016をしばらくは家族が使っていましたが、OSのアップグレードもできなくなり、やはり使いづらくなったので、その家族も使わなくなりました。
今となっては貴重な(?)Intel版のMacですので有効利用しようと考え、興味はあったもののなかなか手を出すことができなかったProxmoxを触ってみることにしました。
環境
DebianベースのProxmoxのMacへの直接インストールは、ドライバ周りの設定やデュアルブート環境の構築が手間なので、こちらも過去に永続版のライセンスを購入して余っていたParallels DesktopにProxmoxをインストールすることにしました。
Parallelsの上に複数のProxmoxをインストールして、Proxmoxのクラスタ構築やHA(高可用性)機能を試せるのではと目論んでいます(もちろん検証目的です)。
- MacbookPro 2016 メモリ16GB macOS Monterey バージョン12.7.6
- Parallels Desktop 18 通常版ライセンス
作成したVMが起動しない
Proxmox VEのインストール後、まず手始めにDockerのVMを作成しようとしました。
Proxmox VE Helper-Scriptsからインストールスクリプトを入手して実行したところ、次のようなエラーメッセージが表示されました。
KVM virtualisation configured, but not available. Either disable in VM configuration or enable in BIOS.
これは、「ホストマシンのCPU仮想化支援機能(Intel VT-x または AMD-V)が有効になっていない(または利用できない)」 という意味です。
Proxmox上でVMを高速に動かすにはハードウェア仮想化機能が必須ですが、それがOFFになっているため起動に失敗しています。
Parallelsが原因だった
私が使用しているParallels Desktopのバージョン18の通常版では、"ネストされた仮想化"が使えません。 古いバージョン(15以前?)では使えていたようですが、Pro版と通常版の差別化のために利用できなくなったようです。
VMwareで解決、、、できず。。。
30年以上Macを使用していますが、ウェブ業界に携わっている以上、Windows環境も必要です(最近はその必要性もだいぶ小さくなりましたが)。
古くは"SoftWindows"や"VirtualPC"、"RealPC"を使用していて、VMware Fusionも使用していました。いつの頃からか、Parallels Desktopを使っています。
以前、VMware Fusionが無償化されたというニュースを聞いていたので、今回試してみました。
しかし!!!
今回の検証機であるMacbookPro 2016は、公式にはmacOS12までの対応であり、それ以上にはアップグレードできません。
そして、現在入手できるVMware Fusionのバージョン25H2、バージョン13は、macOS13以上が必要であり、起動できませんでした。
仮想マシンアプリ探し
「Proxmoxを試したい」という軽い気持ちで始めましたが、以下の条件をすべて満たす必要があり、意外と選択肢が狭いことがわかりました。
- MacbookPro 2016 という古いIntel Macで動作する
- macOSは12(Monterey)
- "ネストされた仮想化"機能が動作する
| アプリ | バージョン | 結果 | 詳細 |
|---|---|---|---|
| Parallels Desktop | 18(通常版) | NG | 通常版はネスト仮想化機能がロックされている(Pro版は可) |
| VMware Fusion | 25H2/13 | NG | 動作要件が macOS 13以上のためインストール不可 |
| VirtualBox | 7.1.10 | NG | アーキテクチャ変更の影響か、ネスト仮想化が有効化できず |
| VirtualBox | 6.1.50 | OK | コマンド設定により動作 |
| UTM | (最新) | NG | QEMUベースだが、この環境ではネスト仮想化が動作せず |
解決策:VirtualBox 6.1 + コマンド設定
いろいろ試した結果、VirtualBox 6.1系を使用し、かつコマンドラインから設定を変更することで動作しました。
手順
- VirtualBoxのOld Buildsページから、macOS版の 6.1系(今回は6.1.50)をダウンロードしてインストール。
- Proxmox用の仮想マシンを作成(この時点では起動しない)。
- 設定画面の「システム > プロセッサー」にある 「ネストされたVT-x/AMD-V」 を確認。デフォルトではチェックボックスがグレーアウトしており押せません。
- ターミナルを開き、以下のコマンドを実行して強制的に有効化します。
# 仮想マシン名が "Proxmox" の場合
VBoxManage modifyvm "Proxmox" --nested-hw-virt on
これで設定画面のチェックボックスにチェックが入り、Proxmox上でDocker等のVMを起動できるようになりました。
VirtualBox6でProxmox
やっと、古いIntelMacでProxmoxを動作させることができました。VirtualBoxは重いという声もありますが、これからいろいろ試していきたいと思います。
Discussion