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

SCSI ホットプラグ機能 (cfgadm)

Solaris 7 - 8/99 ソフトウェアリリースで更新された cfgadm コマンドでは、サポートされる SCSI コントローラに対し SCSI ホットプラグ機能が使用できます。この情報は、『Solaris のシステム管理 (第 1 巻)』の「デバイスの管理」に記載されているデバイス管理に関する情報の補足です。

ホットプラグ機能とは、システムの動作中にシステム構成要素を物理的に追加、削除、または置き換えることができる機能です。動的再構成とは、システム構成要素をホットプラグできる機能や、さらにシステムにおいてシステムリソース (ハードウェアとソフトウェア) を移動する、またはシステムからシステムリソースを取り除かずにそれらを無効にする機能全般をいいます。

cfgadm コマンドの機能には、次のものがあります。

cfgadm コマンドを使って SCSI 構成要素を再構成することの利点は、システムの動作中に構成要素を追加、削除、または置き換えることができることです。その他の利点として、cfgadm コマンドでは、SCSI 構成要素の追加、削除、または置き換えに必要な手順が作業全体に渡って示されます。SCSI 構成要素をホットプラグ接続するための手順については、cfgadm(1M) のマニュアルページと、cfgadm コマンドによる SCSI ホットプラグ接続」を参照してください。


注 -

すべての SCSI コントローラが cfgadm コマンドによるホットプラグ接続をサポートしているわけではありません。


アタッチメントポイント

cfgadm コマンドでは、アタッチメントポイントに関する情報が表示されます。これは、動的再構成操作が行われる、システムの場所のことです。

アタッチメントポイントは、次の 2 つから構成されます。

アタッチメントポイントは、論理的および物理的アタッチメントポイント ID (ap_id) によって指定されます。物理 ap_id は、アタッチメントポイントの物理パス名です。論理 ap_id は物理アタッチメントポイントのパス名を表す、ユーザーにわかりやすい名前です。ap_id の詳細は、cfgadm(1M) のマニュアルページを参照してください。

SCSI host bus adapter (HBA) の論理 ap_id、または SCSI コントローラは、通常、c0 などのコントローラ番号で表します。

SCSI HBA にコントローラ番号が割り当てられていない場合は、内部的に生成された一意の識別子が与えられます。次は、SCSI コントローラの一意の識別子の例です。


fas1:scsi

SCSI デバイスの論理 ap_id は、通常、次のようになります。


HBA-logical-apid::device-identifier

次の例の c0 は SCSI HBA の論理 ap_id です。


c0::dsk/c0t3d0

デバイス識別子は、一般に /dev ディレクトリの中のデバイスの論理デバイス名から抽出されます。たとえば、論理デバイス名が /dev/rmt/1 であるテープデバイスの論理 ap_id は次のようになります。


c0::rmt/1

SCSI デバイスの論理 ap_id/dev ディレクトリの論理名から抽出できない場合は、内部的に生成された一意の識別子が使用されます。次は、テープデバイス /dev/rmt/1 の識別子の例です。


c0::st4

SCSI ap_id の詳細は、cfgadm_scsi(1M) のマニュアルページを参照してください。

cfgadm コマンドは、共通の一連の状態 (構成された、構成解除された、など) や一連の操作 (接続、構成、構成解除) などに関し、すべてのリソースとすべての動的再構成操作を表します。これらの全般的な状態や操作の詳細は、cfgadm(1M) のマニュアルページを参照してください。

SCSI HBA のアタッチメントポイントに対する占有装置 (occupant) と受容体 (receptacle) の状態は、次のとおりです。

受容体 (receptacle) の状態 

説明 

占有装置 (occupant) の状態 

説明 

empty

SCSI HBA には該当せず 

configured

バスに 1 つ以上のデバイスが構成されている 

disconnected

バスが静止している 

unconfigured

構成されているデバイスはない 

connected

バスがアクティブである 

 

 

SCSI デバイスに対する占有装置 (occupant) と受容体 (receptacle) の状態のマッピングは、次のとおりです。

受容体 (receptacle) の状態 

説明 

占有装置 (occupant) の状態 

説明 

empty

SCSI デバイスには該当せず 

configured

デバイスが構成されている 

disconnected

バスが静止している 

unconfigured

デバイスは構成されていない 

connected

バスがアクティブである 

 

 

SCSI アタッチメントポイントの条件は、他の条件を示す特別なハードウェアがない限り、「不明」です。SCSI 構成要素の構成情報を表示する手順については、「すべてのデバイスの構成情報を表示するには」を参照してください。

cfgadm コマンドによる SCSI ホットプラグ接続

次の各項では、cfgadm コマンドによる SCSI ホットプラグ接続について説明します。

