Solaris 7 のシステム管理 (追補)

x86: cfgadm コマンドによる PCI ホットプラグ

cfgadm コマンドは Solaris 7 - 11/99 ソフトウェアリリースにおいて更新され、x86 システムでサポートされる PCI アダプタカードに対し PCI ホットプラグ機能を提供します。ここでの説明は、『Solaris のシステム管理 (第 1 巻)』の「デバイスの管理」で説明されているデバイスの管理に関する情報を補足するものです。

PCI アダプタカードのホットプラグ機能により、システムをリブートすることなく、実行中のシステムに PCI アダプタカードを追加したり削除したりする機能を提供します。

Sun の高可用性方針の一部であるこの機能は、代替パスを提供するというような付加的な階層化製品や、デバイスに障害が発生した場合フォルトトレランスを提供するフェイルオーバーソフトウェアなどと組み合わせて使用できるように設計されています。

高可用性ソフトウェアがない場合は、障害を起こしたデバイスを交換するときに、アプリケーションの停止、デバイスの構成解除、追加または削除操作をすべて手動で行うことになります。

x86: ホットプラグ機能をサポートするハードウェア

現在、PCI ホットプラグ機能は Intel プラットフォームでサポートされています。ホットプラグ機能をサポートする PCI ハードウェアのリストについては、『Solaris 7 (Intel Platform Edition) 11/99 Hardware Compatibility List』を参照してください。

x86: cfgadm コマンドによる PCI ホットプラグ

次の節では、いくつかのホットプラグ操作を説明し、PCI アダプタカードについてホットプラグを行う手順を説明します。

PCI アダプタカードの取り外し

接続されているシステムリソースがアクティブではない PCI アダプタカードは、デバイスドライバがホットプラグ機能をサポートする場合、取り外すことができます。

PCI アダプタカードがアクティブなシステムリソースになっている場合、取り外すことはできません。取り外せる PCI アダプタカードは次の条件を満たす必要があります。

たとえば、システムに Ethernet カードが 1 枚だけインストールされている場合は、ネットワーク接続を解除せずに Ethernet カードを取り外すことはできません。ネットワーク接続を維持しながら取り外すには、別の階層化ソフトウェアのサポートが必要です。

PCI アダプタカードを取り外す詳細な手順は、「x86: PCI アダプタカードを取り外すには」を参照してください。

PCI アダプタカードの取り付け

PCI アダプタカードは次の条件を満たすとき、システムに追加できます。

PCI アダプタカードを取り付ける詳細な手順は、「x86: PCI アダプタカードを追加するには」を参照してください。

次の例では、わかりやすくするため PCI アタッチメントポイントだけを示しています。実際のシステムに示されるアタッチメントポイントは、システム構成により異なります。

x86: PCI スロット構成情報を表示するには

cfgadm(1M) コマンドを使用すると、PCI ホットプラグ可能なデバイスとシステムのスロットの状態を表示できます。

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

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


    # cfgadm pci
    Ap_Id                          Receptacle   Occupant     Condition
    pci1:hpc0_slot0                empty        unconfigured unknown
    pci1:hpc0_slot1                empty        unconfigured ok
    pci1:hpc0_slot2                empty        unconfigured ok
    pci1:hpc0_slot3                connected    configured   ok
    pci1:hpc0_slot4                empty        unconfigured ok
    # 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_id である pci1:hpc0_slot0 は、そのホットプラグ可能スロット Slot 7 (このスロットの物理的な識別子) の論理 ap_id です。構成要素 hpc0 は、このスロットのホットプラグ可能アダプタカードを表し、pci1 は PCI バスインスタンスを表します。Type フィールドは、そのスロットにある PCI アダプタカードの種類を表します。

