📑

Proxmox上のAlmaLinuxでGUI環境を構築するガイド

に公開

Proxmox上のAlmaLinuxでGUI環境を構築するガイド

はじめに

Intel NUCにProxmoxをインストールし、AlmaLinux仮想マシンでGUI環境を構築するまでの手順を詳しく解説します。ネットワーク設定のトラブルシューティングからGPU Passthroughの試行まで、実際に遭遇した問題と解決方法を含めた実践的なガイドです。

環境

  • ハードウェア: Intel NUC (Comet Lake-U GT2搭載)
  • ホストOS: Proxmox VE 9.1.1
  • ゲストOS: AlmaLinux 10.1
  • クライアント: Mac (Wi-Fi接続)

1. ネットワーク設定の修正

問題: MacからProxmoxにpingが通らない

初期状態では、ProxmoxのIPが192.168.100.2/24に設定されていましたが、ルーターのネットワークは192.168.11.0/24でした。

サブネットの確認

# Macで確認
ifconfig | grep "inet "
# 出力: inet 192.168.11.10 netmask 0xffffff00

Proxmoxのネットワーク設定変更

Intel NUCに直接モニターとキーボードを接続し、以下を実行:

# ネットワーク設定ファイルを編集
nano /etc/network/interfaces

vmbr0の設定を修正:

auto vmbr0
iface vmbr0 inet static
    address 192.168.11.22/24
    gateway 192.168.11.1
    bridge-ports enp0s1  # 実際の物理NIC名に合わせる
    bridge-stp off
    bridge-fd 0

設定を適用:

systemctl restart networking

これで https://192.168.11.22:8006 でProxmox Web UIにアクセスできるようになります。

2. AlmaLinux仮想マシンの作成

ISOイメージのダウンロード

Proxmox Web UIで:

  1. DatacenterlocalISOイメージ
  2. URLからダウンロード
  3. URL: https://repo.almalinux.org/almalinux/10/isos/x86_64/AlmaLinux-10-latest-x86_64-dvd.iso

仮想マシンの作成

「VMを作成」をクリックし、以下の設定:

項目 設定値
VM ID 100
名前 alma10-masaya
ISOイメージ AlmaLinux-10-latest-x86_64-dvd.iso
ゲストOS Linux 6.x
ディスク 32GB (用途に応じて)
CPU 2-4コア
メモリ 4096MB
ネットワーク vmbr0, VirtIO

AlmaLinuxのインストール

  1. VMを起動してコンソールを開く
  2. 「Install AlmaLinux 10」を選択
  3. 基本設定:
    • ネットワーク: ONに設定
    • インストール先: 自動パーティショニング
    • ソフトウェア: 最小限のインストール
    • rootパスワードとユーザーを設定

3. GPU Passthrough への挑戦

モニターに直接VM画面を表示するため、GPU Passthroughを試みました。

3-1. IOMMUの有効化確認

# Proxmoxホストで確認
dmesg | grep -e DMAR -e IOMMU

期待される出力:

[    0.053217] DMAR: IOMMU enabled

3-2. VFIOモジュールの設定

# GPUデバイスIDの確認
lspci -nn | grep VGA
# 出力例: 00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-U GT2 [UHD Graphics] [8086:9b41]

VFIOモジュールを追加:

nano /etc/modules

以下を追加:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

GPUをVFIOにバインド:

nano /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:9b41

Intel GPUドライバーをブラックリスト化:

nano /etc/modprobe.d/blacklist.conf
blacklist i915

設定を反映:

update-initramfs -u -k all
reboot

3-3. VFIOが有効か確認

lspci -nnk | grep -A 3 VGA

期待される出力:

Kernel driver in use: vfio-pci

3-4. VM設定の変更

VM設定ファイルを編集:

nano /etc/pve/qemu-server/100.conf

重要な設定項目:

bios: ovmf
cpu: host
machine: q35
hostpci0: 0000:00:02.0,pcie=1,x-vga=1
vga: none

完全な設定例:

