ここでは、オペレーティングシステムの動作中にディスクドライブを取り外せるようにシステムを設定する方法を説明します。ディスクドライブを取り外すだけで、新しいディスクと交換しない場合は、以下で説明する手順を使用してください。
障害の発生したディスクドライブを取り外す方法は、使用しているアプリケーションによって異なります。使用しているアプリケーションに関わらず行う必要がある作業は以下のとおりです。
取り外すディスクドライブを選択する
ディスクドライブを取り外す
オペレーティングシステム環境を再構成する
どのような場合でも、ディスクやアプリケーションを停止してから、ディスクをマウント解除し、現在のドライブを取り外す必要があります。さらに、取り外したデバイスなしで動作するようにアプリケーションを設定する必要があります。
ディスクエラーの発生は、さまざまな方法によって報告されます。一般的には、障害が発生しているか、障害が発生したディスクに関するメッセージはシステムコンソールで確認します。この情報は、/usr/adm/messages ファイルにも記録されます。一般的にこれらのエラーメッセージは、ディスクの物理デバイス名 (/devices/pci@1f,4000/scsi@3/sd@b,0 など) と UNIX のデバイスインスタンス名 (sd11 など) によって、障害の発生したディスクドライブを示します。場合によっては、論理デバイス名 (c0t11d0 など) が使用されることもあります。また、ドライブのスロット番号 (0 〜 5) を報告したり、ディスクドライブに対応する LED を点灯させたりするアプリケーションもあります (図 2–3 を参照)。
ディスクのホットプラグ作業を行うには、障害の発生したディスクのスロット番号 (0 〜 5) と、ディスクの論理デバイス名 (c0t11d0 など) を特定する必要があります。ドライブスロット番号が特定されている場合は、論理デバイス名を調べることができます。また、その逆も可能です。また、物理デバイス名 (/devices/pci@1f,4000/scsi@3/sd@b,0 など) からドライブスロット番号と論理デバイス名の両方を調べることもできます。
ある形式のディスク識別名から別の形式の識別名を求める方法については、第 3 章「論理デバイス名と物理デバイス名の対応」を参照してください。ドライブスロット番号と論理デバイス名を特定したら、次の手順に進むことができます。
それぞれのアプリケーションについてディスクの取り外し作業を行ってください。
ここでは、UNIX ファイルシステムによって使用されているディスクを取り外す手順を説明します。
su と入力し、スーパーユーザーのパスワードを入力します。
取り外すデバイスを使用している処理またはアプリケーションを特定します。
これを行うには、mount、showmount -a、ps -ef コマンドを使用します。詳細は、mount(1M)、showmount(1M)、ps(1) のマニュアルページを参照してください。
たとえばコントローラ番号が 0 で、ターゲット ID が 11 の場合は、以下のように入力します。
# mount | grep c0t11 /export/home1 on /dev/dsk/c0t11d0s2 setuid/read/write on # showmount -a | grep /export/home1 cinnamon:/export/home1/archive austin:/export/home1 swlab1:/export/home1/doc # ps -f | grep c0t11 root 1225 450 4 13:09:58 pts/2 0:00 grep c0t11
この例では、障害の発生したディスクのファイルシステム /export/home1 が、3 つのシステム (cinnamon、austin、swlab1) によって遠隔マウントされています。動作中のプロセスは grep だけで、これは終了しています。
構成解除するファイルシステムに対するすべての処理やアプリケーションプロセスを停止します。
システムのバックアップを取ります。
# mount | grep cwtx
ディスク上にあるすべてのファイルシステムをマウント解除します。
マウント解除するファイルシステムが存在するディスクで障害が発生しているか、障害が発生した場合、umount 処理が完了せずに、その処理中に大量のエラーメッセージがシステムコンソールに表示され、/var ディレクトリ内に記録される場合があります。umount 処理が正常に完了しない場合は、システムの再起動が必要となる場合があります。
# umount ファイルシステム
ファイルシステムは、手順 5 で返された各行の先頭の列の値です。以下に例を示します。
# umount /export/home # umount /export/home1
ssaadm remove_device コマンドを使用して、デバイスをオフラインにします。
# ssaadm remove_device 論理デバイス名 ssaadm: warning: can't quiesce "/dev/rdsk/c0t11d0s2": I/O error Bus is ready for the removal of device Remove device and reconfigure bus as needed Press RETURN when ready to continue
論理デバイス名には、取り外すドライブの完全な論理デバイス名 (この例では /dev/rdsk/c0t11d0s2) を指定します。ディスク全体を表すスライス 2 を指定する必要があります。このコマンドには、論理デバイス名の代わりに物理デバイス名を指定することもできます。
Sun Enterprise 250 の SCSI バスは休止を必要としないため、警告メッセージは無視してください。
スロットからディスクドライブを取り外します。
ディスクドライブの取り外しと交換の方法については、『Sun Enterprise 250 サーバーユーザーマニュアル』を参照してください。
Return を押して、ホットプラグ作業を完了します。
ssaadm コマンドによって、/dev/dsk および /dev/rdsk 階層のデバイスに対するシンボリックリンクが削除されます。
ここでは、Solstice DiskSuite によって使用されているディスクを構成解除する手順を説明します。詳細は、Solstice DiskSuite のマニュアルを参照してください。
システムのパックアップを取ります。
su と入力し、スーパーユーザーのパスワードを入力します。
取り外すデバイスを使用しているメタデバイスまたはアプリケーションを特定します。以下に例を示します。
# metadb | grep c0t11d0 # metastat | grep c0t11d0 # mount | grep c0t11d0
複製データベースを削除します。
ディスクに複製データベースがある場合は、その複製データベースを削除する必要があります。以下に例を示します。
# metadb -d c0t11d0s0
スライスを置き換えるか、メタデバイスを消去します。
ディスクのスライスがサブミラーによって使用されているか、RAID メタデバイス内に存在する場合は、それらのスライスを他の使用可能なスライスで置き換えることができます。以下に例を示します。
# metareplace d20 c0t11d0s1 c0t8d0s1
使用することができる交換用スライスがない場合は、メタデバイスを消去する必要があります。以下に例を示します。
# metaclear d21
スライスを置き換えるか、ホットスペアを消去します。
ディスクのスライスがホットスペアプールによって使用されている場合は、それらのスライスを他の使用可能なスライスで置き換えることができます。以下に例を示します。
# metahs -r all c0t11d0s1 c0t8d0s1
ディスク上にあるすべてのファイルシステムをマウント解除します。
マウント解除するファイルシステムが存在するディスクで障害が発生しているか、障害が発生した場合、umount 処理が完了せずに、その処理中に大量のエラーメッセージがシステムコンソールに表示され、/var ディレクトリ内に記録される場合があります。umount 処理が正常に完了しない場合は、システムの再起動が必要となる場合があります。
# umount ファイルシステム
# umount /export/home # umount /export/home1
詳細は、Solstice DiskSuite のマニュアルを参照してください。
ssaadm remove_device コマンドを使用して、デバイスをオフラインにします。
# ssaadm remove_device 論理デバイス名 ssaadm: warning: can't quiesce "/dev/rdsk/c0t11d0s2": I/O error Bus is ready for the removal of device Remove device and reconfigure bus as needed Press RETURN when ready to continue
論理デバイス名には、取り外すドライブの完全な論理デバイス名 (この例では /dev/rdsk/c0t11d0s2) を指定します。ディスク全体を表すスライス 2 を指定する必要があります。このコマンドには、論理デバイス名の代わりに物理デバイス名を指定することもできます。
Sun Enterprise 250 の SCSI バスは休止を必要としないため、警告メッセージは無視してください。
スロットからディスクドライブを取り外します。
ディスクドライブの取り外しの方法については、『Sun Enterprise 250 サーバーユーザーマニュアル』を参照してください。
Return を押して、ホットプラグ作業を完了します。
ssaadm コマンドによって、/dev/dsk および /dev/rdsk 階層のデバイスに対するシンボリックリンクが削除されます。