Unraidで仮想マシン(VM)を使いこなす:基本設定から実用的なパフォーマンス最適化まで

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

ProxmoxやESXiではなく、なぜUnraidでVMを動かすのか?

かつて私は、12個以上のVMとコンテナを搭載したProxmox VEのホームラボを運用していました。本番環境へのデプロイ前のテスト環境(サンドボックス)としては素晴らしい環境でした。しかし、大容量データの保存と、動画編集やゲーム用のWindows VMを併用したいというニーズに変わったとき、Unraidはその柔軟性で圧倒的に優れていました。

Proxmoxは純粋に仮想化に特化しています。対照的に、Unraidは異なる容量のHDDを一つのストレージアレイに混在させることができます。その上で、KVMを統合しているため、仮想マシンも非常にスムーズに動作します。Unraidの最大の利点は、Hardware Passthrough(ハードウェアパススルー)の容易さです。GPU、ネットワークカード、USBコントローラーなどを、複雑なコマンドを打つことなくWebインターフェース上で直接VMに割り当てることができます。

クイックスタート:最初の仮想マシンをインストールする

開始する前に、BIOSでVT-x/AMD-VIOMMUが有効になっていることを確認してください。これは仮想化を安定して動作させるための必須条件です。

  1. VM Managerの有効化: Settings > VM Managerに移動します。Enable VMsYesに変更し、Applyをクリックします。
  2. ISOの準備: インストールファイル(Windows、Ubuntuなど)をUnraidのisosフォルダに保存します。
  3. 作成: VMsタブでAdd VMを選択し、対応するOSのアイコンをクリックします。
  4. 設定: CPUコア数、RAM容量を選択し、ISOファイルへのパスを指定します。
  5. 完了: ページ下部のCreateをクリックします。仮想マシンが起動し、ブラウザ上のVNC経由で操作できるようになります。

パフォーマンスを最大化するための最適化設定

1. CPU Pinning – インテリジェントなコア割り当て

初心者の多くは、デフォルト設定のまま、すべてのCPUコアをOSとVMで共有させてしまいがちです。しかし、VMが重い処理を行うと、NAS全体がカクついてしまいます。

黄金律:常にコア0とそのペアとなるスレッド(ハイパースレッディング)をUnraid用に残しておくこと。例えば、i5-12400(6コア/12スレッド)の場合、コア0とコア6をシステム用に確保し、残りのコアをVMに割り当てます。これにより、パリティの書き込み処理などが中断されず、映画の視聴やファイルアクセス時のラグを防ぐことができます。

2. RAM:Dynamic(動的)モードは使用しない

RAM設定画面には、Initial MemoryMax Memoryの2つの項目があります。これら2つの数値を同じに設定することを強くお勧めします。KVMにRAMの自動伸縮(バルーニング)を任せると、Windows 10/11でブルースクリーン(BSOD)やフリーズが頻発する原因になります。

3. Driver VirtIO – システムの「潤滑油」

VirtIOドライバーがないと、Windowsは仮想ハードディスクを認識できなかったり、ネットワークカードを認識できなかったりします。Unraidの設定メニューには、VirtIOのISOをダウンロードするボタンが組み込まれています。最新バージョンを選択して、10Gbpsのネットワーク速度と最適なディスク読み書き速度を実現しましょう。

応用編:GPUパススルーでVMをゲーミングPCに変える

グラフィックボードを直接VMにパススルーすることで、Unraidを自宅用クラウドゲーミングマシンに変えることができます。この場合、仮想マシンは物理マシンと比較してほぼ100%に近いパフォーマンスを発揮します。

デバイスの分離 (VFIO-PCI)

起動時にUnraidがGPUを占有するのを防ぐ必要があります。Tools > System Devicesにアクセスし、GPUと付属のオーディオデバイスにチェックを入れ、Bind selected to VFIO at bootを選択して再起動します。

仮想化環境で動作しているためにソフトウェアがカードを認識できない場合は、XMLを少し修正する必要があります。<kvm>セクションを探し、アンチチート対策として「匿名化」するためのhidden state='on'行を追加します。

<features>
  <hyperv>
    <vendor_id state='on' value='1234567890ab'/>
  </hyperv>
  <kvm>
    <hidden state='on'/>
  </kvm>
</features>

「痛い目」に遭わないための実践的な経験則

vDiskは常にSSDキャッシュ上に配置する

仮想マシンのハードディスクファイル(.img)を、従来のHDDアレイ上に置くのは絶対にやめましょう。HDDのランダム読み書き速度は非常に遅いため、Windowsの起動に数分かかってしまいます。SSDキャッシュ上に配置すれば、Windowsの起動はわずか8〜12秒程度です。その差は歴然です。

バックアップ戦略

UnraidにはProxmoxのようなクイックなスナップショット機能はありません。安全のために、Community ApplicationsからVM Backupプラグインをインストールしましょう。私は通常、毎週日曜日の午前2時にXML設定ファイルとvDiskのバックアップをスケジュールしています。設定をいじってVMが壊れても、5分で元の状態に復旧できます。

仮想マシンがフリーズした場合の対処法

時々Webインターフェースがフリーズし、仮想マシンをシャットダウンできなくなることがあります。その場合は、UnraidにSSHでログインし、コマンドラインから強制終了を行います。

# 実行中の仮想マシン一覧を表示
virsh list --all

# 強制終了(電源プラグを抜くのと同様)
virsh destroy "仮想マシン名"

まとめ

Unraidは企業管理の面ではESXiほどプロフェッショナルではないかもしれませんが、「オールインワン」デバイスを求める個人ユーザーにとっては間違いなくナンバーワンの選択肢です。ストレージ用のNASと作業用の仮想マシンを一つのハードウェアに統合することで、電気代とスペースを大幅に節約できます。古いPCを活用して、多機能サーバーを自作する楽しさをぜひ体験してみてください!

Share: