ページの先頭行へ戻る
PRIMECLUSTER Global Disk Services  説明書 4.5
FUJITSU Software

B.1.3 sdxgroup - グループの操作

形式

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 コマンドを実行することができます。


基本オプション

以下の基本オプションのうち、いずれかを指定します。

-C

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,... で指定された順に下位グループがコンカチネートされます。ただし、上位グループに接続されているコンカチネーショングループに対しては、下位グループを接続することはできません。

ディスクが接続されているコンカチネーショングループには、スイッチグループは接続できません。


-D

Disconnect
lgroup で指定されたグループを、上位グループである hgroup から切断します。class には lgroup が属しているクラスのクラス名、hgroup には lgroup が接続されている上位グループのグループ名を指定します。

hgroup lgroup のみが接続されている場合、lgroup が切断されると、hgroup も自動的に削除されます。ただし、lgroup のみが接続されている hgroup が上位グループに接続されている場合はエラーとなり、lgroup を切断することはできません。そのような lgroup を切断するには、まず hgroup をその上位グループから切断してください。

lgroup を切断することによって、hgroup 内に存在する任意のボリュームの状態が変化する可能性がある場合は、lgroup の切断はできません。

以下に、グループをミラーグループから切断する場合、ストライプグループから切断する場合、およびコンカチネーショングループから切断する場合の 3 つの場合に分けて、切断できない条件について説明します。

グループをミラーグループから切断する場合:


例えば、hgroup で指定されたミラーグループにボリュームが存在していて、かつ hgroup lgroup のみが接続されている場合、lgroup の切断はできません。

グループをストライプグループから切断する場合:


ボリュームが存在するストライプグループ、および上位グループに接続されているストライプグループから、下位グループを切断することはできません。

グループをコンカチネーショングループから切断する場合:


コンカチネーショングループから切断できるのは、最後にコンカチネートされた下位グループのみです。
ボリュームの領域が存在する下位グループを、コンカチネーショングループから切断することはできません。


-R

Remove
group で指定されたグループの定義を削除します。class には、group が属しているクラスのクラス名を指定します。

group に接続されているディスクおよび下位グループは切断されます。切断されたディスクのタイプ属性は、接続前のタイプ属性 (キープディスク、シングルディスクまたは未定義ディスク) に戻ります。

group 内にボリュームが存在している場合および group が上位グループに接続されている場合は、削除できません。


サブオプション

以下のサブオプションが指定できます。

-a attribute=value[,attribute=value] (-C 指定時)

-C オプション指定時に新しいグループ名を -h オプションで指定した場合、自動的に新しいグループ hgroup が作成されます。本オプションでは、作成される hgroup の属性として attribute value に設定します。

attribute には属性名、value には属性値を指定します。attribute value の間には、必ずイコール (=) を入れます。複数の属性を設定する場合は、これらの指定子の組合せをカンマ (,) で区切って指定します。

グループが作成されない場合、既存の hgroup の属性値と異なる value を指定するとエラーとなります。既存の hgroup の属性値を変更することはできません。

attribute value には、以下の任意の組合せが指定できます。
複数の属性が指定された場合、一部の処理でエラーが発生すると一切処理を行いません。

type=mirrortype=stripe,または type=concat (省略時は mirror)

hgroup のタイプ属性を設定します。

mirror

タイプ属性を「ミラー」に設定します。

stripe

タイプ属性を「ストライプ」に設定します。

concat

タイプ属性を「コンカチネーション」に設定します。

width=blks (省略時は 32)

hgroup のストライプ幅を設定します。blks には、ストライプ幅をブロック数 (10進数) で指定します。1 ブロックは 512 バイトです。blks に指定可能な値は、2 のべき乗で、1 以上、1,073,741,824 以下、かつ lgroup,... で指定された最小のグループの、有効サイズ以下の整数です。hgroup がストライプグループではない場合は、エラーとなります。


-c class

class には、操作対象となるグループが属しているクラスのクラス名を指定します。


-e delay=msec (-C 指定時)

グループをミラーグループに接続した場合、必要に応じてボリューム内のデータがコピーされます。このコピー処理に伴うディスクへの入出力要求の発行を msec で指定された時間 (単位はミリ秒) だけ遅延させます。

本オプションによって、ボリュームを使用しているアプリケーションへの影響を調整できます。

遅延時間のデフォルト値は 0 です。

msec に指定可能な値は、0 から 1000 までです。

hgroup がミラーグループではない場合、本オプションの指定は無視されます。


-g group (-R 指定時)

group には、操作対象となるグループのグループ名を指定します。


-h hgroup (-C,-D 指定時)

hgroup には、操作対象となる下位グループが接続されている、または接続しようとしている上位グループのグループ名を指定します。


-l lgroup (-D 指定時)

lgroup には、操作対象となる下位グループのグループ名を指定します。


-l lgroup,... (-C 指定時)

lgroup には、操作対象となる下位グループのグループ名を指定します。複数のグループを接続する場合は、グループ名をカンマ (,) で区切って指定します。


戻り値

正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。