Proxmox VE でマイクロ VM を簡単に実行する方法

2026/06/20 0:13

Proxmox VE でマイクロ VM を簡単に実行する方法

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

まとめ:

本テキストは、Proxmox VE に QEMU の microVM マシンタイプを第一級管理ゲストとして追加する Debian パッケージ

pve-microvm
を主に紹介します。この実装により、カーネルの整合性とルートファイルシステムの解き離しがなされ、監査性およびスケーラビリティが向上します。従来のマシンとは異なり、この種のゲストはカスタム Linux カーネル(6.12.22)の利用とレガシーな BIOS/GRUB レイヤーの廃止によって 300 ミリ秒以内で起動し、これを簡素化した OCI イメージまたは取り込んだディスクファイルに置き換えることで実現します。本ソリューションは BIOS、GRUB、およびレガシーデバイスエミュレーション(IDE、VGA、USB ホブなど)を排除し、KVM/VT-x を用いてハードウェア隔離を実現するとともに、コンテナのような起動特性を提供します。このパッケージは Debian から Plan9 までの 21 の異なるゲスト OS に対応しており、古い CPU(例:Intel Atom x5-Z8350)を含む多様なクラスターアーキテクチャで動作し、AI エージェントや分散推論などのワークロードを処理できます。また、Proxmox の内部 Perl ツールをパッチ化して転換モードなしで現代の PCIe デバイスを扱えるようにし、
qemu-server
の内部機構を変更してチップセットエミュレーションを含まないカスタムコマンドラインを使用できるようにするとともに、ZFS、Ceph、LVM、NFS、CIFS などの標準ストレージバックエンドをサポートします。ネットワーク機能では
nftables
を用いて標準的な PVE ファイアウォールルールを利用し、
systemd-networkd
を通じて静的/DHCP 構成をサポートし、SSH-agent フォワーディングやディレクトリ共有のために
vsock
インターフェースを提供します。GPU/PCI パススルーや完全なライブ移動などの将来機能は QEMU の進化を待機しており、現時点の制限事項としてはシリアル.console 専用(グラフィック出力なし)、USB コントローラー非対応、および Perl モジュールの競合を避けるために完全な
dpkg
アップグレードが必要となる脆弱なパッチ適用などが挙げられます。管理者はシステム安定性を確保するため、Proxmox の更新時にも潜在する Perl モジュール競合を回避するために
dpkg
トリガーや早期起動 systemd サービスを用いた自動再パッチ管理を行う必要があります。ただし、オフライン移動(共有ストレージ上では約 2 秒)は引き続き有効です。

Text to translate:

## Summary:
The text primarily introduces `pve-microvm`, a Debian package that adds QEMU's microVM machine type as a first-class managed guest in Proxmox VE, decoupling kernel consistency from the rootfs for auditability and scale. Unlike traditional machines, these guests boot in under 300 milliseconds by utilizing a custom Linux kernel (6.12.22) and removing legacy BIOS/GRUB layers, effectively replacing them with streamlined OCI images or imported disk files. The solution eliminates BIOS, GRUB, and legacy device emulation (IDE, VGA, USB hubs), achieving hardware isolation via KVM/VT-x with container-like startup characteristics. It supports twenty-one different guest operating systems (from Debian to Plan9) across diverse cluster architectures, including older CPUs like the Intel Atom x5-Z8350, handling workloads such as AI agents and distributed inference. The package patches Proxmox's internal Perl tools to handle modern PCIe devices without transitional modes, adapts `qemu-server` internals to use a custom command line omitting chipset emulation, and supports standard storage backends like ZFS, Ceph, LVM, NFS, and CIFS. Networking utilizes standard PVE firewall rules via `nftables`, supports `systemd-networkd` for static/DHCP configuration, and provides `vsock` interfaces for SSH-agent forwarding and directory sharing. While future features like GPU/PCI passthrough or full live migration remain pending QEMU evolution, current limitations include a serial-only console (no graphical output), no USB controllers, and fragile patching requiring full `dpkg` upgrades to avoid Perl module conflicts. Administrators must manage automated re-patching via `dpkg` triggers and early-boot systemd services to ensure system stability during Proxmox updates and avoid potential Perl module conflicts, although offline migration remains effective (approx. 2 seconds on shared storage).

本文

pve-microvm:コンテナのような高速起動と VM としての完全な隔離性

Proxmox VE(PVE)で、QEMU の microVM マシンタイプを活用し、コンテナの軽快な起動速度と仮想マシンのセキュリティ隔離を両立するための Deb パッケージ「pve-microvm」について解説します。