bios: ovmf
boot: order=scsi0;ide2;net0
cores: 2
cpu: host
efidisk0: local-lvm:vm-100-disk-1,efitype=4m,size=4M
hostpci0: 0000:00:02.0,pcie=1,x-vga=1
ide2: local:iso/AlmaLinux-10.1-x86_64-minimal.iso,media=cdrom
machine: q35
memory: 8192
name: alma10-masaya
net0: virtio=XX:XX:XX:XX:XX:XX,bridge=vmbr0,firewall=1
scsi0: local-lvm:vm-100-disk-0,iothread=1,size=96G
scsihw: virtio-scsi-single
sockets: 1
vga: none

VMを起動:

qm start 100

4. トラブルシューティング

エラー: CPU does not support x86-64-v3

原因: CPUタイプの設定ミス

解決策:

nano /etc/pve/qemu-server/100.conf

以下を変更:

cpu: x86-64-v2-AES  # 変更前

cpu: host  # 変更後

エラー: q35 machine model is not enabled

原因: PCI Passthroughにはq35マシンタイプが必要

解決策:

Web UIで: HardwareMachineq35 に変更

または設定ファイルで:

machine: i440fx  # 変更前

machine: q35  # 変更後

5. GUIデスクトップ環境のインストール

GPU Passthroughが成功すると、モニターに localhost login プロンプトが表示されます。この時点ではまだテキストモードなので、GUIをインストールします。

ログイン

モニターに接続したキーボードで、rootまたはインストール時に作成したユーザーでログインします。

localhost login: root
Password: ********

ネットワークの確認

# IPアドレスの確認
ip addr show

# インターネット接続の確認
ping -c 3 8.8.8.8

GNOMEデスクトップのインストール

# システムのアップデート
dnf update -y

# GNOMEデスクトップ環境をインストール
dnf groupinstall -y "Server with GUI"

# デフォルトターゲットをGUIに変更
systemctl set-default graphical.target

# 再起動
reboot

再起動後

モニターにグラフィカルなログイン画面が表示されます!

6. 代替案: VirtIO-GPU + リモート接続

GPU Passthroughが複雑すぎる場合や、Proxmoxホストも使いたい場合は、この方法がおすすめです。

VM設定の変更

nano /etc/pve/qemu-server/100.conf

以下のように変更:

# hostpci0の行を削除またはコメントアウト
# hostpci0: 0000:00:02.0,pcie=1,x-vga=1

# vgaを変更
vga: virtio

Proxmox Web UIのコンソールから操作

  1. VM → Console タブを開く
  2. GUIがブラウザ内に表示される
  3. Macから直接操作可能

xrdpでリモートデスクトップ接続

より快適に操作するには、xrdpをインストール:

# EPELリポジトリを有効化
dnf install -y epel-release

# xrdpをインストール
dnf install -y xrdp

# xrdpを起動
systemctl enable --now xrdp

# ファイアウォールを開放
firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload

MacからMicrosoft Remote Desktopアプリで接続:

  • アドレス: 192.168.11.100:3389

まとめ

成功した構成

  • ネットワーク: 192.168.11.0/24に統一
  • VM設定: OVMF BIOS、q35マシンタイプ、CPU: host
  • GPU Passthrough: vfio-pciでIntel UHD Graphicsをバインド
  • GUI: GNOME Desktop環境

学んだこと

  1. サブネットの統一が重要: ProxmoxとクライアントのIPレンジは合わせる必要がある
  2. GPU Passthroughの要件:
    • IOMMUの有効化
    • VFIOモジュールの設定
    • OVMF BIOS + q35マシンタイプ
    • CPU typeはhostに設定
  3. 代替案も検討: VirtIO-GPU + リモート接続の方が簡単で実用的な場合も多い

トラブルシューティングのポイント

  • dmesg | grep IOMMU でIOMMUの状態確認
  • lspci -nnk でドライバーのバインド状態確認
  • CPU設定は host が最も互換性が高い
  • エラーログは /var/log/syslogjournalctl で確認

参考資料

おわりに

Proxmox上でのGPU Passthroughは設定が複雑ですが、成功すればネイティブに近いパフォーマンスでGUIアプリケーションを使用できます。用途によってはVirtIO-GPU + リモート接続の方が実用的な場合もあるので、目的に応じて選択してください。

この記事が同じような環境でProxmoxとAlmaLinuxを使いたい方の参考になれば幸いです!

Discussion