特記事項: Sun Ultra 450、Sun Enterprise 450

障害の発生したホットプラグ対応のディスクドライブの交換

ここでは、オペレーティングシステムの動作中にディスクドライブを交換できるようにシステムを設定する方法を説明します。

障害の発生したディスクドライブを交換する方法は、使用しているアプリケーションによって異なります。使用しているアプリケーションに関わらず行う必要がある作業は以下のとおりです。

  1. 障害が発生しているか、障害が発生したディスクドライブを特定する

  2. ディスクドライブを取り外す

  3. 交換用のドライブを追加する

  4. システム環境を再構成する

どのような場合でも、ディスクやアプリケーションを停止してから、ディスクをマウント解除し、現在のドライブを取り外して、交換用ドライブを取り付け、ドライブが認識されるように Solaris 環境を設定する必要があります。さらに、新しいディスクドライブを使用することができるようにアプリケーションを設定する必要があります。

スペアドライブの準備

交換用ディスクドライブは、できるだけ事前に用意しておいてください。各交換用ディスクドライブに対しては、障害の発生した元のディスクと同じ方法でフォーマット、ラベル指定、パーティション分割を行います。ディスクのフォーマット、パーティションの作成、アプリケーションへのディスクの追加の方法については、アプリケーションのマニュアルを参照してください。

障害の発生したディスクドライブの特定

ディスクエラーの発生は、さまざまな方法によって報告されます。一般的には、障害が発生しているか、障害が発生したディスクに関するメッセージはシステムコンソールで確認します。この情報は、/usr/adm/messages ファイルにも記録されます。一般的にこれらのエラーメッセージは、ディスクの物理デバイス名 (/devices/pci@6,4000/scsi@4,1/sd@3,0 など) と UNIX のデバイスインスタンス名 (sd14 など) によって、障害の発生したディスクドライブを示します。場合によっては、論理デバイス名 (c2t3d0 など) が使用されることもあります。また、ドライブのスロット番号 (0 〜 19) を報告したり、ディスクドライブに対応する LED を点灯させたりするアプリケーションもあります (図 3-2 を参照)。

図 3-2 ドライブのスロット番号と LED の位置

Graphic

ディスクのホットプラグ作業を行うには、障害の発生したディスクのスロット番号 (0 〜 5) と、ディスクの論理デバイス名 (c2t3d0 など) を特定する必要があります。ドライブスロット番号が特定されている場合は、論理デバイス名を調べることができます。また、その逆も可能です。また、物理デバイス名 (/devices/pci@6,4000/scsi@4,1/sd@3,0 など) からドライブスロット番号と論理デバイス名の両方を調べることもできます。

ある形式のディスク識別名から別の形式の識別名を求める方法については、第 4 章「論理デバイス名と物理デバイス名の対応」を参照してください。ドライブスロット番号と論理デバイス名を特定したら、次の手順に進むことができます。

アプリケーション内でのディスクドライブの交換

それぞれのアプリケーションについてディスクの交換作業を行ってください。

UNIX ファイルシステム (UFS)

ここでは、UNIX ファイルシステムによって使用されているディスクを構成解除する手順を説明します。


注意 - 注意 -

以下で説明する作業は、有資格のシステム管理者が行ってください。動作中のディスクドライブに対して誤ったホットプラグ作業を行うと、データが失われることがあります。


ディスクドライブ交換の準備

  1. su と入力し、スーパーユーザーのパスワードを入力します。

  2. 取り外すデバイスを使用している処理またはアプリケーションを特定します。

    これを行うには、mountshowmount -aps -ef コマンドを使用します。詳細は、mount(1M)、showmount(1M)、ps(1) のマニュアルページを参照してください。

    たとえば、コントローラ番号が 1 で、ターゲット ID が 2 の場合は、以下のように入力します。


    # mount | grep c1t2
    /export/home1 on /dev/dsk/c1t2d0s2 setuid/read/write on
    # showmount -a | grep /export/home1
    cinnamon:/export/home1/archive
    austin:/export/home1
    swlab1:/export/home1/doc
    # ps -f | grep c1t2
    root  1225   450   4 13:09:58  pts/2   0:00 grep c1t2

    この例では、障害の発生したディスクのファイルシステム /export/home1 が、3 つのシステム (cinnamonaustinswlab1) によって遠隔マウントされています。動作中のプロセスは grep だけで、これは終了しています。

  3. 構成解除するファイルシステムに対するすべての処理やアプリケーションプロセスを停止します。

  4. システムのバックアップを取ります。

  5. ディスク上にあるファイルシステムを調べます。


    # mount | grep cwtx
    

    たとえば、構成解除するデバイスが c1t2d0 の場合は、以下のように入力します。


    # mount | grep c0t11
    /export/home   (/dev/dsk/c0t11d0s7 ):   98892 blocks   142713 files
    /export/home1  (/dev/dsk/c0t11d0s5 ):  153424 blocks   112107 files

  6. ディスクのパーティションテーブルを特定して、保存します。

    交換用ディスクの種類が障害の発生したディスクと同じ場合は、format コマンドを使用して、ディスクのパーティションテーブルを保存することができます。formatsave コマンドを使用して、パーティションテーブルを /etc/format.dat ファイルにコピーしてください。これによって、現在のディスクと同じ配置になるように交換用ディスクを設定することができます。

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

  7. ディスク上にあるすべてのファイルシステムをマウント解除します。

    各ファイルシステムについて、以下のように入力します。


    # umount ファイルシステム
    

    ファイルシステムは、手順 5 で返された各行の先頭の列の値です。

    以下に例を示します。


    # umount /export/home
    # umount /export/home2
    


    注 -

    マウント解除するファイルシステムが存在するディスクで障害が発生しているか、障害が発生した場合、umount 処理が完了せずに、その処理中に大量のエラーメッセージがシステムコンソールに表示され、/var ディレクトリ内に記録される場合があります。umount 処理が正常に完了しない場合は、システムの再起動が必要となる場合があります。


ディスクドライブの取り外しと交換

ディスクドライブの取り外しと交換方法については、『Sun Ultra 450 ワークステーションユーザーマニュアル』または『Ultra Enterprise 450 システムユーザーマニュアル』を参照してください。

UNIX ファイルシステムの復元

以下の手順に従って、UNIX ファイルシステムに使用するディスクスライスを設定します。

  1. デバイスのパーティションテーブルが、再度作成するファイルシステムの条件を満たしているか確認します。

    デバイスのラベルは、prtvtoc コマンドを使用して調べることができます。ラベルを変更する場合は、format コマンドを使用します。詳細は、prtvtoc(1M) および format(1M) のマニュアルページを参照してください。以下に例を示します。


    # prtvtoc /dev/rdsk/cwtxdysz
    

    交換用ディスクの種類が障害の発生したディスクと同じで、format ユーティリティを使用してディスクパーティションテーブルを保存した場合は、format ユーティリティの partition セクションを使用して、交換用ディスクのパーティションテーブルを設定することができます。partition セクションの selectlabel コマンドを参照してください。

    交換用ディスクと元のディスクの種類が異なる場合は、元のディスクのパーティションの大きさに関する情報を使用して、交換用ディスクにパーティションテーブルを設定することができます。詳細は、prtvtoc(1M) と format(1M) のマニュアルページを参照してください。

    これで、ディスクのパーティションテーブルと、UFS ファイルシステムを作成するディスクスライスを定義したことになります。

  2. UFS ファイルシステムで使用するディスクスライスを選択し、スライスのファイルシステムを調べて、ファイルシステムを作成します。


    # fsck /dev/rdsk/cwtxdysz
    # newfs /dev/rdsk/cwtxdysz
    

  3. mount コマンドを使用して新しいファイルシステムをマウントします。


    # mount マウント先
    

    マウント先は、障害の発生したディスクがマウントされていたディレクトリです。

    これで、新しいディスクを使用し、バックアップからデータを復元することができます。

Solstice DiskSuite

ここでは、Solstice DiskSuite によって使用されているディスクを構成解除する手順を説明します。詳細は、Solstice DiskSuite のマニュアルを参照してください。


注意 - 注意 -

以下で説明する作業は、有資格のシステム管理者が行ってください。動作中のディスクドライブに対して誤ったホットプラグ作業を行うと、データが失われることがあります。


