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で:
- Datacenter → local → ISOイメージ
- URLからダウンロード
- 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のインストール
- VMを起動してコンソールを開く
- 「Install AlmaLinux 10」を選択
- 基本設定:
- ネットワーク: 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で: Hardware → Machine → q35 に変更
または設定ファイルで:
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のコンソールから操作
- VM → Console タブを開く
- GUIがブラウザ内に表示される
- 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環境
学んだこと
- サブネットの統一が重要: ProxmoxとクライアントのIPレンジは合わせる必要がある
-
GPU Passthroughの要件:
- IOMMUの有効化
- VFIOモジュールの設定
- OVMF BIOS + q35マシンタイプ
- CPU typeはhostに設定
- 代替案も検討: VirtIO-GPU + リモート接続の方が簡単で実用的な場合も多い
トラブルシューティングのポイント
-
dmesg | grep IOMMUでIOMMUの状態確認 -
lspci -nnkでドライバーのバインド状態確認 - CPU設定は
hostが最も互換性が高い - エラーログは
/var/log/syslogとjournalctlで確認
参考資料
おわりに
Proxmox上でのGPU Passthroughは設定が複雑ですが、成功すればネイティブに近いパフォーマンスでGUIアプリケーションを使用できます。用途によってはVirtIO-GPU + リモート接続の方が実用的な場合もあるので、目的に応じて選択してください。
この記事が同じような環境でProxmoxとAlmaLinuxを使いたい方の参考になれば幸いです!
Discussion