🪆

Proxmox VEで入れ子になった仮想化を行う

2025/02/24に公開

Proxmox VEを実機に導入したのでいろいろな実験が行えるようになりました。

  • Debian 12
  • Proxmox 8.

しかし実機の上で実験をすると、失敗したときに不都合です。そこでProxmox VEのVMの上で安全にProxmox VEの実験をするべく、入れ子になった仮想化を使えるようにしました。

入れ子になった仮想化を有効にする

  1. Intel VT / AMD-V を有効にする
  2. ホストLinuxの仮想化を有効にする
  3. VMのCPUタイプをhostにする。

Intel VT / AMD-Vを有効にする

Intel VTおよびAVM-VはそれぞれCPUの仮想化機構です。これらが起動時にイネーブルであるかどうかはマザーボードのメーカーによって異なります。

イネーブルにする方法はマザーボードのUEFI/Legacy BIOSによって異なりますので、マニュアルにしたがってイネーブルにしてください。

ホストLinuxの仮想化を有効にする

仮想化のネスティングが許されているかどうかをホストLinuxで調べて、許されていなければイネーブルにします。

以下のプログラムの実行結果が'Y'または'1'の場合は既にネスティングが許されています。

cat /sys/module/kvm_intel/parameters/nested

'N'または'0'の場合は以下のコマンドを実行します。

Intel CPUの場合

echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
sudo modprobe -r kvm-intel

モジュール名の'-'は'_'としてもかまいません。

AMD CPUの場合

echo "options kvm-amd nested=1" | sudo tee /etc/modprobe.d/kvm-amd.conf
sudo modprobe -r kvm-amd

モジュール名の'-'は'_'としてもかまいません。

VMのCPUタイプをhostにする。

VMのCPUタイプを"host"にしてください。デフォルトの"x86-64-v2-AES"のままだと仮想化のネストを行えません。

変更するにはProxmox VEのWEB管理画面でVMを選び、Hardware->Processors->Editをクリックして現れたダイアログのTypeを変更してください。

まとめ

入れ子になった仮想化を使うと、Proxmox VEの上でProxmox VEが走るようになります。これでProxmox VE自身に対して破壊的な実験を行うことができるようになりますので、学習効率が上がります。

Discussion