ディスクドライブ交換の準備

  1. システムのパックアップを取ります。

  2. su と入力し、スーパーユーザーのパスワードを入力します。

  3. 交換するディスクのパーティションテーブルを保存することができる場合は、そのパーティションテーブルを保存します。

    ディスクラベルを読み取ることができる場合は、この時点でディスクパーティション情報を保存します。


    注 -

    メタデバイスまたはファイルシステムを設定したら、ただちにすべてのディスクパーティション情報を保存してください。この情報は、デバイス障害から回復する際に使用します。


    prtvtoc コマンドを使用してパーティション情報を保存します。


    # prtvtoc /dev/rdsk/cwtxdys0 > パーティションテーブルの保存先ファイル
    

    以下に例を示します。


    # prtvtoc /dev/rdsk/c1t2d0s0 > /etc/c1t2d0s0.vtoc
    

  4. 取り外すデバイスを使用しているメタデバイスまたはアプリケーションを特定します。以下に例を示します。


    # metadb | grep c1t2d0
    # metastat | grep c1t2d0
    # mount | grep c1t2d0
    

    ディスクを交換した後でメタデバイスを再設定するために、これらのコマンドの出力を保存します。

  5. 複製データベースを削除します。

    ディスクに複製データベースがある場合は、その複製データベースを削除する必要があります。削除する前に、複製データベースのサイズと各スライスにある複製データベースの数を記録してください。


    # metadb -d cwtxdysz
    

    以下に例を示します。


    # metadb -d c1t2d0s0
    

  6. サブミラーを切り離します。

    ディスクのスライスがサブミラーによって使用されている場合は、そのサブミラーを切り離す必要があります。以下に例を示します。


    # metadetach d20 d21
    

  7. ホットスペアを削除します。

    ディスクのスライスがホットスペアプールによって使用されている場合は、そのホットスペアを削除する必要があります。削除する前に、スライスを含むホットスペアプールを記録してください。以下に例を示します。


    # metahs -d all c1t2d0s1
    

  8. ディスクに対する他のすべてのメタデバイス処理を終了します。

    切り離すことができないメタデバイス (ミラーにはないストライプなど) によって使用されている他のディスクスライスについては、metastat の出力を調べてください。メタデバイスにファイルシステムが存在する場合は、メタデバイスをマウント解除する必要があります。ファイルシステムが存在しない場合は、オフラインにしてください。

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

  9. ディスク上にあるすべてのファイルシステムをマウント解除します。


    注 -

    マウント解除するファイルシステムが存在するディスクで障害が発生しているか、障害が発生した場合、umount 処理が完了せずに、その処理中に大量のエラーメッセージがシステムコンソールに表示され、/var ディレクトリ内に記録される場合があります。umount 処理が正常に完了しない場合は、システムの再起動が必要となる場合があります。


    各ファイルシステムについて、以下のように入力します。


     # umount ファイルシステム
    

    ファイルシステムは、手順 4 で返された各行の先頭の列の値です。以下に例を示します。


    # umount /export/home
    # umount /export/home2
    

ディスクドライブの取り外しと交換

ディスクドライブの取り外しと交換方法については、『Sun Ultra 450 ワークステーションユーザーマニュアル』または『Ultra Enterprise 450 システムユーザーマニュアル』を参照してください。

Solstice DiskSuite ディスクセットファイルの復元

Solstice DiskSuite システムで使用することができるように、以下の手順でディスクにスライスを設定します。

  1. ディスクパーティション情報を復元します。

    ファイルにディスクパーティション情報を保存した場合は、fmthard を使用して復元することができます。以下に例を示します。


    # fmthard -s /etc/c1t2d0s0.vtoc  /dev/rdsk/c1t2d0s0
    

    ディスクパーティションを保存していない場合は、format(1M) または fmthar(1M) コマンドを使用して、ディスクにパーティションを再度作成します。

  2. すべての複製データベースを元に戻します。以下に例を示します。


    # metadb -a -l 2000 -c 2 c1t2d0s0
    

  3. すべてのサブミラーを再度接続します。


    # metattach d20 d21
    

  4. 新しいディスクのスライスを含む各ホットスペアプールについて、ホットスペアを再度作成します。


    # metahs -a hsp001 c1t2d0s1
    

  5. 新しいディスクのスライスを使用して、壊れたメタデバイスを修復します。

    交換する対象ディスクが原因でメタデバイスが保守状態になっている場合は、スライスを再度有効にすることによって、メタデバイスを修復することができます。


    # metareplace -e ミラーまたは_RAID5_のメタデバイス cwtxdysz
    

  6. すべてのファイルシステムを再度マウントし、オフラインにすることができなかったメタデバイスを使用していたすべてのアプリケーションを再起動します。


    # mount ファイルシステム
    

    詳細は、Solstice DiskSuite のマニュアルを参照してください。