Solaris のシステム管理 (第 1 巻)

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

この節では、cfgadm コマンドによるさまざまな SCSI ホットプラグ作業について説明します。

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

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

SCSI コントローラ c0c1、およびこれらに接続されているデバイスを使用して、cfgadm コマンドで表示できるデバイス構成情報の例を示します。


注 -

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


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

  2. システムの接続点についての情報を表示します。


    # cfgadm -l
    Ap_Id                Type         Receptacle   Occupant     Condition
    c0                   scsi-bus     connected    configured   unknown
    c1                   scsi-bus     connected    configured   unknown

    この例では、c0c1 は 2 つの SCSI コントローラを表しています。

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


    # cfgadm -al 
    Ap_Id                Type         Receptacle   Occupant     Condition
    c0                   scsi-bus     connected    configured   unknown
    c0::dsk/c0t0d0       disk         connected    configured   unknown
    c0::rmt/0            tape         connected    configured   unknown
    c1                   scsi-bus     connected    configured   unknown
    c1::dsk/c1t3d0       disk         connected    configured   unknown
    c1::dsk/c1t4d0       unavailable  connected    unconfigured unknown

    注 -

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


次の例では、SCSI 接続点だけが表示されます。表示される接続点はシステム構成によって異なります。

SCSI コントローラの構成を解除する方法

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

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

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


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


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

    Occupant の列に unconfigured と表示されていることに注目してください。これは、SCSI バスに占有装置が構成されていないことを示します。

SCSI コントローラを構成する方法

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

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

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


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


    # cfgadm -al
    Ap_Id                Type         Receptacle   Occupant     Condition
    c0                   scsi-bus     connected    configured   unknown
    c0::dsk/c0t0d0       disk         connected    configured   unknown
    c0::rmt/0            tape         connected    configured   unknown
    c1                   scsi-bus     connected    configured   unknown
    c1::dsk/c1t3d0       disk         connected    configured   unknown
    c1::dsk/c1t4d0       unavailable  connected    unconfigured unknown

    前述の構成を解除する例では、SCSI バス上のすべてのデバイスを削除しました。この例では、すべてのデバイスをシステムに構成し直します。

SCSI デバイスを構成する方法

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

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

  2. 構成するデバイスを確認します。


     
    cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       unavailable   connected    unconfigured unknown
  3. SCSI デバイスを構成します。


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


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          connected    configured   unknown

SCSI コントローラを切り離す方法

SCSI デバイスを切り離すときは十分に注意してください。特に、ルート (/)、usrvarswap パーティションなどの重要なファイルシステムが入っているディスクのコントローラを扱うときは細心の注意を払ってください。動的再構成ソフトウェアは、システムがハングする原因をすべて発見できるわけではありません。このコマンドを使用するときにも十分に注意してください。

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

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

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


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          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 バス上のすべての入出力動作を中断します。cfgamd コマンドは基本的な検査を行い、重要なパーティションが切り離されるのを防ぎます。しかし、すべての場合を発見できるわけではありません。このコマンドの使い方が不適切な場合、システムがハングし、システムをリブートしなければならなくなる可能性もあります。


  4. SCSI 切り離されていることを確認します。


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   unavailable   disconnected configured   unknown
    c1::dsk/c1t10d0      unavailable   disconnected configured   unknown
    c1::dsk/c1t4d0       unavailable   disconnected configured   unknown

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

SCSI コントローラを接続する方法

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

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

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


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


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


    # cfgadm -al 
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          connected    configured   unknown

SPARC: SCSI デバイスを SCSI バスに取り付ける方法

SCSI コントローラ c1 を使用して、SCSI デバイスを SCSI バスに取り付ける方法を説明します。


注 -

デバイスを取り付けるときは、デバイス自身の ap_id ではなく、デバイスを取り付ける SCSI HBA (コントローラ) の ap_id を指定します。


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

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


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          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                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          connected    configured   unknown

    コントローラ c1 に新しいディスクが取り付けられました。

SPARC: SCSI コントローラ上の同一デバイスを交換する方法

SCSI ディスク c1t4d0 を使用して、SCSI コントローラ上の同一デバイスを交換する例を示します。

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

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


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          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. デバイスの電源を切ってから、そのデバイスを取り外します。交換用のデバイスを取り付けます。このデバイスは取り外したデバイスと同じタイプであり、同じアドレス (ターゲットと論理デバイス番号) でなければなりません。そして、取り付けたデバイスの電源を入れます。

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

  4. デバイスが交換されていることを確認します。


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          connected    configured   unknown

SPARC: SCSI デバイスを取り外す方法

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

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

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


    # cfgadm -al
    Ap_Id                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown
    c1::dsk/c1t4d0       disk          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                Type          Receptacle   Occupant     Condition
    c0                   scsi-bus      connected    configured   unknown
    c0::dsk/c0t0d0       disk          connected    configured   unknown
    c0::rmt/0            tape          connected    configured   unknown
    c1                   scsi-bus      connected    configured   unknown
    c1::dsk/c1t3d0       disk          connected    configured   unknown

SPARC: SCSI 構成の障害対処

エラーメッセージ

cfgadm: Component system is busy, try again: failed to offline:
     device path
          Resource              Information
     ------------------  --------------------------
     /dev/dsk/c1t0d0s0   mounted filesystem "/file-system"
原因

ファイルシステムがマウントされているデバイスを取り外しまたは交換しようとしました。

解決方法

エラーメッセージのリストにあるファイルシステムのマウントを解除してから、もう一度 cfgadm コマンドを実行します。