Ubuntu 24.04 のトラブルシューティング¶
Linuxカーネルをアップグレード後にRAID障害が発生する¶
IOMMUを有効にしている環境で、Linuxカーネルを 6.8.0-134 へアップグレード後に、RAID障害が発生する事象を確認しています。
回避策としては、IOMMUを無効にするか、Linuxカーネルを 6.8.0-136 にアップグレードしてください。
回避策中には記載しておりませんが、ファイルの編集前には念のためにバックアップを取得してください。
IOMMUを無効にする場合¶
IOMMUを有効にする必要が無い場合は、以下の手順でIOMMUを無効にすることで回避可能です。
1. 現在のカーネルバージョンを確認する
現在のカーネルバージョンを確認する¶
# uname -a
# uname -r
2. dmesg コマンドで IOMMU が有効になっているか確認する
以下のような表示が出力される場合は、IOMMU が有効になっています。¶
# sudo dmesg | grep -i iommu | head -20
[ 8.621303] DMAR-IR: IOAPIC id 8 under DRHD base 0x9d3fc000 IOMMU 19
[ 22.491040] iommu: Default domain type: Translated
[ 22.491040] iommu: DMA domain TLB invalidation policy: lazy mode
[ 22.582771] DMAR: IOMMU feature prs inconsistent
[ 22.582774] DMAR: IOMMU feature prs inconsistent
[ 22.582777] DMAR: IOMMU feature prs inconsistent
[ 22.582779] DMAR: IOMMU feature prs inconsistent
[ 22.582781] DMAR: IOMMU feature prs inconsistent
[ 22.582783] DMAR: IOMMU feature prs inconsistent
[ 22.582785] DMAR: IOMMU feature prs inconsistent
[ 22.582787] DMAR: IOMMU feature prs inconsistent
[ 22.582788] DMAR: IOMMU feature prs inconsistent
[ 22.582790] DMAR: IOMMU feature prs inconsistent
[ 22.582792] DMAR: IOMMU feature prs inconsistent
[ 22.582794] DMAR: IOMMU feature prs inconsistent
[ 22.584920] pci 0000:79:00.4: Adding to iommu group 0
[ 22.586637] pci 0000:74:00.4: Adding to iommu group 1
[ 22.588301] pci 0000:6f:00.4: Adding to iommu group 2
[ 22.589933] pci 0000:6a:00.4: Adding to iommu group 3
[ 22.590052] pci 0000:6a:01.0: Adding to iommu group 4
3. /etc/default/grub を編集し、IOMMUを無効にする
/etc/default/grub を編集する¶
# sudo vi /etc/default/grub
「intel_iommu=off」を追記する場合の例です。既に「intel_iommu=on」が記載されている場合は、追記ではなく「on」を「off」に変更してください。¶
編集前
編集前の設定値は例となります。実際の設定値は環境により異なります
GRUB_CMDLINE_LINUX="noresume"
編集後
既存の設定値に追記する場合は、スペースで区切って追記してください
GRUB_CMDLINE_LINUX="noresume intel_iommu=off"
4. GRUBの設定ファイルを再生成し再起動を行う
GRUBの設定ファイルを再生成し再起動を行う¶
# sudo update-grub
# sudo reboot
5. dmesg コマンドで IOMMU が無効になっているか確認する
以下のような表示が出力される場合は、IOMMU が無効になっています。¶
# sudo dmesg | grep -i iommu
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-134-generic root=UUID=c47e91b1-62d7-42af-a3c2-3f3487ce5838 ro noresume intel_iommu=off nosplash consoleblank=0 intel_idle.max_cstate=0 processor.max_cstate=0
[ 4.641397] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-134-generic root=UUID=c47e91b1-62d7-42af-a3c2-3f3487ce5838 ro noresume intel_iommu=off nosplash consoleblank=0 intel_idle.max_cstate=0 processor.max_cstate=0
[ 4.641466] DMAR: IOMMU disabled
[ 8.478991] DMAR-IR: IOAPIC id 8 under DRHD base 0x9d3fc000 IOMMU 19
[ 22.029607] iommu: Default domain type: Translated
[ 22.029607] iommu: DMA domain TLB invalidation policy: lazy mode
Linuxカーネルをアップグレードする場合¶
IOMMUを有効にする必要がある場合は、Linuxカーネルを 6.8.0-136 にアップグレードすることで回避可能です。 Linuxカーネルを 6.8.0-124 へダウングレードし暫定回避されていた場合は、以下の手順を実施してください。 Linuxカーネルが 6.8.0-134 の場合は作業中にエラーが発生しないように、「IOMMUを無効にする場合」の手順1~5を先に実施してから、以下の手順を実施してください。
1. 現在のカーネルバージョンを確認する
現在のカーネルバージョンを確認する¶
# uname -a
# uname -r
2. アップグレードするLinuxカーネルをインストールする
アップグレードするLinuxカーネルをインストールする¶
# sudo apt update
# sudo apt-get upgrade linux-image-generic
3. /etc/default/grub を編集し、IOMMUを有効にし、起動するLinuxカーネルを変更する
/etc/default/grub を編集する¶
# sudo vi /etc/default/grub
IOMMUを有効にし、起動するLinuxカーネルを変更する場合の例です。既に「intel_iommu=off」が記載されている場合は削除してください。¶
編集前
編集前の設定値は例となります。実際の設定値は環境により異なります
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-124-generic"
GRUB_CMDLINE_LINUX="noresume intel_iommu=off"
編集後
設定値は例となります。お客様環境に合わせて変更してください。
GRUB_DEFAULT=0
GRUB_CMDLINE_LINUX="noresume"
4. GRUBの設定ファイルを再生成し再起動を行う
GRUBの設定ファイルを再生成し再起動を行う¶
# sudo update-grub
# sudo reboot
5. dmesg コマンドで IOMMU が有効になっているか確認する
以下のような表示が出力される場合は、IOMMU が有効になっています。¶
# sudo dmesg | grep -i iommu | head -20
[ 8.621303] DMAR-IR: IOAPIC id 8 under DRHD base 0x9d3fc000 IOMMU 19
[ 22.491040] iommu: Default domain type: Translated
[ 22.491040] iommu: DMA domain TLB invalidation policy: lazy mode
[ 22.582771] DMAR: IOMMU feature prs inconsistent
[ 22.582774] DMAR: IOMMU feature prs inconsistent
[ 22.582777] DMAR: IOMMU feature prs inconsistent
[ 22.582779] DMAR: IOMMU feature prs inconsistent
[ 22.582781] DMAR: IOMMU feature prs inconsistent
[ 22.582783] DMAR: IOMMU feature prs inconsistent
[ 22.582785] DMAR: IOMMU feature prs inconsistent
[ 22.582787] DMAR: IOMMU feature prs inconsistent
[ 22.582788] DMAR: IOMMU feature prs inconsistent
[ 22.582790] DMAR: IOMMU feature prs inconsistent
[ 22.582792] DMAR: IOMMU feature prs inconsistent
[ 22.582794] DMAR: IOMMU feature prs inconsistent
[ 22.584920] pci 0000:79:00.4: Adding to iommu group 0
[ 22.586637] pci 0000:74:00.4: Adding to iommu group 1
[ 22.588301] pci 0000:6f:00.4: Adding to iommu group 2
[ 22.589933] pci 0000:6a:00.4: Adding to iommu group 3
[ 22.590052] pci 0000:6a:01.0: Adding to iommu group 4
6. アップグレード後のカーネルバージョンを確認する
カーネルバージョンを確認する¶
# uname -a
# uname -r