この節の手順では、cfgadm コマンドを使用して SCSI 構成要素のホットプラグ接続を行う方法を特定のデバイスを例に説明します。ユーザーが指定するデバイス情報や cfgadm コマンドにより表示されるデバイス情報は、システム構成によって異なります。

すべてのデバイスの構成情報を表示するには

SCSI コントローラ c0c1、それらに接続されているデバイスは、cfgadm コマンドで表示できるデバイス構成情報の一例です。


注 -

cfgadm コマンドによってサポートされない SCSI デバイスは、cfgadm コマンドの出力に表示されません。


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

  2. システムのアタッチメントポイントに関する情報を表示します。


    # cfgadm -l
    Ap_Id                          Receptacle   Occupant     Condition
    ac0:bank0                      connected    configured   ok
    ac0:bank1                      connected    configured   ok
    c0                             connected    configured   unknown
    c1                             connected    configured   unknown
    sysctrl0:slot0                 connected    configured   ok
    sysctrl0:slot1                 connected    configured   ok

    この例の c0c1 は、2 つの SCSI コントローラを表しています。このコマンド出力の他の ap_id (ac0:bank1sysctrl0:slot0 など) は、他のタイプのシステム構成要素を表しています。

  3. システムの SCSI コントローラとそれに接続されているデバイスの情報を表示します。


    # cfgadm -al 
    Ap_Id                          Receptacle   Occupant     Condition
    ac0:bank0                      connected    configured   ok
    ac0:bank1                      connected    configured   ok
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown
    c2                             connected    unconfigured unknown
    sysctrl0:slot0                 connected    configured   ok
    sysctrl0:slot1                 connected    configured   ok 

    cfgadm -l の出力では、SCSI HBA は表示されますが、SCSI デバイスは表示されないことに注意してください。ディスクやテープなどの SCSI デバイスの情報を表示するには、cfgadm -al コマンドを使用してください。

SCSI コントローラを構成解除するには

SCSI コントローラを構成解除する例として、SCSI コントローラ c1 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. SCSI コントローラを構成解除します。


    # cfgadm -c unconfigure c1
    
  3. SCSI コントローラが構成解除されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    unconfigured unknown

    c1 の行の Occupant 列 が unconfigured になっていますが、これは SCSI バスに、構成された占有装置 (occupant) がないことを示します。

SCSI コントローラを構成するには

SCSI コントローラを構成する例として、SCSI コントローラ c1 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. SCSI コントローラを構成します。


    # cfgadm -c configure c1
    
  3. SCSI コントローラが構成されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown

    前の unconfigure 手順は SCSI バス上のすべてのデバイスを削除しました。現在すべてのデバイスはシステムに構成されます。

SCSI デバイスを構成するには

SCSI デバイスを構成する例として、SCSI ディスク c1t4d0 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. 構成するデバイスを特定します。


     
    cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    unconfigured unknown
  3. 特定の SCSI デバイスを構成します。


    # cfgadm -c configure c1::dsk/c1t4d0  
    
  4. SCSI デバイスが構成されているかを確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown

SCSI コントローラを切り離すには

SCSI デバイスの切り離しは慎重に行ってください。特に、ルート (/)、usrvar、スワップパーティションなどの重要なファイルシステムが入っているディスクのコントローラに関連する場合は、注意が必要です。動的再構成ソフトウェアは、システムハングの原因となるすべてのケースを検出できるわけではありません。このコマンドの使用には充分注意してください。

SCSI デバイスを切り離す例として、SCSI コントローラ c1 を使用します。

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

  2. デバイスを切り離す前に、それが接続されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown
  3. SCSI コントローラを切り離します。


    # cfgadm -c disconnect c1
    WARNING: Disconnecting critical partitions may cause system hang.
    Continue (yes/no)? y
    

    注意 - 注意 -

    このコマンドは、cfgadm -c connect コマンドが出されるまで、SCSI バスのすべての入出力動作を中断します。cfgadm コマンドは、重要なパーティションが切り離されるのを防止するため、基本的な検査を行いますが、すべてのケースを検出できるわけではありません。このコマンドを不適切に使用すると、システムハングが起り、システムリブートが必要になることがあります。


  4. SCSI バスが切り離されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             disconnected configured   unknown
    c1::dsk/c1t10d0                disconnected configured   unknown
    c1::dsk/c1t4d0                 disconnected configured   unknown

    コントローラとそれに接続されているすべてのデバイスがシステムから切り離されています。

SCSI コントローラを接続するには