概要:妥協点の先にあった解法

著者は長期運用している Proxmox クラスター(Atom x5-Z8350 から i7-12700まで)において、LXC コンテナと標準 VM のそれぞれの欠点を解消すべく開発しました。

  • 従来の Dilemma:
    • LXC コンテナ: インスタント起動だが、内核を共有するためセキュリティ隔離性がない(コンテナ内のバグでホストが危険にさらされる)。カスタム内核や Docker ネスティングには不向き。
    • 標準 VM: KVM による完全なハードウェア隔離があるが、ファームウェア(SeaBIOS/OVMF)とエミュレータ起動のために「目覚め」るまで5-10 秒かかる。メモリオーバーヘッドも大きい。
  • pve-microvm の目的: **「Firecracker スタイル」**の微細化を実現。BIOS や GRUB、レガシーデバイス(IDE、VGA など)を排除し、最小限の virtio-みみの環境で直感的に内核起動する。
  • 成果: 完全なネットワーク接続状態での起動が300ms 未満。Plan9 を含む 21 種類のゲスト OS サポート。

システムとの統合と実装細節

単一のパッケージで機能追加

標準の

qemu-server
Perl モジュールにパッチを施すことで、VM 設定ファイル(
.conf
)に特別な指示を与えるだけで機能します。

  • 起動時のコマンドライン変更:
    qemu-system-x86_64 -M microvm,x-option-roms=off,pit=off,pic=off,\
      isa-serial=on,rtc=on,acpi=on,pcie=on \
      -kernel /usr/share/pve-microvm/vmlinuz \
      -initrd /usr/share/pve-microvm/initrd \
      ...
    
    • 独自の内核(12MB)と initrd を使用。
    • PCI ブリッジ、VGA なし、シングルセリアルコンソールのみ。

プロバイドされるコンポーネント

  • 極小カーネル (6.12.22):
    x86_v64_defconfig
    ベース。virtio, vsock, virtiofs, 9p, Docker モジュール(overlay など)を含み、実用主義を徹底。
  • pve-microvm-template: Debian, Alpine, Fedora などの OCI イメージから直接ルートファイルシステムを構築。
  • Web UI エクステンション: 「Create µVM」ボタン、リソースツリーに琥珀色のボルトアイコンなどで直感的に管理可能。
  • ** systemd サービス (
    pve-microvm-early.service
    )**: VM 起動前にパッチ適用を強制し、システム安定性を確保。

ブートプロセスと速度比較

microVM と標準 VM のブートタイムライン比較

空気力学のように、「厳密に必要ないものを全て排除」することで高速化を実現しています。

タイプ概算ブート時間特徴
SmolBSD (NetBSD)31ms
virtio-mmio
トランスポート採用。MMIO は軽量だが Linux ではデバイスプローブにバグあり。
Debian (標準 VM)数分 ~ 10 秒ファームウェアと GRUB で時間を消費。
Debian (microVM)300ms 台PCIe 上の非トランジショナル
virtio
を使用(Linux カーネル対応のため)。起動後、8 秒以内に安定動作。

Linux ゲストにおける MMIO の制限

QEMU microVM は当初は軽量な

MMIO
トランスポートを使用しましたが、Linux カーネルにおいては PCI バス上のデバイスが正しく認識されないバグがあるため、現在はPCIe 上の非トランジショナル(現代専用)virtio デバイスを使用しています。これにより起動時に約 50ms 追加されますが、それでも十分高速です。

「1 つのカーネル、多くのゲスト」アーキテクチャ

pve-microvm の最大の特徴は、内核をゲストディスク内に含まないことです。

  • 構造: 内核(
    /usr/share/pve-microvm/vmlinuz
    )はホスト上に常駐し、ゲストディスクにはルートファイルシステムのみが格納されます。
  • メリット:
    • インストーラーの起動不要。
    • ホストから
      vmlinuz
      を置き換えるだけで全てのゲスト更新が可能(
      apt upgrade
      からの破損回避)。
    • ユーザランドや
      /boot
      、GRUB が不要で軽量。

サンプル設定:Gitea VM (VMID 114)

通常の PVE VM とは同様に管理され、以下の設定項目が重要です。

agent: 1
args: -kernel /usr/share/pve-microvm/vmlinuz -append "console=ttyS0 root=/dev/vda rw quiet"
boot: order=scsi0
cores: 2
machine: microvm          # 重要:微細化モードを指定
memory: 2048
name: gitea
net0: virtio=BC:24:11:00:6E:01,bridge=vmbr0
onboot: 1
scsi0: local-lvm:vm-114-disk-0,size=32G
serial0: socket          # 重要:Web UI との接続用(xterm.js)
tags: microvm
vga: serial0             # VGA エミュレータなし、シリアルのみ使用

