文書番号: 000225721
概要
PCI1318 A fatal error was detected on a component at bus arg1 device arg2 function arg3.
例:A fatal error was detected on a component at bus 59 device 0 function 0.
PCI1360 A bus fatal error was detected on a component at slot arg1.
例:A bus fatal error was detected on a component at slot 1.
"bus arg1 device arg2 function arg3"の部分についてはBusアドレスと呼ばれるもので、多くの場合においてそれと対になっているPCI Slotの番号が存在します。
以降PCI Bus Fatal Errorに関する基礎的な知識と、発生要因や基本的な対処方法について説明します。
PCI Busアドレスのツリー構造について
BusアドレスとPCI Slotのデバイスの関係はツリー構造になっています。
Windowsを例としてその構造を説明すると、デバイスマネージャーより"表示"メニューから"デバイス(接続別)"を見ることで、システム上のBusアドレスとPCI Slotのルートを確認することができます
コンピューター名
|_ACPI x64ベースPC
|_Microsoft ACPI-Compliant System
|_PCI Express ルートコンプレックス
|_Intel Xeon processor P family/Core i7 PCI Express Root Port A - 2030 ・・・①
|_標準SATA AHCI コントローラー(注:iDRAC上ではBOSS Adapterと認識しています) ・・・②
上記のツリーからPCIのBusアドレスが振られているのはおおむね下位の2つのデバイスです。
①②のデバイスについて、右クリックしてプロパティを開くと"場所"にBusアドレスが記載されています。
ここでは、どちらもPCIのSlot番号まで記載されていますが、上位のデバイス(①)についてはPCIスロット情報の記載がない場合もあります。
![]() ①bus 58 device 0 function 0 |
![]() ②bus 59 device 0 function 0 |
PCI1318のイベントについては、必ずしも対象となる全てのデバイスで発生するとは限らず、"bus 58 device 0 function 0"のみの記録であったり、"bus 59 device 0 function 0"のみ記録される場合もあります。
"bus 59 device 0 function 0"については"標準SATA AHCIコントローラー"と対象のデバイスの特定ができている状態です。
"bus 58 device 0 function 0"については、"Intel Xeon processor P family/Core i7 PCI Express Root Port A"が対象となりますが、本デバイスはその下位にいるデバイスの中間に位置していることが上記のツリー構造の表記から確認できます。
"bus 59 device 0 function 0"に問題が発生した場合、その中間に位置する"bus 58 device 0 function 0"だけにErrorを検出する場合もあります。
![]() その他のOSも含む |
-> |
![]() "bus 58 device 0 function 0" |
-> |
![]() "bus 59 device 0 function 0" |
PCIのBusアドレスでErrorが発生場合は"OSから同一ツリー上においてBusアドレス上の最下位に位置するデバイスに至る経路"で、不正や例外処理が発生している、と判断することになります。
問題の対象箇所はOS上の処理も含まれます。
メモ:上記はWindows製品として例示しましたが、Linux OSにおいてもlspci -tv
のコマンドで同様のツリー情報を確認することができます。
Linuxの出力例:
lspci -tv +-[0000:3a]-+-00.0-[3b]--+-00.0 Broadcom Inc. and subsidiaries BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller | | \-00.1 Broadcom Inc. and subsidiaries BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller | +-02.0-[3c]----00.0 Broadcom / LSI MegaRAID SAS-3 3108 [Invader]
3a:02:0の配下に3c:00:0のデバイスが存在する、という意味になります。
Linuxでは16進数で値が表現されます。iDRACでは10進数(0ベース)の値で表現されるため、以下の値に読み替えます。
iDRAC Lifecycle ログ
PCI1318 A fatal error was detected on a component at bus 58 device 2 function 0. PCI1318 A fatal error was detected on a component at bus 60 device 0 function 0.
PCIeのエラーの種類について
PCI Expressのエラーは、修正可能エラーと修正不能エラーに大別され、修正不能なエラーは深刻度によって分類されます。
PCI上に何らかの理由で不正や例外な処理が起きた場合、PCI上でエラー訂正/修正が試みられます。
多くはアプリケーション、ファームウェア、ドライバーの動作不良により引き起こされます。
修正可能なエラー(CorrectableまたはParity Error)
パフォーマンス(速度や帯域幅)に影響はあるかもしれませんが、データ損失はなく、PCIeは問題なく動作を続けるエラーです。
ハードウェアによって自動的に修正されます。
修正不可能な軽度なエラー(Uncorrectable Non-fatal error)
データが損失しますが、PCIe自体は問題なく動作を続けるエラーです。
ハードウェアでは修正できませんがPCIeの仕組み上、他のデータ転送には影響しません。
ソフトウェアで回復できる場合とできない場合があります。
修正不可能な深刻なエラー(Uncorrectable fatal error)
PCI Express自体が動作しなくなる深刻なエラーです。データも損失します。
回復するには、エラーが発生したパーツや接続部分をリセットする必要があります。
本稿はFatal Errorの説明のため"3"が該当します。
OSから対象のデバイス間のデータ伝送において、データパケットの破損、リンク設定エラー、プロトコルエラー、受信バッファオーバーフロー、フロー制御エラーといった問題が生じた場合、Fatal Errorが記録されます。
Fatal Errorが発生した場合の影響
前項に記述した通り、伝送されたデータが損失するためOSから実行をしていた処理自体が完了しないという動きです。
またFatal Errorが発生した場合、システムがHALTするため強制的に再起動されます。
強制的な再起動についてはシステムの停止状態から稼働再開することも目的としています。
また再起動するとシステムはPOST(Power On Self Test)を実行します。
POSTはOSを起動しても問題ない状態かデバイスの状態をチェックする動きです。
PCIのデバイスのいずれかに物理的な問題の発生が疑われる場合POST途中で"UEFI0066"、"UEFI0067"のイベント、"A PCIe link training failure"が表示され起動プロセスが停止します。
本イベントが発生した場合でも電源を停止し、対象のデバイスを抜き挿しすることで次回はPOST通過しOSが正常に起動する状態に変化することもありますが、速やかに弊社テクニカルサポートまでご連絡ください。
注意:
POST停止については"UEFI0077"、"UEFI0078"のように"UEFI0066"、"UEFI0067"とは別なイベントが発生することがあります。
UEFI0077 One or more PCIe device errors occurred in the previous boot.
UEFI0078 One or more Machine Check errors occurred in the previous boot.
こちらのイベントについては"UEFI0066"、"UEFI0067"のイベントとは異なり、イベントそのものに物理障害の発生を疑う意味はありません。
上記画像にもあるように、System Event Logの確認とFirmwareを更新するよう促すメッセージが記載されています。
また"Available Actions"のメニューにある"F1 to Continue and Retry Boot Order"に従い、キーボードからF1キーを押すことによりOSが正常起動する可能性があります。
上記のように"Available Actions"のメニューが表示された場合は速やかにF1キーを入力しOSが起動できるかご確認ください。
対処方法について
PCI Fatal Errorの多くは物理的にデバイスが故障している訳ではなく、OSから対象デバイス間のデータ伝送上の異常により生じることがほとんどです。
POST停止かつF1キーを入力してもOSが起動できない場合は対象のパーツの交換が必要とされますが、OSが正常に起動している場合は下記リファレンスガイドの推奨アクションに準じた対処を行って下さい。
Event and Error Message Reference Guide For Dell PowerEdge Servers Version 2.0
https://i.dell.com/qrl/Files/en-us/html/Common/EEMI_Guide.pdf
"PCI1318"、"PCI1360"ともに推奨されるアクションについては共通している内容です。
以下はRecommended Response Actionを邦訳した記述です。
以下の手順をお試しください 以下の手順の1つまたはすべてを実行します
|
"PCIeのエラーの種類について"の項目でも述べたように、PCIのFatal Errorについては多くの場合でアプリケーション、ファームウェア、ドライバーの動作不良にて引き起こされるため、BIOSやiDRAC、デバイスのFirmwareの更新やデバイスドライバの更新が順序的に優先して実施することが推奨されています。
またOS側での例外や不正の処理にて引き起こされる場合もあるため"7"の項目においてOS側のパッチやホットフィックスの適用も推奨されています。
"3"、"4"、"5"、"6"の項目について、すでにOSが正常に起動している状態においては実施することの有用性はないため、OSが起動できていない場合にお試し下さい。
まとめ
PCI Fatal Errorの発生要因例
PCI Fatal Errorの発生は物理的な故障と見られやすいですが、物理的な故障は上記の様に発生要因のひとつの要素に留まります。
強制的な再起動が行われた後にOSが正常起動できる場合、物理的に対象デバイスが壊れているというよりは他の要因に依存して発生した可能性の方が有力です。
また発生頻度が年に1度程度、といった場合にも物理的に対象デバイスが壊れているにしては間隔が広すぎます。
同イベントでの強制再起動が数時間や毎日といった頻度で起こるような場合を除き、各種FirmwareのUpdateやデバイスドライバを更新した方が有効性が高い問題と言えます。
いずれにしても"PCI1318"、"PCI1360"が発生した場合には弊社テクニカルサポートまでご連絡ください。
その際はiDRACよりSupport Assistログを事前に取得していただくことをお勧めいたします。
iDRAC9を使用してSupportAssistコレクションをエクスポートする方法
https://www.dell.com/support/kbdoc/ja-jp/000126308/
iDRAC7およびiDRAC8を介したSupportAssistコレクションのエクスポート
https://www.dell.com/support/kbdoc/ja-jp/000126803/
PowerEdge, C Series, HS Series, Modular Infrastructure, Rack Servers, Tower Servers, XE Servers, XR Servers, NX Series, Precision 7920 Rack, Precision Rack 7910, Precision 7960 Rack
Workstations
09 7月 2024
3
How To