形式
sdxconfig Backup -c class[-o outfile] [-e update]
sdxconfig Convert -e remove[,update] -c class -d disk,... [-i infile] [-o outfile]
sdxconfig Convert -e remove[,update] -c class -g group,... [-i infile] [-o outfile]
sdxconfig Convert -e rename[,update] -c class=classname
[-i infile] [-o outfile]
sdxconfig Convert -e replace[,update] -c class -d disk=device[,disk=device,...] [-i infile] [-o outfile]
sdxconfig Convert -e replace[,update] -c class -p device=newdevice[,device=newdevice,...] [-i infile] [-o outfile]
sdxconfig Remove -c class[-e keepid]
sdxconfig Restore -c class -i infile [-e chkps,skipsync]
機能説明
sdxconfig は、class で指定されたクラス (シャドウクラスは除く) のオブジェクト構成を操作するためのコマンドです。スーパユーザ権限を持つユーザだけが sdxconfig コマンドを実行することができます。
本コマンドは、マルチユーザモードで実行する必要があります。
基本オプション
以下の基本オプションのうち、いずれかを指定します。
class で指定されたローカルクラスまたは共用クラスのオブジェクト構成を、outfile で指定されたファイル (-o outfile 省略時は標準出力) に構成テーブル形式で出力します。class には、構成テーブルを作成するクラスのクラス名を指定します。
class 内にスイッチグループ、プロキシオブジェクト、DISABLE 状態のディスク、または、TEMP 状態のスライスが存在する場合、class の構成テーブルは作成できません。
class で指定されたクラスの構成テーブルを、サブオプションの指定に従って変換します。class には、構成テーブルに記述されているクラスのクラス名を指定します。
class で指定されたローカルクラスのオブジェクト構成をシステムから削除します。class 内のオブジェクト (ボリューム、グループ、ディスク) はすべて削除されます。class には、削除するローカルクラスのクラス名を指定します。
本オプションを使用してクラスのオブジェクト構成を削除しても、削除されたボリュームの内容 (データ) は失われません。Restore オプションを使用してオブジェクト構成を復元することにより、ボリュームの構成と内容を復元することができます。
class 内にプロキシオブジェクト、ACTIVE 状態のボリューム、TEMP 状態または COPY 状態のスライスが存在する場合、class は削除できません。
infile で指定された構成ファイルに記述されている構成テーブルに従って、class で指定されたクラスのオブジェクト構成を復元します。class には、構成テーブルに記述されているクラスのクラス名を指定します。
本オプションを使用してクラスのオブジェクト構成を復元しても、クラスに登録された物理ディスク上のボリュームの領域は初期化されません。Remove オプションを使用してオブジェクト構成を削除した後、本オプションを使用してオブジェクト構成を復元することにより、ボリュームの構成と内容を復元することができます。
ただし、構成テーブルに多重度が 2 以上のミラーボリュームが存在する場合、sdxconfig コマンドの復帰後、自動的にミラーボリュームの等価性コピー処理を行います (-e skipsync 指定時を除く)。この場合、自動的に選択されたコピー元のスライスのデータが、コピー先のスライスに上書きされ、コピー先のスライスに格納されていたデータは失われます。
class で指定されたクラスは、自ノードのローカルクラスとして復元されます。class を共用クラスとして復元する場合は、本コマンド実行後、sdxattr -C コマンドを使用して class のタイプ属性とスコープ属性を変更する必要があります。また、クラスタアプリケーションに登録されている共用クラスを復元する場合、本コマンド実行後、本コマンドを実行したノードを再起動する必要があります。
class で指定されたクラスがすでに存在する場合は、エラーとなります。また、構成テーブルに記述されている物理ディスクの容量と、実際の物理ディスクの容量とが異なる場合、class のオブジェクト構成は復元できません。
クラスタシステムの場合、本オプションを実行する前に、構成テーブルに記述されている物理ディスクをクラスタシステムのリソースデータベースに登録しておく必要があります。
注意
復元されたボリュームのデバイス番号(マイナ番号)、および、ボリュームのデバイス特殊ファイルの所有者とアクセス権は、Backupオプション実行時と同じ値には復元されず、sdxvolume -Mコマンドで新たなボリュームを作成した場合と同じ値になります。デバイス番号、所有者、アクセス権は、以下のコマンドで確認できます。
# ls -l /dev/sfdsk/クラス名/dsk/ボリューム名 |
復元されたボリュームを使用するアプリケーションに、Backupオプション実行時のデバイス番号が設定されている場合は、アプリケーションの設定を修正する必要があります。
デバイス特殊ファイルの所有権とアクセス権を復元する場合は、chown(1)コマンドや chmod(1)コマンドを使用して設定を変更してください。
I/O 応答時間保証の設定は復元されません。I/O 応答時間保証の設定を行う場合は Restore オプション実行後に sdxattr コマンドを使用して設定してください。
サブオプション
以下のサブオプションが指定できます。
class には、操作対象となるクラスのクラス名を指定します。
構成テーブルのクラス名を class から classname に変更します。
構成テーブルからディスク disk,... を削除します。disk には、削除する未定義ディスク、スペアディスク、シングルディスク、または、ミラーグループに直接接続されているディスクのディスク名を指定します。
disk がシングルディスクである場合、disk 内のボリュームおよびスライスも削除します。また、disk がミラーグループに接続されている唯一のディスクである場合、ミラーグループ内のボリューム、スライス、および、ミラーグループ自体も削除します。
-g オプションと同時に指定することもできます。
構成テーブルにおいて disk がコンカチネーショングループまたはストライプグループに接続されている場合、disk は削除できません。
構成テーブルにおいて、ディスク disk の物理ディスクを device に変更します。device には、ドメインに接続されていない物理ディスクを指定することもできます。
disk にはディスク名、device には物理ディスク名を指定します。disk と device の間には、必ずイコール (=) を入れます。複数の物理ディスクを変更する場合は、これらの指定子の組合せをカンマ (,) で区切って指定します。
物理ディスク名は、以下のいずれかの形式で指定します。
cCtTdD (通常のハードディスクの場合) cCdD (Oracle VM 環境の仮想ディスクの場合) mphdI (MPHD ディスクの場合) mplbI (MPLB ディスクの場合) emcpowerN (emcpower ディスクの場合)
C はコントローラ、T はターゲット ID、D はディスク番号、I は MPHD インスタンス番号あるいは MPLB インスタンス番号、N は emcpower デバイス番号を示します。emcpower デバイス番号は、0 から 9 までの一桁あるいは二桁以上の数字であり、スライス番号に相当する英小文字は指定しません。
-p オプションと同時に指定することはできません。
class に登録する物理ディスクの占有スライスに格納されているディスク識別情報 (クラス名およびディスク名) と、infile で指定された構成ファイルに記述されている構成テーブルとの整合性をチェックします。
以下のいずれかの条件を満たしていない場合は、class の復元を行いません。
構成テーブルに記述されているすべての物理ディスクに占有スライスが存在すること。
構成テーブルに記述されているすべての物理ディスクの、占有スライスのサイズが等しいこと。
構成テーブルに記述されているすべての物理ディスクの占有スライスに格納されているクラス名が一致していること。
構成テーブルに記述されているすべての物理ディスクについて、占有スライスに格納されているディスク名が、構成テーブルにおいてその物理ディスクに割り当てられているディスク名と一致すること。
構成テーブルに記述されていない物理ディスクの占有スライスにクラス名classが格納されている場合、本オプションは指定しないでください。
class に登録されているすべてのディスクの、占有スライス、および、占有スライスに格納されているディスク識別情報を削除しません。
本オプションを指定することにより、class から削除された物理ディスク、または、それらをディスク装置のコピー機能によってコピーした物理ディスクを使用して class を復元する際に、sdxconfig Restore コマンドの -e chkps オプションを使用して構成の整合性をチェックすることができます。
注意
本オプションを指定して class のオブジェクト構成を削除した場合、class から削除された物理ディスクは、sdxdisk -M コマンドではクラスに登録できません。class から削除された物理ディスクを sdxdisk -M コマンドでクラスに登録する場合、事前に format(1M) コマンドを使用して占有スライス (スライス0) を削除する必要があります。class から削除されたすべての物理ディスクの占有スライスを削除する場合は、Restore オプションを使用してオブジェクト構成をいったん復元した後、本オプションを指定せずに再度 Remove オプションを実行してください。
構成テーブルからディスクまたはグループを削除します。
構成テーブルのクラス名を変更します。
構成テーブルにおいて、物理ディスクを変更します。
infile で指定された構成ファイルに記述されているすべてのミラーボリュームの等価性が利用者の責任で保証されることを前提として、GDS は class に作成されたミラーボリュームの等価性コピー処理を行いません。等価性が保たれていない場合でも、スライスは INVALID 状態にはなりません。
outfile で指定されたファイルがすでに存在している場合、outfile で指定されたファイルに構成テーブルを上書きします。
構成テーブルからグループ group,... を削除します。group 内のオブジェクト (ボリューム、スライス、ディスク、下位グループ) はすべて削除されます。group には、削除するグループのグループ名を指定します。
-d オプションと同時に指定することもできます。
構成テーブルにおいて group がミラーグループ以外の上位グループに接続されている場合、group は削除できません。
infile で指定された構成ファイルに記述されている構成テーブルをもとに、構成テーブルの変換、または、class で指定されたクラスのオブジェクト構成の復元を行います。infile には、構成ファイルのパス名を、絶対パス名、または、カレントディレクトリからの相対パス名で指定します。
Convert 指定時、本オプションは省略可能です。本オプションを省略した場合、標準入力から入力された構成テーブルを変換します。
作成または変換した構成テーブルを、outfile で指定された構成ファイルに出力します。outfile には、構成ファイルのパス名を、絶対パス名、または、カレントディレクトリからの相対パス名で指定します。
outfile で指定されたファイルがすでに存在している場合、エラーとなります (-e update 指定時を除く)。
本オプションを省略した場合、構成テーブルは標準出力に出力されます。
構成テーブルにおいて、物理ディスク device を他の物理ディスク newdevice に変更します。newdevice には、ドメインに接続されていない物理ディスクを指定することもできます。
device には構成テーブルに記述されている物理ディスク名、newdevice には変更後の物理ディスク名を指定します。device と newdevice の間には、必ずイコール (=) を入れます。複数の物理ディスクを変更する場合は、これらの指定子の組合せをカンマ (,) で区切って指定します。
device および newdevice には、物理ディスク名を以下のいずれかの形式で指定します。
cCtTdD (通常のハードディスクの場合) cCdD (Oracle VM 環境の仮想ディスクの場合) mphdI (MPHD ディスクの場合) mplbI (MPLB ディスクの場合) emcpowerN (emcpower ディスクの場合)
C はコントローラ、T はターゲット ID、D はディスク番号、I は MPHD インスタンス番号あるいは MPLB インスタンス番号、N は emcpower デバイス番号を示します。emcpower デバイス番号は、0 から 9 までの一桁あるいは二桁以上の数字であり、スライス番号に相当する英小文字は指定しません。
-d オプションと同時に指定することはできません。
戻り値
正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。