ネットワーキングとストレージ

ネットワーク設定

標準的な PVE の設定方法と同じですが、PCIe バス上の

virtio-net-pci-non-transitional
デバイスを介して接続されます。

  • VLAN タグ付け対応:
    qm set 900 --net0 virtio,bridge=vmbr0,tag=100
    
  • セキュリティ: PVE の標準ファイアウォール(
    nftables
    )がそのまま機能します。
  • クラウド管理代替:
    cloud-init
    ではなく
    systemd-networkd
    を採用し、クローン時の設定不安定性を解消しました。

ストレージとマイグレーション

  • ストレージ対応: LVM, ZFS, Ceph/RBD, NFS, CIFS, ディレクトリストレージなど、PVE がサポートするすべてのバックエンドが動作します。
  • ライブマイグレーション制限: QEMU microVM 仕様上、真のライブマイグレーションは現時点で非対応です。
  • オフラインマイグレーション(HA Relocate): 停止 → マイグレート → 開始のパターンが可能で、共有ストレージがある場合2 秒程度で完了します。

LXC と pve-microVM の比較:どちらを選ぶべきか?

用途・要件推奨選択肢
信頼できるコードの動作 / ゼロ起動オーバーヘロードが必要LXC コンテナ
ホストからの直接ファイルシステムアクセス希望LXC コンテナ
最小限のメモリ割り当て(共有ページキャッシュ)希望LXC コンテナ
内核隔離が必要(不信コード、異なる内核、ネストレート Docker)pve-microvm
再現性の高いスナップショット・バックアップ (
vzdump
)
pve-microvm
カスタムカーネルモジュールの読み込み / ホストへの漏れ防止pve-microvm
Linux 以外の実行(NetBSD, Plan9, FreeBSD)pve-microvm
VM が起動する前にコマンドを実行したい場合pve-microvm

現在の環境では、i7-12700 システム上で微細 microVM のアイドルメモリフットプリントは~40MBで、CPU オーバーヘッドは測定不能です。

注意点と制限事項(厄介な部分)

以下のようなキャッチには注意が必要です。

  • Perl パッチの脆弱性: PVE アップグレード時、不完全なアップグレードによって Perl モジュールが壊れ、パッチ適用が行われなくなるリスクがあります。**常にフル
    dist-upgrade
    **を行ってください。
  • ルートデバイスへの依存: 設定では
    root=/dev/vda
    を使用しますが、PVE のマイナーバグで一部ケース
    /dev/sda
    として認識され、起動できない可能性があります。最新のパッチで改善されています。
  • グラフィカルインターフェースなし: シリアルコンソール(Web UI との接続)のみです。GUI が不要なサーバー用途向き。
  • USB スタンダードサポートなし: コントローラやパススルーは利用不可。Zigbee などの USB デバイスは使えません。
  • カスタム内核必須: 著者の 6.12.22 カーネルが基本です。標準 Debian カーネルは大きくなりすぎて意味がないため、推奨されません(3 倍大きく起動も遅くなる)。
  • GPU パススルー不可: PCI ページテーブルなどの制限により、現時点では GPU のパススルーサポートは OFF に設定されています(将来的に実装可能性があります)。

インストール手順

PVE 9.x ノードへのインストールと、テンプレート作成の例です。

  1. パッケージインストール:

    wget https://github.com/rcarmo/pve-microvm/releases/latest/download/pve-microvm_0.3.12-1_all.deb
    dpkg -i pve-microvm_0.3.12-1_all.deb
    
  2. Debian マイクロVM テンプレートの作成:

    pve-microvm-template --vmid 9000 --storage local-lvm --profile standard
    
  3. 真の VM としてクローン・設定:

    qm clone 9000 100 --name my-microvm --full
    qm set 100 --machine microvm --memory 1024 --cores 2
    qm start 100
    

まとめ

pve-microvm は、**「コンテナスピードの VM」**を追求したオープンソースプロジェクトです。ホームラベルサーバー運用や、異なる内核/OS を必要とするワークロードにおいて、標準 VM と LXC の両方の長所を取り入れた代替案として機能します。 著者はこれを無料で配布しており、将来的には ARM アーキテクチャ対応などへの拡張も予定されています。

同じ日のほかのニュース

一覧に戻る →

