i226 NIC用のDebian上でのProxmox VEの実行
1. 解決策の概要
この解決策は、ZimaBoard 2プラットフォームでIntel i226シリーズNICを使用したProxmox VE仮想化環境の展開に関するものです。目標は、高バージョンLinuxカーネルにおけるPCIe ASPM電力管理によって引き起こされるNICドライバのNULLポインタ逆参照問題を解決し、カーネルパニックやシステムの応答なしを回避することです。
- ハードウェアプラットフォーム: ZimaBoard 2
- ソフトウェアバージョン: Debian 12.8.0
- ネットワーク環境: プロセス全体で有線接続を使用することを推奨します。ルーターのサブネット情報(このガイドのサブネット例:
10.0.0.1/16)を準備してください。 - 核心目的: i226 NICの高バージョンLinuxカーネルにおけるASPM電力管理の競合およびカーネルパニック(Kernel Panic)の問題を解決し、安定した仮想化環境を構築すること。
- 前提知識: PCIe ASPM(特にL1サブステート)がIntel i226-V NICで有効になると、物理リンクのアップ/ダウンイベント、ドライバのリロード、またはリンクの再交渉時にigcドライバでNULLポインタ逆参照が発生することがあり、これがカーネルパニックやシステムのフリーズを引き起こします。この解決策は、「Debianベース+PVEカーネル」の展開モデルを採用しており、Proxmoxカーネルを導入する前に電力管理とファームウェア環境を調整し、高いハードウェア互換性とチューニングの柔軟性を実現します。
主な操作手順
- Debian 12.8のインストール: ネットワークインストールISOを使用し、ディスク全体を使用してUEFIブートを行います。
- ASPMの無効化:
/etc/default/grubを編集し、GRUB_CMDLINE_LINUX_DEFAULTにpcie_aspm=offを追加し、update-grubを実行して再起動します。 - 基本設定: 国内ミラーに切り替え、
firmware-intel-miscをインストール。IP設定を一時的に構成し、接続テストを行います。 - Proxmoxの準備:
/etc/hostsを設定し、Proxmoxのno-subscriptionリポジトリとGPGキーを追加します。 - Proxmoxのインストール:
apt install proxmox-ve postfix open-iscsiを実行。pve-firmwareとの競合があれば、dpkg --force-overwriteを使って強制インストールし、apt install -fで依存関係を修正します。 - ブリッジネットワークの設定:
/etc/network/interfacesを編集し、物理NIC(例:enp1s0)をブリッジvmbr0に追加、静的IPとゲートウェイを設定してネットワークを再起動します。 - アクセスの確認: 再起動後、
https://<IP>:8006にアクセスします。
2. 操作手順
以下のコマンドは、Debianシステムでrootまたはsudo権限で実行されます。
2.1 Debianのインストールと作成
ベースシステムの安定性と制御性を確保するため、この解決策ではDebian 12.8を基盤として使用します。
ソフトウェアリソースのダウンロード
ブータブルUSBドライブの作成
- 少なくとも8GBのUSBドライブを挿入します。
- balenaEtcherを開き、USBドライブをターゲットデバイスとして選択します。
- 「ファイルからフラッシュ」をクリックし、ダウンロードした
debian-12.8.0-amd64-netinst.isoを選択します。ソフトウェアが自動的にディスクを選択します。 - 「フラッシュ!」をクリックして完了まで待ち、USBドライブを安全に取り外します。
BIOSブート
- 準備したUSBドライブをZimaBoardのUSBポートに挿入します。
- 電源を入れ、F11キーを繰り返し押します(一部の機種ではESCまたはDeleteキーを使用する場合もありますが、ZimaBoard 2はデフォルトでF11です)。
- ブートメニューで、「UEFI」と名前に付いたUSBドライブエントリを選択します。
インストール手順の概要
Debianの青いウェルカム画面に入った後、以下のガイドラインに従ってください:- インストールモード: グラフィカルインストールを選択することを推奨します(初心者に最も使いやすい)。
- 言語と地域: 「英語」または好ましい言語を選択し、キーボードは「アメリカ英語」を選択します。
- ディスクのパーティション設定: 「ディスク全体を使用」を選択し、ZimaBoard内蔵のeMMCまたはインストールしたSSDを選択、その後「すべてのファイルを1つのパーティションに」としてパーティションスキームを設定します。
2.2 クリーンDebianシステムでのNICのデバッグ
PCIe高度電力管理(ASPM)の無効化
nano /etc/default/grub
以下の行を変更します:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on iommu=pt pcie_aspm=off"
保存して終了後、GRUBを更新して再起動します:
update-grub
reboot安定したDNSサーバーへの切り替え(仮)
nano /etc/resolv.conf
以下を追加します:
nameserver 223.5.5.5
nameserver 114.114.114.114ファームウェアのインストール
# キャッシュをクリア
rm -rf /var/lib/apt/lists/*
# 更新してIntel NICファームウェアをインストール
apt update
apt install firmware-intel-misc -yNICインターフェースの仮設定
この例では、インターフェース名はenp8s0、ルーターアドレスは10.0.0.1です。# 既存のIP設定をクリア
ip addr flush dev enp8s0
# インターフェースをダウン
ip link set enp8s0 down
# IPアドレスとゲートウェイを設定
ip addr add 10.0.1.100/16 dev enp8s0
ip route add default via 10.0.0.1
# インターフェースをアップ
ip link set enp8s0 up接続テスト
ping -I enp8s0 8.8.8.8
成功すれば、NICは正常に機能しています。
2.3 Proxmox VEカーネルのインストール
ホストファイルの設定
# ホスト名を確認(この例ではホスト名は"debian"です)
hostname
nano /etc/hostsファイルに以下を追加:
127.0.0.1 localhost
10.0.1.21 debian.proxmox.com debianProxmoxソフトウェアリポジトリの追加
# curlがない場合はインストール
apt update && apt install curl -y
# GPGキーを追加
curl -fSsL http://download.proxmox.com/debian/proxmox-release-bookworm.gpg -o /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# pve-no-subscription.listを編集
nano /etc/apt/sources.list.d/pve-no-subscription.list
# 以下を追加
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscriptionPVEカーネルとコアコンポーネントのインストール
# 更新してフルアップグレードを実行
apt update
apt full-upgrade -y
# Proxmox VEのコアパッケージをインストール
apt install proxmox-ve postfix open-iscsi -y- インストール中にPostfix設定ウィンドウが表示されたら、Tabキーで「ローカルのみ」を選択し続行。
前回インストールしたDebianファームウェアパッケージと
pve-firmwareが競合する可能性があります。上書きします:dpkg -i --force-overwrite /var/cache/apt/archives/pve-firmware_*.deb
# 残りの依存関係問題を修正し、必要であればコアパッケージを再インストール
apt install -f
apt install proxmox-veインストール後、再起動しカーネルバージョンを確認します:
reboot
# 再起動後
uname -a出力に
6.8.x-pveが表示されれば、インストールは成功です。
2.4 ネットワークの設定
proxmox-veをインストールすると、元のネットワーク管理ツールが削除され、Proxmoxのネットワークモデルが導入されます。そのため、メインインターフェースの手動設定が必要です。
インターフェースファイルを編集します:
nano /etc/network/interfaces |
物理NICがenp1s0で、静的IP10.0.1.21/16とゲートウェイ10.0.0.1を設定する場合、ファイルを以下のように変更します:
iface enp1s0 inet manual |
保存して終了し、ネットワークを再起動します:
systemctl restart networking |
2.5 検証とWebインターフェースアクセス
Webブラウザを開き、次のアドレスにアクセスします:
https://10.0.1.21:8006 |
「詳細設定」をクリックし、「10.0.1.21に進む(安全でない)」を選択後、Debianシステムのroot資格情報でログインします。Proxmox VEのWebインターフェースにアクセスできるはずです。
3. トラブルシューティング
Q: 公式のダウンロードソースが遅い、またはアクセスできない場合は?
- Debian: 公式ミラーリストを訪れ、自国または地域のミラーを選択し、チュートリアル内の
deb.debian.orgおよびsecurity.debian.orgをそのミラーのドメインに置き換えてください。 - Proxmox: Proxmoxには公式ミラーリストはありませんが、よく知られたサードパーティのミラーを使用するか、「proxmox mirror」を検索してミラーアドレスを探してください。
ソースを更新した後、apt updateを実行して変更を適用します。