Solaris のシステム管理 (デバイスとファイルシステム)

cfgadm コマンドによる PCI または PCIe ホットプラグ

この節では、SPARC および x86 システム上で PCI または PCIe アダプタカードのホットプラグを実行する手順について説明します。

ホットプラグ操作では、cfgadm コマンドに加えて、prtconf コマンドが便利です。prtconf コマンドはハードウェアに関連する追加の構成情報を表示します。

ハードウェアの追加後に prtconf コマンドを使用して、ハードウェアが正しく構成されているかどうかを確認します。たとえば、構成作業後に prtconf -D コマンドを使用して、新しくインストールしたハードウェアデバイスにドライバが設定されているかどうかを確認します。ハードウェアの構成の前にデバイスドライバがシステムに追加されていない場合、add_drv コマンドを使用して手動で追加された可能性があります。

詳細については、prtconf(1M)add_drv(1M) のマニュアルページを参照してください。

次の例では、簡潔にするため、PCI 接続点だけを表示しています。画面に表示される接続点はシステムによって異なります。

PCIe LED インジケータの動作

システムの LED インジケータを監視して、スロットのホットプラグ動作の状態を視覚的に把握できます。PCI Express の場合の LED の動作は、PCI Express の仕様で定義された動作と一致するか、そうでない場合は動作がプラットフォームに依存することがあります。

詳細は、ハードウェアマニュアルを参照してください。PCI Express の場合は、Attention ボタンが押されると電源インジケータが点滅し、状態遷移が始まったことを示します。状態遷移が終了すると、点滅が終了します。

ProcedurePCI スロット構成情報を表示する方法

この手順は、PCIe 構成情報を含めるように更新されました。

cfgadm コマンドは、システム上の PCI ホットプラグ対応デバイスとスロットの状態を表示します。詳細については、cfgadm(1m) のマニュアルページを参照してください。

  1. スーパーユーザーになります。

  2. PCI 構成情報を表示します。

    • PCI スロット構成情報を表示します。

      次に例を示します。


      # cfgadm
      Ap_Id                Type         Receptacle   Occupant     Condition
      pci1:hpc0_slot0      unknown      empty        unconfigured unknown
      pci1:hpc0_slot1      unknown      empty        unconfigured unknown
      pci1:hpc0_slot2      unknown      empty        unconfigured unknown
      pci1:hpc0_slot3      ethernet/hp  connected    configured   ok
      pci1:hpc0_slot4      unknown      empty        unconfigured unknown
    • 具体的な PCI デバイス情報を表示します。

      次に例を示します。


      # cfgadm -s "cols=ap_id:type:info" pci
      Ap_Id                Type         Information
      pci1:hpc0_slot0      unknown      Slot 7
      pci1:hpc0_slot1      unknown      Slot 8
      pci1:hpc0_slot2      unknown      Slot 9
      pci1:hpc0_slot3      ethernet/hp  Slot 10
      pci1:hpc0_slot4      unknown      Slot 11

      論理 Ap_Idpci1:hpc0_slot0 は、ホットプラグ対応のスロット Slot 7 の論理 Ap_Id です。構成要素 hpc0 はこのスロットのホットプラグ対応のアダプタカードを示し、pci1 は PCI バスのインスタンスを示します。Type フィールドは、スロット中の PCI アダプタカードのタイプを示します。

    • PCIe スロット構成情報を表示します。

      次に例を示します。


      # cfgadm pci
      Ap_Id                          Type         Receptacle   Occupant     Condition
      pcie1                          unknown      empty        unconfigured unknown
      pcie2                          unknown      empty        unconfigured unknown
      pcie3                          unknown      empty        unconfigured unknown
      pcie4                          etherne/hp   connected    configured   ok
      pcie5                          pci-pci/hp   connected    configured   ok
      pcie6                          unknown      disconnected unconfigured unknown
    • 具体的な PCIe デバイス情報を表示します。

      次に例を示します。


      # cfgadm -s "cols=ap_id:busy:o_state" pci
      Ap_Id                          Busy     Occupant
      pcie1                          n        unconfigured
      pcie2                          n        unconfigured
      pcie3                          n        unconfigured
      pcie4                          n        configured
      pcie5                          n        configured
      pcie6                          n        configured

      注 –

      ほとんどの場合、論理 Ap_Id は、システムのシャーシに貼られているスロットラベルと一致します。ハードウェアマニュアルでホットプラグ対応スロットの cfgadm の出力について参照してください。ホットプラグ操作を試す前に、Busy フィールドを表示して、 Ap_Id が別の状態に遷移していないことを確認できます。


ProcedurePCI アダプタカードを取り外す方法