2026/06/22 6:29

アペルトス:主権 AI 向けのオープンファウンデーションモデル

## Japanese Translation: スイス AI イニシアチブによって、EPFL、チューリッヒ工科大学(ETH)、CSCS の協力により、画期的な完全にオープンな多言語 AI モデルが開発されました。本モデルは、全データの透明性を確保しながら強力な技術への即時アクセスを提供します——再現性を確保するため、すべてのデータ、コード、重み付け、手法、アライメント原則が文書化されています。1,000 以上の言語から DAY ONE にトレーニングを開始し、8B および 70B パラメータ規模の両方で競争力を誇る性能を実現しています。EU AI アクトの要件に厳格に準拠しており、データ opting-out を尊重し、個人情報を削除するとともに、メモライゼーションを防止します。スイスエコシステム内でスイスコミが戦略パートナーとして携わっており、本イニシアチブはさらなる開発のためのグローバルなスケーラブルな基盤となっており、強力な能力と責任ある管理の間でバランスを保つ道徳的で再現可能な枠組みを確立しています。

2026/06/22 6:40

私の以前の職場は不正行為があるためにだけ存在していたのでしょうか?

## Japanese Translation: 最も重要な教訓は、UK のスタートアップ GenieDB が、そのコア技術革新は後に真面目な業界プレイヤーによって採用されたにもかかわらず、ポートフォリオの成長のためではなく、投資家の資金を手数料主導で吸い上げるための仕組みを可能にするために、Stuart Frost 所有の US ベンチャーファンド「Frost VP」に買収された点である。GenieDB は M&A を狙って収益機会を積極的に見送っており、顧客数は最大 3 ヶ社を超えたことがなかった。また、チームが交代させられ、U.S. に残ったのは著者の一人だけだった。10 年後、Frost VP が SEC から詐欺容疑で訴えられたというニュースが明らかになり、同社は関連のないサービス(例:料理人を雇う個人シェフサービス、クリーニング業者、ビザスポンサーシップやマーケティング会社など)に対して過剰な手数料を徴収するインキュベーターとして活動していたことが判明した。仲裁の結果、投資家が勝訴し、反訴では上記のような詐欺の嫌疑が詳細に記載されていた。Frost は当初、投資家との共謀を主張したが、証拠に立ち向かうことができず敗訴した。GenieDB の CEO やインサイダーは両方とも、投資がこの手数料モデルに動機付けられていたことを認めたが、裁判所は GenieDB がなぜポートフォリオに加わったのかについて具体的な理由を判定することはなかった。このスキームは資金残高を枯渇させ、著者の人生軌道(U.S. 市民権の喪失やキャリアの安定性への影響を含む)を変え、さらに Frost から資金管理の禁止という恒久的な禁制を下すことで、事実上 Frost VP の運営を終了させた。この事例は、高額手数料型のインキュベーターモデルについて鋭い警告を示しており、詐欺的な手数料構造が正当な企業価値を覆い隠し、投資家や従業員双方に壊滅的な長期的影響をもたらす可能性があることを示している。

2026/06/22 6:10

すべては対数なりである

## Japanese Translation: 以下の文章は、情報のすべてを維持しつつ、流れと簡潔性を向上させるための改訂版である: > 本書は、対数($\log N$)を具体的な底を持たない抽象的な実体として捉え直すことで、特定の単位や底が選択される場合にのみ数値的値を獲得するという視点を提案する。この見解は、点そのものが基礎的なものであり、原点の選択を行うことで初めて数値的な変位(displacements)となるベクトル幾何学の概念と直接的な対応を確立する。この枠組みにおいて、対数の底の変更は物理的な単位系の変更、あるいは微積分における微分形式の書き換えに等しい。この議論は対称性を他の分野にも拡張しており、$p$ 進評価($p$-adic valuation)や複素解析における消滅位数(order of vanishing)は、対数代数的構造内での投影として機能し、さらにベクトル空間の対数としての振る舞いを見せる次元などは、分数次元といった仮想的な構成すら許容する。自然対数を多項式の振る舞いと関連付ける極限や導関数を通過して再定義することで、本書は次元、導関数、評価という一見異なる概念が、乗法的構造と加法的结构との間のより深い同型写像(isomorphism)の現れであるとして論じる。結局のところ、この視点を採用することにより、数学に一般共変性(general covariance)を適用することは、冗長な単位依存記号によって遮られている単純で座標freeな実在にアクセスする手段を示唆している。

Proxmox VE でマイクロ VM を簡単に実行する方法 | そっか~ニュース