形式
sdxswap -I -c class -d disk [-e delay=msec,nowaitsync]
sdxswap -O -c class -d disk
機能説明
sdxswap は、GDS に登録されているディスク (シャドウディスクは除く) を交換可能な状態に変更したり、交換を終えた後で元に戻したりするためのコマンドです。スーパユーザ権限を持つユーザだけが sdxswap コマンドを実行することができます。
本コマンドは、故障したディスクを交換する際の手続きとして使用されます。
基本オプション
以下の基本オプションのうち、いずれかを指定します。
swapIn
disk で指定されたディスクを使用可能な状態に戻して、以前の構成および状態を復元します。故障したディスクの交換が完了した後には、必ずこの処理が必要です。
disk には、-O オプションを使って交換可能な状態に変更したディスクのディスク名を指定します。class には、disk が登録されているクラスのクラス名を指定します。
disk の物理ディスクの容量は、交換前の物理ディスクと同じかそれより大きくなければなりません。
disk の最上位グループがミラーグループである場合、スライス構成やボリュームの内容を必要に応じてコピーして、コピー完了後 (-e nowaitsync 指定時は開始前) にsdxswap コマンドは復帰します。
disk の替わりにスペアディスクが接続されていた場合は、関連するすべてのボリュームの冗長性が回復できた時点でスペアディスクを切断します。
swapOut
disk で指定されたディスク内に存在するすべてのスライスを切り離して、ディスクを交換可能な状態にします。故障したディスクを交換する際には事前に必ずこの操作が必要です。
class には、disk が登録されているクラスのクラス名を指定します。
すでに disk が使用不可能な状態である場合、再度状態を確認したうえで警告メッセージを標準エラー出力します。
以下に、disk がグループに接続されていない場合、および disk の最上位グループがミラーグループ、ストライプグループ、コンカチネーショングループ、スイッチグループの場合の 5 つに分けて、交換可能な条件について説明します。
disk にボリュームが存在する場合、disk を交換可能な状態にすることはできません。
disk の最上位ミラーグループにボリュームが存在していて、disk 内のスライスを切り離すことによってボリュームの構成や状態が変化する場合は、disk を交換可能な状態にすることはできません。
例えば、disk の最上位ミラーグループにボリュームが存在していて、かつ最上位ミラーグループにdisk で指定されたディスクのみが接続されている場合、disk 内のスライスを切り離すと、ボリュームの構成や状態が変化するため、disk を交換可能な状態にすることはできません。
disk の最上位グループがストライプグループの場合、disk 内のスライスを切り離して disk を交換可能な状態にすることはできません。
disk が最上位コンカチネーショングループに接続されている場合、または、disk が下位スイッチグループに接続されている運用ディスクの場合は、ボリュームの有無に関係なく、disk を交換可能な状態にすることはできません。
disk が下位スイッチグループに接続されている待機ディスクの場合は、ボリュームの有無に関係なく、disk を交換可能な状態にすることができます。
disk が待機ディスクの場合は、ボリュームの有無に関係なく、disk を交換可能な状態にすることができます。
disk が運用ディスクの場合、disk 内のスライスを切り離して disk を交換可能な状態にできるのは、スイッチグループにボリュームが存在せず、かつ、待機ディスクが接続されていない場合です。
スイッチグループにボリュームが存在する場合、運用ディスクを交換可能な状態にするには、ボリュームを削除する必要があります。スイッチグループに待機ディスクが接続されている場合は、sdxattr -G コマンドを使用して運用ディスクを切り替えることにより、旧運用ディスクを交換可能な状態にすることができます。
サブオプション
以下のサブオプションが指定できます。
class には、操作対象となる disk が属しているクラスのクラス名を指定します。
disk には、操作対象となるディスクのディスク名を指定します。
ディスクの復旧時に、必要に応じてボリューム内のデータがコピーされます。このコピー処理に伴うディスクへの入出力要求の発行を、msec で指定された時間 (単位はミリ秒) だけ遅延させます。
本オプションによって、ボリュームを使用しているアプリケーションへの影響を調整できます。
遅延時間の省略値は 0 です。
msec に指定可能な値は、0 から 1000 までです。
コピーの完了を待たずにコマンドを復帰させます。
戻り値
正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。