PCIe アダプタカードを取り外す場合のために、次の手順が更新されました。ただし、アダプタカードを取り外す手順は、PCI と PCIe のどちらを使用するかに関係なく同じです。

  1. スーパーユーザーになります。

  2. PCI アダプタカードが入っているスロットを確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      empty        unconfigured unknown
    pcie4                          etherne/hp   connected    configured   ok
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown
  3. デバイスを開いているアプリケーションを停止します。

    たとえば、デバイスが Ethernet カードの場合、ifconfig コマンドでインタフェースを無効にしてからカードを引き抜きます。

  4. 下に示すように cfgadm(1M) コマンドを使用してデバイスを手動で構成解除します。または、PCIe アダプタカードを使用している場合は、自動構成方式を使用します。たとえば、ハードウェアマニュアルに従ってスロットの Attention ボタンを押します。


    # cfgadm -c unconfigure pcie4
    
  5. デバイスの構成が解除されていることを確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      empty        unconfigured unknown
    pcie4                          unknown      connected    unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown

    注 –

    デバイスが構成解除されると、 TypeCondition も unknown になります。


  6. スロットへの電源を手動で切り離します。自動構成方式を使用する場合は、この手順は不要です。詳細は、ハードウェアマニュアルを参照してください。


    # cfgadm -c disconnect pcie4
    
  7. デバイスが切り離されていることを確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      empty        unconfigured unknown
    pcie4                          unknown      disconnected unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown 
  8. プラットフォームのガイドの適切な手順に従って PCI アダプタカードを取り外します。カードを取り外すと、「Receptable」の状態が「empty」になります。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      empty        unconfigured unknown
    pcie4                          unknown      empty        unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown

    注 –

    プラットフォームの実装に応じて、ブート時に自動構成方式を有効または無効にすることができます。環境に適した自動構成方式を設定してください。


ProcedurePCI アダプタカードを取り付ける方法

PCIe アダプタカードを取り付ける場合のために、次の手順が更新されました。ただし、アダプタカードを追加する手順は、PCI と PCIe のどちらを使用するかに関係なく同じです。

  1. スーパーユーザーになります。

  2. ホットプラグ対応のスロットを確認して、ラッチを開きます。

    たとえば、pcie3 の場合は次のようになります。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      empty        unconfigured unknown
    pcie4                          unknown      empty        unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown 
  3. ハードウェアマニュアルの適切な手順に従って、PCI アダプタカードをスロットに挿入します。

  4. PCI アダプタカードを挿入した後に、どのスロットに PCI アダプタカードが入っているかを確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      disconnected unconfigured unknown
    pcie4                          unknown      empty        unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown 
  5. cfgadm コマンドを使用して、手動で電源をスロットに接続します。または、PCIe アダプタカードを使用している場合は、自動構成方式を使用します。たとえば、ハードウェアマニュアルに従ってスロットの Attention ボタンを押します。

    次に例を示します。


    # cfgadm -c connect pcie3
    
  6. 接続点が接続されていることを確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          unknown      connected    unconfigured unknown
    pcie4                          unknown      empty        unconfigured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown
  7. 下に示すように cfgadm コマンドを使用して PCI アダプタカードを手動で構成します。自動構成方式を使用する場合は、この手順は不要です。詳細は、ハードウェアマニュアルを参照してください。

    次に例を示します。


    # cfgadm -c configure pcie3
    
  8. スロット中の PCI アダプタカードの構成を確認します。

    次に例を示します。


    # cfgadm pci
    Ap_Id                          Type         Receptacle   Occupant     Condition
    pcie1                          unknown      empty        unconfigured unknown
    pcie2                          unknown      empty        unconfigured unknown
    pcie3                          etherne/hp   connected    configured unknown
    pcie5                          pci-pci/hp   connected    configured   ok
    pcie6                          unknown      disconnected unconfigured unknown
  9. 新しいデバイスの場合、サポートソフトウェアを構成します。

    たとえば、デバイスが Ethernet カードの場合、ifconfig コマンドでインタフェースを設定します。


    注 –

    プラットフォームの実装に応じて、ブート時に自動構成方式を有効または無効にすることができます。環境に適した自動構成方式を設定してください。


PCI 構成に関する問題の障害追跡

エラーメッセージ

cfgadm: Configuration operation invalid: invalid transition
エラーの発生原因

無効な移行を行いました。

解決方法

cfgadm -c コマンドが適切に発行されているかどうかを確認します。cfgadm コマンドで現在の受容体と占有装置の状態を確認し、Ap_id が正しいことを確認します。

エラーメッセージ

cfgadm: Attachment point not found
エラーの発生原因

指定した接続点は見つかりません。

解決方法

接続点が正しいかどうかを確認します。cfgadm コマンドを使用して、利用可能な接続点のリストを表示します。物理パスを調べて、まだ接続点があるかどうかも確認してください。