概要とシステム準備
仮想マシン(VM)は、Windows、macOS、Linux などの完全なオペレーティングシステムを、Docker コンテナと並行して Unraid サーバー上で実行できるようにします。
VMs が最適なのは次のような場合です:
- フル OS を必要とする、またはコンテナとして提供されていないアプリケーションの実行。
- GPU や USB デバイスなどの専用ハードウェアをゲストシステムに割り当てる場合。
- テスト、開発、ゲーム、またはレガシーソフトウェアの実行。
- さまざまなワークロード向けに、複数の分離された環境をホストする場合。
Unraid でテスト済みのオペレーティングシステム一覧については、VM のセットアップ ページを参照してください。
内部構造: Unraid の仮想化を支える技術スタックについて詳しく知るには展開してください
Unraid の仮想化スタックは、柔軟性と高性能を重視して設計されており、いくつかのオープンソース技術を活用して効果的な 仮想マシン(VM) 管理を支えています。この概要では、主要な構成要素とその相互作用をわかりやすく説明します。
コア技術
| 技術 | 役割 | 重要な理由 |
|---|---|---|
| KVM | Acts as the hypervisor built into the Linux kernel. | Unraid がハードウェアアクセラレーションと最小限のオーバーヘッドで VMs をスムーズに実行できるようにします。 |
| QEMU | VMs に必要な基本ハードウェア(マザーボード、CPU、コントローラーなど)をエミュレートします。 | KVM と連携して、ゲスト OS 用の完全な仮想環境を作成します。 |
| Libvirt | VM 定義と、ストレージおよびネットワークインターフェースを管理します。 | VM 構成を libvirt.img に保存し、一貫した管理 API を提供します。 |
| VNC | VMs へのリモートグラフィカルアクセスを提供します。 | ブラウザまたは VNC クライアントを使って、あらゆるデバイスから VMs を操作できます。 |
| VirtIO | ネットワークおよびディスクデバイス向けの高性能な準仮想化ドライバを提供します。 | VM の速度と効率を向上させ、ゲスト OS に VirtIO ドライバのインストールが必要です。 |
VirtFS(9p) | ホストと Linux ベースのゲスト間でファイルシステム共有を可能にします。 | 開発や高度なファイル共有の要件に役立ちます。 |
| HVM | ハードウェア支援仮想化(Intel VT-x、AMD-V)をサポートします。 | 完全なハードウェアアクセラレーションで VMs を実行するために必要です。 |
| VFIO と IOMMU | VMs への PCI デバイスの直接パススルーを可能にします(GPU や USB デバイスなど)。 | ネイティブに近いパフォーマンスを実現し、セキュリティ分離を維持するために不可欠です。 |
Unraid における VM サポートの実装
- KVM/QEMU: Unraid の仮想化は本質的に KVM と QEMU を基盤としており、堅牢な VM ホスティング機能を提供します。
- Libvirt: VM 定義は
libvirt.img内の XML ファイルとして保存されます(通常はsystem共有にあります)。 - デフォルト共有:
domains: VM の 仮想ディスクイメージ を格納します。isos: インストール用 ISO とドライバイメージを含みます。system:libvirt.imgとその他の重要なシステムファイルを保存します。- 最適なパフォーマンスのため、すべて Use Cache: Prefer が既定です。
- VNC: Unraid は組み込みの NoVNC クライアントを備えており、ブラウザから VMs に簡単にアクセスできます。必要に応じて外部の VNC クライアント も使用できます。
要件
Unraid で VMs を実行するには、システムが次の要件を満たしている必要があります:
| コンポーネント | 最低要件 | VMs および GPU passthrough に推奨 |
|---|---|---|
| CPU | 64 ビット、4 コア、2.4 GHz 以上(Intel/AMD) | 8 コア以上、3.0 GHz 以上(Intel Core i7/i9、AMD Ryzen 7/9、またはそれ以降) |
| 仮想化 | HVM(Intel VT-x または AMD-V) | HVM + IOMMU(Intel VT-d または AMD-Vi) |
| RAM | 8 GB | 16 GB 以上(アクティブな VM ごとに RAM を追加) |
| ストレージ | VM ディスク用 SSD/NVMe | 最高のパフォーマンスには高性能 NVMe |
| ネットワーク | ギガビット Ethernet(PCIe 推奨) | 要求の厳しいワークロード向けの 2.5G/10G Ethernet |
| GPU(オプション) | 最新の NVIDIA RTX(推奨)または AMD Radeon RX | RTX 3000/4000 シリーズ(より良いパススルー互換性のため NVIDIA を推奨) |
NVIDIA の GPU は、互換性と信頼性が高いため、VM パススルーでは一般的に推奨されます。AMD の GPU はパススルーがより難しい場合があり、比較的新しいモデル(RX 7000/9000 シリーズを含む)の一部は VMs で安定して動作しない、またはまったく動作しないことがあります。GPU passthrough を使う予定なら、最良の体験のために NVIDIA 製品を検討してください。
マザーボードの BIOS では、ハードウェア支援仮想化と IOMMU サポートを有効にする必要があります。「Intel VT-x」「Intel VT-d」「AMD-V」「AMD-Vi」などの表記を探してください。
VM リソース
| VM の種類 | VM ごとの RAM | VM ごとの vCPU | 使用例 |
|---|---|---|---|
| 仮想サーバー | 1~2 GB | 1~2 | 軽量 Linux、ユーティリティ VMs |
| 仮想デスクトップ | 4~8 GB | 2~4 | Windows 11、Ubuntu デスクトップ、RDP |
| ハイブリッド/ゲーム用 VM | 8~16 GB以上 | 4~8以上 | GPU passthrough、ゲーム、ML |
- メモリと CPU は、VMs が実行中のときのみ消費されます。
- 複数の VMs を同時に実行する場合は、ピーク使用量を見込んで計画してください。
- リソースは、常にゲスト OS とワークロードの要件に基づいて割り当ててください。
HVM と IOMMU: 何が可能になるか
- HVM サポート
- IOMMU サポート
HVM (Hardware Virtual Machine), also known as Intel VT-x or AMD-V, enables your CPU to run virtual machines with hardware acceleration.
- Unraidで任意のVMを作成および実行するために必要です。
- ソフトウェアのみの仮想化と比べて、効率的なCPU仮想化とより優れたパフォーマンスを提供します。
- この機能は、ほとんどの最新CPU(2015年以降)に搭載されています。
IOMMU(Input/Output Memory Management Unit。Intel VT-d または AMD-Vi とも呼ばれる)は、VMs への安全で効率的なデバイスパススルーを可能にします。
- GPU、USB コントローラー、NVMe ドライブなどの PCIe デバイスを VM に直接割り当てるために必要です。
- メモリの分離と保護を提供し、デバイスが許可されていないメモリ領域にアクセスするのを防ぎます。
- GPU passthrough、高度なネットワーキング、および高性能ワークロードに不可欠です。
WebGUI で、上部メニューの Info をクリックします。
- HVM サポート: ハードウェア仮想化が存在し、有効になっているかを示します。
- IOMMU サポート: デバイスのパススルーが利用可能で有効かどうかを表示します。
グラフィックデバイスのパススルー
GPU を VM にパススルーすると、ネイティブに近いグラフィック性能を実現でき、ゲーム、クリエイティブ作業、機械学習に最適です。
- NVIDIA
- AMD
- 最新のRTX(3000/4000シリーズ)はすべてパススルーに対応しており、最高のパフォーマンスを得るにはこれらを推奨します。
- Quadroや一部の古いGTXカードも対応していますが、現在のドライバーとの互換性を確認することが重要です。
- Radeon RX 6000 シリーズは、パススルー用途では概ね信頼性があります。
- RX 7000 シリーズには未解決の問題がいくつかある可能性があります。最新の互換性レポートについては、Unraid forums を確認してください。
- AMD のリセットバグは最近のモデルではほぼ解決されていますが、使用するハードウェアで確認するのが常に良いでしょう。
- 最新の GPU を搭載した VMs では、OVMF(UEFI)を使用してください。
- ハードウェアサポートを改善するため、常に最新の Unraid バージョンを使用してください。
- NVIDIA Optimus のような技術により、ノート PC や高度な構成で GPU passthrough が可能になる場合がありますが、結果はさまざまです。
ハードウェアとドライバの互換性は急速に変化します。パススルー用の GPU を購入する前に、最新の報告やユーザー体験について Unraid フォーラム とベンダーのドキュメントを確認してください。
システム準備
仮想マシンを作成する前に、システムが準備できていることを確認するため、次の必須セットアップ作業を完了してください。
BIOS 設定を調整する
Unraid の仮想化機能を最大限に活用するには、BIOS でハードウェア支援仮想化と I/O メモリ管理を有効にする必要があります。Virtualization、Intel VT-x、Intel VT-d、AMD-V、または AMD-Vi と表記された設定を探し、Enabled に設定してください。
BIOS の画面はメーカーによって異なります。これらの設定の正確な場所はマザーボードのマニュアルで確認してください。
ネットワークブリッジを構成する
仮想マシン は、2 種類のブリッジのいずれかを使用してネットワークに接続できます。ニーズに最も合うものを選んでください:
| ブリッジの種類 | 説明 | ユースケース |
|---|---|---|
| プライベート NAT(virbr0) | libvirt によって管理されます。このオプションは内部 DHCP サーバーと分離されたサブネットを提供します。VMs はインターネットとホストのファイル共有にアクセスできますが、他のネットワークデバイスからは分離されます。 | インターネットとホストへのアクセスは必要だが、LAN からは見えない分離された VMs に最適です。 |
| パブリックブリッジ(br0) | Unraid によって管理されます。このオプションは VMs を LAN に直接接続し、IP はルーターによって割り当てられます。MAC アドレスは保持されるため、一貫した IP 割り当てが可能です。 | ネットワーク上で通常のデバイスとして機能し、他のデバイスからアクセスできるようにしたい VMs に最適です。 |
Unraid サーバーが Wi-Fi に接続されている場合、virtual machines には プライベート NAT(virbr0) ネットワークブリッジの使用が推奨されます。これは、Wi-Fi インターフェースが 1 つの MAC アドレスしかサポートせず、パブリックブリッジやカスタムネットワークタイプの使用が制限されるためです。virbr0 ブリッジを利用すると、VMs は NAT を介して完全なネットワークアクセスを得られますが、ローカルエリアネットワーク(LAN)の他のデバイスから直接アクセスすることはできません。ただし、ホスト経由で VNC を使って VMs にアクセスすることは引き続き可能です。
- ネットワーク設定 → ブリッジを有効にする でパブリックブリッジを有効にします。
- VM 設定で、希望するブリッジを デフォルトのネットワークブリッジ に設定します。このオプションを表示するには、詳細表示を有効にする必要がある場合があります。
仮想化用ユーザー共有
Unraid creates two default user shares for virtualization:
isos: この共有には VMs のインストールメディアファイルが保存されます。domains: この共有には 仮想マシン の 仮想ディスクイメージ と設定ファイルが保存されます。
データ保護のため、VM バックアップ用に別の共有を作成することを検討してください。
共有設定の推奨事項
- Store active VM virtual disk images on a cache-only share for the best performance.
- cache pool に SSD を使用すると、VM の応答性が大幅に向上します。
isos共有での Cache の使用は任意です。
仮想化の設定を行う
始める前に、システムが仮想化に対応していることを確認してください(システム準備 を参照)。Unraid で virtualization の設定を行うことで、仮想マシン(VM) が最適なパフォーマンスと互換性で構成されます。
仮想化の設定を行うには:
- WebGUI で、Settings → VM Manager に移動します。
- Windows VM の場合:
- 既定のネットワークブリッジを選択:
- プライベートネットワークブリッジには
virbr0を選ぶか、Network Settings で作成したパブリックブリッジ(例:br0)を選択します。 - (任意)各 VM の既定のネットワークブリッジを Advanced View で上書きします。
- プライベートネットワークブリッジには
- PCIe ACS オーバーライド(詳細):
この設定は実験的なものであり、システムの安定性に影響する可能性があります。注意して使用してください。
- Apply をクリックして設定を保存します。