x86: PCI アダプタカードを取り外すには

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

  2. コントローラが入っているスロットを調べます。


    # cfgadm
    Ap_Id                         Receptacle  Occupant        Condition
    pci1:hpc0_slot0               empty       unconfigured    unknown
    pci1:hpc0_slot1               empty       unconfigured    unknown
    pci1:hpc0_slot2               empty       unconfigured    unknown
    pci1:hpc0_slot3               connected   configured      ok
    pci1:hpc0_slot4               empty       unconfigured    unknown      	
  3. デバイスを開いているアプリケーションを停止します。

    たとえば、これが Ethernet カードの場合は、ifconfig(1M) を使用してインタフェースを停止します。

  4. デバイスの構成を解除します。


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


    # cfgadm
    Ap_Id                         Receptacle  Occupant        Condition
    pci1:hpc0_slot0               empty       unconfigured    unknown
    pci1:hpc0_slot1               empty       unconfigured    unknown
    pci1:hpc0_slot2               empty       unconfigured    unknown
    pci1:hpc0_slot3               connected   unconfigured    unknown
    pci1:hpc0_slot4               empty       unconfigured    unknown      	
  6. スロットへの電源を切ります。


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


    # cfgadm
    Ap_Id                         Receptacle   Occupant       Condition
    pci1:hpc0_slot0               empty        unconfigured   unknown
    pci1:hpc0_slot1               empty        unconfigured   unknown
    pci1:hpc0_slot2               empty        unconfigured   unknown
    pci1:hpc0_slot3               disconnected unconfigured   unknown
    pci1:hpc0_slot4               empty        unconfigured   unknown 
  8. スロットラッチを開き、ボードを取り外します。

x86: PCI アダプタカードを追加するには

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

  2. ホットプラグ可能なスロットを確認し、ラッチを開きます。

  3. アダプタカードをホットプラグ可能なスロットに挿入します。

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


    # cfgadm
    Ap_Id                            Receptacle   Occupant       Condition
    pci1:hpc0_slot0                  empty        unconfigured   unknown
    pci1:hpc0_slot1                  empty        unconfigured   unknown
    pci1:hpc0_slot2                  empty        unconfigured   unknown
    pci1:hpc0_slot3                  disconnected unconfigured   unknown
    pci1:hpc0_slot4                  empty        unconfigured   unknown   
  5. スロットへの電源を入れます。


    # cfgadm -c connect pci1:hpc0_slot3
    
  6. スロットが接続されていることを確認します。


    # cfgadm
    Ap_Id                         Receptacle   Occupant       Condition
    pci1:hpc0_slot0               empty        unconfigured   unknown
    pci1:hpc0_slot1               empty        unconfigured   unknown
    pci1:hpc0_slot2               empty        unconfigured   unknown
    pci1:hpc0_slot3               connected    unconfigured   unknown
    pci1:hpc0_slot4               empty        unconfigured   unknown
  7. PCI ホットプラグ可能なアダプタカードを構成します。


    # cfgadm -c configure pci1:hpc0_slot3
    
  8. スロットに入っているアダプタカードの構成を確認します。


    # cfgadm pci1:hpc0_slot3
    Ap_Id                         Receptacle   Occupant       Condition
    pci1:hpc0_slot3               connected    configured     ok 
  9. 新しく追加したデバイスの場合は、サポートするソフトウェアを構成します。

    たとえば、これが Ethernet カードの場合は、ifconfig(1M) コマンドを使用してインタフェースを設定します。

x86: PCI 構成の問題の解決

エラーメッセージ

cfgadm: Configuration operation invalid: invalid transition
原因

無効な移行を実行しようとしました。

解決方法

cfgadm -c コマンドを正しく実行したかを確認してください。cfgadm を使用して、現在の受容体 (receptacle) と占有装置 (occupant) の状態を調べ、ap_id が正しいか確認してください。

エラーメッセージ

cfgadm: Attachment point not found
原因

指定したアタッチメントポイントが見つかりません。

解決方法

アタッチメントポイントが正しいかどうかを確認してください。cfgadm コマンドを使用して、使用可能なアタッチメントポイントのリストを表示します。また、アタッチメントポイントがまだその物理パスにあるかどうかも確認してください。


注 -

cfgadm コマンド以外にも、ホットプラグ操作に役立つコマンドがあります。prtconf(1M) コマンドでは、Solaris がハードウェアを認識するかどうかを確認します。ホットプラグ可能なアダプタカードの構成が正常に終わった後 prtconf コマンドを使用すると、新しいハードウェア用の特定の PCI バスインスタンスが prtconf 出力に表示されるかどうかを確認できます。prtconf 出力にはまた、新しいハードウェア用のドライバが接続されているかどうかも示されます。