形式
sdxgroup -C -c class -h hgroup -l lgroup,...
[-a attribute=value[,attribute=value]] [-e delay=msec]
sdxgroup -D -c class -h hgroup -l lgroup
sdxgroup -R -c class -g group
機能説明
sdxgroup は、グループ・オブジェクト (シャドウグループは除く) を操作するためのコマンドです。スーパユーザ権限を持つユーザだけが sdxgroup コマンドを実行することができます。
基本オプション
以下の基本オプションのうち、いずれかを指定します。
Connect
lgroup,... で指定された 1 つあるいは複数のグループ (ストライプグループ、コンカチネーショングループ、またはスイッチグループ) を、hgroup で指定されたグループ (ミラーグループ、ストライプグループ、またはコンカチネーショングループ) に接続します。class にはlgroup が属しているクラスのクラス名を指定します。class がルートクラスの場合は、エラーとなります。
hgroup と同じ名前を持つグループが存在しない場合は、自動的に作成されます。
hgroup で指定されたグループのことを上位グループと呼び、lgroup で指定されたグループのことを下位グループと呼びます。
同じ上位グループに接続された下位グループおよびディスクは、上位グループのタイプ属性に応じて、ミラーリング、ストライピング、またはコンカチネートされます。上位グループに接続されても、下位グループのタイプ属性は変更されません。
以下の場合は、接続できません。
lgroup がミラーグループの場合
hgroup がスイッチグループの場合
lgroup と hgroup のタイプ属性が同じである場合
また、すでにボリュームが存在しているグループを、他のグループに接続することはできません。
以下は、グループをミラーグループに接続する場合、ストライプグループに接続する場合、および、コンカチネーショングループに接続する場合の 3 つの場合に分けて説明します。
lgroup,... で指定された 1 つあるいは複数のグループ (ストライプグループあるいはコンカチネーショングループ) を、ミラーグループである hgroup に接続することができます。
同じミラーグループに接続されたディスクおよび下位グループは、互いにミラーリングされます。ディスクまたは下位グループが 1 つしか接続されていない場合、そのミラーグループに作成されるボリュームはミラーリングされません。n 多重のミラーリングを行う場合は、n 個のディスクまたは下位グループを接続する必要があります。最大 8 多重までのミラーリングが可能です。
hgroup で指定されたミラーグループ内にすでにボリュームが存在する場合、すでに接続されているディスクまたは下位グループのスライス構成を、新たに接続された lgroup に対して自動的にコピーします。また、hgroup に起動中のボリュームが存在する場合、sdxgroup コマンドの復帰後に、スライス構成だけではなく、ボリュームのデータも自動的にコピーすることにより、ミラーの多重度が増やされます。
ミラーグループの有効サイズ (ボリュームとして使用可能な容量) は、ミラーグループに接続された最小のディスクまたは下位グループの有効サイズと同じになります。lgroup を接続することによって hgroup の有効サイズが減少した場合、警告メッセージを標準エラー出力します。
スイッチグループが存在するクラスには、ミラーグループは作成できません。
lgroup,... で指定された 1 つあるいは複数のグループ (コンカチネーショングループ) を、ストライプグループである hgroup に接続することができます。lgroup,... で指定されたグループは、指定された順に hgroup に接続されます。
同じストライプグループに接続されたディスクおよび下位グループは、各々がストライプ列の役割を果たし、接続された順にストライピングされます。ディスクまたは下位グループが 1 つしか接続されていない場合、そのストライプグループにはボリュームを作成できません。n 列のストライピングを行う場合は、n 本のディスクまたは下位グループを接続する必要があります。2 列以上、最大 64 列までのストライピングが可能です。
hgroup で指定されたストライプグループがすでに存在している場合、hgroup 内にすでに存在しているストライプ列の後に、lgroup,... で指定された順にストライプ列が追加されます。ただし、すでに存在しているストライプグループに、有効サイズがストライプ幅よりも小さいグループを接続することはできません。また、すでにボリュームが存在するストライプグループ、および上位グループに接続されているストライプグループに対しては、グループを接続してストライプ列数を増やすことはできません。
ストライプグループの有効サイズ (ボリュームとして使用可能な容量) は、ストライプグループに接続された最小のディスク (または下位グループ) の有効サイズに、ストライプ列数を掛けて、(ストライプ幅) × (ストライプ列数) とシリンダサイズとの公倍数に切り捨てたサイズとなります。lgroup を接続することによって hgroup の有効サイズが減少した場合、警告メッセージを標準エラー出力します。
スイッチグループが存在するクラスには、ストライプグループは作成できません。
lgroup,... で指定された 1 つあるいは複数のグループ (スイッチグループ) を、コンカチネーショングループである hgroup に接続することができます。同じコンカチネーショングループに接続されたスイッチグループは、lgroup,... で指定された順にコンカチネートされます。最大 64 個までのコンカチネーションが可能です。
コンカチネーショングループの有効サイズ (ボリュームとして使用可能な容量) は、コンカチネーショングループに接続された下位グループの有効サイズを合計したサイズとなります。
すでに存在しているコンカチネーショングループに下位グループを接続することによって、コンカチネーショングループの有効サイズを増加させることができます。hgroup で指定されたコンカチネーショングループがすでに存在している場合、hgroup 内で最後にコンカチネートされた下位グループの後ろに、lgroup,... で指定された順に下位グループがコンカチネートされます。ただし、上位グループに接続されているコンカチネーショングループに対しては、下位グループを接続することはできません。
ディスクが接続されているコンカチネーショングループには、スイッチグループは接続できません。
Disconnect
lgroup で指定されたグループを、上位グループである hgroup から切断します。class には lgroup が属しているクラスのクラス名、hgroup には lgroup が接続されている上位グループのグループ名を指定します。
hgroup に lgroup のみが接続されている場合、lgroup が切断されると、hgroup も自動的に削除されます。ただし、lgroup のみが接続されている hgroup が上位グループに接続されている場合はエラーとなり、lgroup を切断することはできません。そのような lgroup を切断するには、まず hgroup をその上位グループから切断してください。
lgroup を切断することによって、hgroup 内に存在する任意のボリュームの状態が変化する可能性がある場合は、lgroup の切断はできません。
以下に、グループをミラーグループから切断する場合、ストライプグループから切断する場合、およびコンカチネーショングループから切断する場合の 3 つの場合に分けて、切断できない条件について説明します。
例えば、hgroup で指定されたミラーグループにボリュームが存在していて、かつ hgroup に lgroup のみが接続されている場合、lgroup の切断はできません。
ボリュームが存在するストライプグループ、および上位グループに接続されているストライプグループから、下位グループを切断することはできません。
コンカチネーショングループから切断できるのは、最後にコンカチネートされた下位グループのみです。
ボリュームの領域が存在する下位グループを、コンカチネーショングループから切断することはできません。
Remove
group で指定されたグループの定義を削除します。class には、group が属しているクラスのクラス名を指定します。
group に接続されているディスクおよび下位グループは切断されます。切断されたディスクのタイプ属性は、接続前のタイプ属性 (キープディスク、シングルディスクまたは未定義ディスク) に戻ります。
group 内にボリュームが存在している場合および group が上位グループに接続されている場合は、削除できません。
サブオプション
以下のサブオプションが指定できます。
-C オプション指定時に新しいグループ名を -h オプションで指定した場合、自動的に新しいグループ hgroup が作成されます。本オプションでは、作成される hgroup の属性として attribute を value に設定します。
attribute には属性名、value には属性値を指定します。attribute と value の間には、必ずイコール (=) を入れます。複数の属性を設定する場合は、これらの指定子の組合せをカンマ (,) で区切って指定します。
グループが作成されない場合、既存の hgroup の属性値と異なる value を指定するとエラーとなります。既存の hgroup の属性値を変更することはできません。
attribute と value には、以下の任意の組合せが指定できます。
複数の属性が指定された場合、一部の処理でエラーが発生すると一切処理を行いません。
hgroup のタイプ属性を設定します。
タイプ属性を「ミラー」に設定します。
タイプ属性を「ストライプ」に設定します。
タイプ属性を「コンカチネーション」に設定します。
hgroup のストライプ幅を設定します。blks には、ストライプ幅をブロック数 (10 進数) で指定します。1 ブロックは 512 バイトです。blks に指定可能な値は、2 のべき乗で、1 以上、1,073,741,824 以下、かつ lgroup,... で指定された最小のグループの、有効サイズ以下の整数です。hgroup がストライプグループではない場合は、エラーとなります。
class には、操作対象となるグループが属しているクラスのクラス名を指定します。
グループをミラーグループに接続した場合、必要に応じてボリューム内のデータがコピーされます。このコピー処理に伴うディスクへの入出力要求の発行を msec で指定された時間 (単位はミリ秒) だけ遅延させます。
本オプションによって、ボリュームを使用しているアプリケーションへの影響を調整できます。
遅延時間のデフォルト値は 0 です。
msec に指定可能な値は、0 から 1000 までです。
hgroup がミラーグループではない場合、本オプションの指定は無視されます。
group には、操作対象となるグループのグループ名を指定します。
hgroup には、操作対象となる下位グループが接続されている、または接続しようとしている上位グループのグループ名を指定します。
lgroup には、操作対象となる下位グループのグループ名を指定します。
lgroup には、操作対象となる下位グループのグループ名を指定します。複数のグループを接続する場合は、グループ名をカンマ (,) で区切って指定します。
戻り値
正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。