SCSI コントローラを接続する例として、SCSI コントローラ c1 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. デバイスを接続する前に、それが切り離されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             disconnected configured   unknown
    c1::dsk/c1t10d0                disconnected configured   unknown
    c1::dsk/c1t4d0                 disconnected configured   unknown
  3. SCSI コントローラを接続します。


    # cfgadm -c connect c1
    
  4. SCSI コントローラが接続されているか確認します。


    # cfgadm -al 
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown

SCSI バスに SCSI デバイスを追加するには

SCSI バスに SCSI デバイスを追加する例として、SCSI コントローラ c1 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。


注 -

デバイスを追加するときは、デバイスが接続されている SCSI HBA (コントローラ) の ap_id を指定するのであって、デバイス自体の ap_id を指定するのではありません。


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

  2. 現在の SCSI 構成を確認します。


    # cfgadm -al
    ap_id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
  3. SCSI デバイスを SCSI バスに追加します。


    # cfgadm -x insert_device c1
    Adding device to SCSI HBA: /devices/sbus@1f,0/SUNW,fas@1,8800000
    This operation will suspend activity on SCSI bus: c1
    Continue (yes/no)? y
    SCSI bus quiesced successfully.
    It is now safe to proceed with hotplug operation.
    Enter y if operation is complete or n to abort (yes/no)? y
    
    1. Continue (yes/no)? というプロンプトに対して y と入力して、次に進みます。

      SCSI バス上の入出力動作は、ホットプラグ操作が進行している間は停止します。

    2. デバイスを接続し、電源を入れます。

    3. 新しいデバイスを挿入した後、Enter y if operation is complete or n to abort (yes/no)? というプロンプトに対して y と入力します。

  4. デバイスが追加されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown

    新しいディスクがコントローラ c1 に追加されています。

SCSI コントローラにある同一のデバイスを置き換えるには

SCSI コントローラにある同一のデバイスを置き換える例として、SCSI ディスク c1t4d0 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. 現在の SCSI 構成を確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown
  3. SCSI バスのデバイスを同じタイプのデバイスで置き換えます。


    # cfgadm -x replace_device c1::dsk/c1t4d0
    Replacing SCSI device: /devices/sbus@1f,0/SUNW,fas@1,8800000/sd@4,0
    This operation will suspend activity on SCSI bus: c1
    Continue (yes/no)? y
    SCSI bus quiesced successfully.
    It is now safe to proceed with hotplug operation.
    Enter y if operation is complete or n to abort (yes/no)? y
    
    1. Continue (yes/no)? というプロンプトに対して y と入力して、次に進みます。

      SCSI バス上の入出力動作は、ホットプラグ操作が進行している間は停止します。

    2. 取り外すデバイスの電源を切り、デバイスを取り外します。次に置き換え用のデバイスを取り付けます。このデバイスは、取り外すデバイスと同じタイプで、同じアドレス (ターゲットと LUN) のものでなければなりません。デバイスの電源を入れます。

    3. 新しいデバイスを挿入した後、Enter y if operation is complete or n to abort (yes/no)? というプロンプトに対して y と入力します。

  4. デバイスが置き換えられているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown

SCSI デバイスを取り外すには

SCSI コントローラのデバイスを取り外す例として、SCSI ディスク c1t4d0 を使用します。

ここでは SCSI アタッチメントポイントだけを示します。実際のシステムに表示されるアタッチメントポイントは、システム構成によって異なります。

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

  2. 現在の SCSI 構成を確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown
    c1::dsk/c1t4d0                 connected    configured   unknown
  3. システムから SCSI デバイスを取り外します。


    # cfgadm -x remove_device c1::dsk/c1t4d0
    Removing SCSI device: /devices/sbus@1f,0/SUNW,fas@1,8800000/sd@4,0
    This operation will suspend activity on SCSI bus: c1
    Continue (yes/no)? y
    SCSI bus quiesced successfully.
    It is now safe to proceed with hotplug operation.
    Enter y if operation is complete or n to abort (yes/no)? y
    

    1. Continue (yes/no)? というプロンプトに対して y と入力して、次に進みます。

      SCSI バス上の入出力動作は、ホットプラグ操作が進行している間は停止します。

    2. 取り外すデバイスの電源を切り、デバイスを取り外します。

    3. 新しいデバイスを挿入した後、Enter y if operation is complete or n to abort (yes/no)? というプロンプトに対して y と入力します。

  4. デバイスがシステムから取り外されているか確認します。


    # cfgadm -al
    Ap_Id                          Receptacle   Occupant     Condition
    c0                             connected    configured   unknown
    c0::dsk/c0t0d0                 connected    configured   unknown
    c0::rmt/0                      connected    configured   unknown
    c1                             connected    configured   unknown
    c1::dsk/c1t10d0                connected    configured   unknown