Solaris のシステム管理 (基本編)

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

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

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

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

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

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

  2. 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 アダプタカードのタイプを示します。

x86: PCI アダプタカードを取り外す方法

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

  2. 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
  3. デバイスを開いているアプリケーションを停止します。

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

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


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


    # 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    unconfigured unknown
    pci1:hpc0_slot4      unknown      empty        unconfigured unknown
  6. スロットへの電源を切り離します。


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


    # 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  disconnected unconfigured unknown
    pci1:hpc0_slot4      unknown      empty        unconfigured unknown
  8. スロットのラッチを開いて PCI アダプタカードを取り外します。

x86: PCI アダプタカードを取り付ける方法

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

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

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

  4. 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  disconnected unconfigured unknown
    pci1:hpc0_slot4      unknown      empty        unconfigured unknown
  5. スロットへの電源を接続します。


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


    # 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    unconfigured unknown
    pci1:hpc0_slot4      unknown      empty        unconfigured unknown
  7. PCI アダプタカードを構成します。


    # cfgadm -c configure pci1:hpc0_slot3
    
  8. スロット中の 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   unknown
    pci1:hpc0_slot4      unknown      empty        unconfigured unknown
  9. 新しいデバイスの場合、サポートソフトウェアを構成します。

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

x86: PCI 構成の障害対処

エラーメッセージ

cfgadm: Configuration operation invalid: invalid transition
原因

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

解決法

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

エラーメッセージ

cfgadm: Attachment point not found
原因

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

解決法

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


注 –

cfgadm コマンド以外にも、ホットプラグ処理中に便利なコマンドがいくつかあります。prtconf コマンドは、Solaris がハードウェアを認識するかどうかを表示します。ハードウェアの挿入後に prtconf コマンドを使用して、ハードウェアが認識されているかどうかを確認します。構成後に prtconf -D コマンドを使用して、新たにインストールしたハードウェアデバイスにドライバが設定されているかどうかを確認します。