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

D.15 sdxshadowdisk - シャドウディスクの操作

形式

sdxshadowdisk -C -c class -g group -d disk,...
           [-a attribute=value[,attribute=value]]
sdxshadowdisk -D -c class -g group -d disk
sdxshadowdisk -M -c class -d device=disk[:type][,device=disk[:type],...]
sdxshadowdisk -R -c class -d disk

機能説明

sdxshadowdisk は、disk で指定されたシャドウディスクを操作するためのコマンドです。スーパユーザ権限を持つユーザだけが sdxshadowdisk コマンドを実行することができます。


基本オプション

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

-C

Connect
disk,... で指定された 1 つあるいは複数のシャドウディスク (シングルタイプあるいは未定義タイプ) を、group で指定されたシャドウグループに接続します。class には disk が登録されているシャドウクラスのクラス名を指定します。

group と同じ名前を持つシャドウグループが存在しない場合は、自動的に作成されます。

シングルタイプのシャドウディスクは、すでに存在しているシャドウグループには接続できません。また、複数のシングルタイプのシャドウディスクを、1 つのシャドウグループに同時に接続することはできません。

シャドウグループに接続されたシャドウディスクのタイプ属性は、シャドウグループと同じタイプ属性 (ミラー、ストライプあるいはコンカチネーション) に変更されます。同じシャドウグループに接続されたシャドウディスクおよび下位シャドウグループは、タイプ属性に応じて、ミラーリング、ストライピングあるいはコンカチネートされます。

以下は、シャドウディスクを接続するシャドウグループがミラータイプの場合、ストライプタイプの場合、およびコンカチネーションタイプの場合、3 つの場合に分けて説明します。

シャドウディスクをミラータイプのシャドウグループに接続する場合:


ミラータイプの同じシャドウグループに接続されたシャドウディスクおよび下位シャドウグループは、互いにミラーリングされます。ミラータイプのシャドウグループにシャドウディスクまたは下位シャドウグループが 1 つしか接続されていない場合、そのシャドウグループに作成されるシャドウボリュームはミラーリングされません。n 多重のミラーリングを行う場合は、n 個のシャドウディスクまたは下位シャドウグループを接続する必要があります。最大 8 多重までのミラーリングが可能です。

シャドウボリュームが存在するミラータイプのシャドウグループにシャドウディスクを接続しても、シャドウボリュームの等価性コピー処理は実行されません。ミラータイプのシャドウボリュームの等価性を保証するためには、シャドウボリュームに対応するミラーボリュームを管理している GDS、SafeDISK、または SafeDISK/Global によってミラーボリュームの等価性を保証する必要があります。

シャドウボリュームが存在するシングルタイプのシャドウディスクをミラータイプのシャドウグループに接続することによって、シャドウボリュームをシングルタイプからミラータイプに変更することもできます。

ミラータイプのシャドウグループの有効サイズ (シャドウボリュームとして使用可能な容量) は、接続された最小のシャドウディスクまたは下位シャドウグループの有効サイズと同じになります。disk を接続することによって group の有効サイズが減少した場合、警告メッセージを標準エラー出力します。

シャドウディスクをストライプタイプのシャドウグループに接続する場合:


disk,... で指定されたシャドウディスクは、指定された順に group に接続されます。他のドメインでストライプグループに接続されているディスクを、他のドメインと同じ順に接続してください。または、ストライプグループに接続されているディスクをコピー元として、ディスク装置のコピー機能によってコピーされたコピー先のディスクを、コピー元と同じ順に接続してください。ディスクの接続順序は、sdxinfo -G コマンドで表示される DISKS フィールドで確認できます。ストライプタイプの同じシャドウグループに接続されたシャドウディスクおよび下位シャドウグループは、各々がストライプ列の役割を果たし、接続された順にストライピングされます。ストライプタイプのシャドウグループにシャドウディスクまたは下位シャドウグループが 1 つしか接続されていない場合、そのシャドウグループにはシャドウボリュームを作成できません。n 列のストライピングを行う場合は、n 本のシャドウディスクまたは下位シャドウグループを接続する必要があります。2 列以上、最大 64 列までのストライピングが可能です。

group で指定されたストライプタイプのシャドウグループがすでに存在している場合、group 内にすでに存在しているストライプ列の後に、disk,... で指定された順にストライプ列が追加されます。ただし、すでに存在しているストライプタイプのシャドウグループに、有効サイズがストライプ幅よりも小さいシャドウディスクを接続することはできません。また、すでにシャドウボリュームが存在するストライプグループ、および上位シャドウグループに接続されているストライプグループに対しては、シャドウディスクを接続してストライプ列数を増やすことはできません。

ストライプタイプのシャドウグループの有効サイズ (シャドウボリュームとして使用可能な容量) は、接続された最小のシャドウディスク (または下位シャドウグループ) の有効サイズに、ストライプ列数を掛けて、(ストライプ幅) × (ストライプ列数) とシリンダサイズとの公倍数に切り捨てたサイズとなります。disk を接続することによって group の有効サイズが減少した場合、警告メッセージを標準エラー出力します。

シングルタイプのシャドウディスクをストライプタイプのシャドウグループに接続することはできません。

シャドウディスクをコンカチネーションタイプのシャドウグループに接続する場合:


コンカチネーションタイプの同じシャドウグループに接続されたシャドウディスクは、disk,... で指定された順にコンカチネートされます。他のドメインでコンカチネーショングループに接続されているディスクを、他のドメインと同じ順に接続してください。または、コンカチネーショングループに接続されているディスクをコピー元として、ディスク装置のコピー機能によってコピーされたコピー先のディスクを、コピー元と同じ順に接続してください。ディスクの接続順序は、sdxinfo -G コマンドで表示される DISKS フィールドで確認できます。最大 64 個までのコンカチネーションが可能です。

コンカチネーションタイプのシャドウグループの有効サイズ (シャドウボリュームとして使用可能な容量) は、接続されたシャドウディスクの有効サイズを合計したサイズとなります。

すでに存在しているコンカチネーションタイプのシャドウグループにシャドウディスクを接続することによって、シャドウグループの有効サイズを増加させることができます。group で指定されたコンカチネーションタイプのシャドウグループがすでに存在している場合、group 内で最後にコンカチネートされたシャドウディスクの後ろに、disk,... で指定された順にシャドウディスクがコンカチネートされます。ただし、ストライプタイプの最上位シャドウグループにすでにシャドウボリュームが存在する場合、コンカチネーションタイプの下位シャドウグループにシャドウディスクを接続することはできません。また、上位からミラータイプ、ストライプタイプ、コンカチネーションタイプの順にシャドウグループが接続されている場合、コンカチネーションタイプの最下位シャドウグループにシャドウディスクを接続することはできません。

シングルタイプのシャドウディスクをコンカチネーションタイプのシャドウグループに接続することはできません。


-D

Disconnect
disk で指定されたシャドウディスクを、group で指定されたシャドウグループから切断します。class には disk が登録されているシャドウクラスのクラス名、group には disk が接続されているシャドウグループのグループ名を指定します。

切断されたシャドウディスクのタイプ属性は、接続前のタイプ属性 (シングルまたは未定義) に戻ります。

group disk のみが接続されている場合、disk が切断されると、group も自動的に削除されます。ただし、disk のみが接続されている group が上位シャドウグループに接続されている場合はエラーとなり、disk を切断することはできません。そのような disk を切断するには、まず、sdxshadowgroup -D コマンドを使用して、group を上位シャドウグループから切断してください。

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

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

シャドウディスクをミラータイプのシャドウグループから切断する場合:


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

シャドウディスクをストライプタイプのシャドウグループから切断する場合:


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

シャドウディスクをコンカチネーションタイプのシャドウグループから切断する場合:


コンカチネーションタイプのシャドウグループから切断できるのは、最後にコンカチネートされたシャドウディスクのみです。

シャドウボリュームのデータが存在するシャドウディスクを、コンカチネーションタイプのシャドウグループから切断することはできません。

ストライプタイプの最上位シャドウグループにシャドウボリュームが存在する場合、コンカチネーションタイプの下位シャドウグループからシャドウディスクを切断することはできません。また、上位からミラータイプ、ストライプタイプ、コンカチネーションタイプの順にシャドウグループが接続されている場合、コンカチネーションタイプの最下位シャドウグループからシャドウディスクを切断することはできません。


-M

Make
device で指定された 1 つあるいは複数の物理ディスクを、シャドウクラスに登録します。class には登録先のシャドウクラスのクラス名を指定します。登録が完了した物理ディスクは GDS によって管理され、以降、ユーザは disk で指定したディスク名を使ってディスクを操作します。ただし、シャドウクラスの構成情報は占有スライスには格納されず自ノードのメモリ上にのみ存在するため、自ノードを再起動した場合、および自ノードの GDS のデーモンが再起動された場合、シャドウクラスの構成情報は消滅し、以降、device は GDS では管理されません。

class と同じ名前を持つシャドウクラスが存在しない場合は、自動的に作成されます。シャドウクラスのタイプ属性は「ローカル」であり、シャドウクラス内のオブジェクトは自ノードのみで使用可能です。

シャドウクラスには、自ドメインで他のクラスに登録されていない物理ディスクのうち、GDS、SafeDISK、または SafeDISK/Global の占有スライスが存在する物理ディスクを登録することができます。すなわち、他のドメインでクラスに登録されている物理ディスクや、ディスク装置のコピー機能によって他の SDX ディスクの占有スライスがコピーされている物理ディスクを登録することができます。同じシャドウクラスに登録する物理ディスクは、他のドメインで同じ名前のクラスに登録されているか、または、同じ名前のクラスに登録されている SDX ディスクの占有スライスがディスク装置のコピー機能によってコピーされている必要があります。また、占有スライスのサイズが異なるディスクを同じシャドウクラスに登録することはできません。

sdxdisk コマンドで登録された物理ディスク (キープディスクを除く) の内容は初期化されますが、sdxshadowdisk コマンドで登録された物理ディスクの内容は変更されません。


-R

Remove
disk で指定されたシャドウディスクを、class で指定されたシャドウクラスから削除します。class には、disk が登録されているシャドウクラスのクラス名を指定します。

削除が完了したシャドウディスクは、以降、GDS では管理されません。

class に登録されている最後のシャドウディスクが削除された場合、シャドウクラスの定義も自動的に削除されます。

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


サブオプション

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

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

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

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

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

attribute value には、以下の任意の組合せが指定できます。

複数の属性が指定された場合、一部の処理でエラーが発生すると一切処理を行いません。

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

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

mirror

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

stripe

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

concat

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

width=blks (省略時は 32)

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


-c class

class には、操作対象となるシャドウディスクが登録されているシャドウクラス、または登録しようとしているシャドウクラスのクラス名を指定します。


-d device=disk[:type][,device=disk[:type],...] (-M 指定時)

device には物理ディスク名、disk にはディスク名、type にはシャドウディスクのタイプ属性を指定します。device の後には必ずイコール (=) が続き、type を指定する場合は disk との間をコロン (:) で区切ります。複数の device を登録する場合は、上記の指定子の組合せをカンマ (,) で区切ります。指定できる device は400個までです。

物理ディスク名は、以下のいずれかの形式で指定できます。

    cCtTdD     (通常のハードディスクの場合)
    cCdD       (Oracle VM 環境の仮想ディスクの場合) 
    mphdI      (MPHD ディスクの場合)
    mplbI      (MPLB ディスクの場合)
    emcpowerN  (emcpower ディスクの場合)

C はコントローラ、T はターゲット ID、D はディスク番号、I は MPHD インスタンス番号あるいは MPLB インスタンス番号、N は emcpower デバイス番号を示します。emcpower デバイス番号は、0 から 9 までの一桁あるいは二桁以上の数字であり、スライス番号に相当する英小文字は指定しません。

device が他のドメインでクラスに登録されている場合、disk にはそのドメインと同じディスク名を指定します。device に、ディスク装置のコピー機能によって SDX ディスクの占有スライスがコピーされている場合、disk にはコピー元の SDX ディスクと同じディスク名を指定します。

type には以下のいずれかを指定します。省略時には、登録されたシャドウディスクは未定義タイプになります。

single

シングルタイプ

undef

未定義タイプ

type に single が指定された場合、device はシングルタイプのシャドウディスクとして登録されます。シングルタイプのシャドウディスクはシャドウグループへ接続しなくても sdxshadowvolume コマンドを使ってシングルタイプのシャドウボリュームを作成することができます。


-d disk (-D,-R 指定時)

disk には、操作対象となるシャドウディスクのディスク名を指定します。


-d disk,... (-C 指定時)

disk には、操作対象となるシャドウディスクのディスク名を指定します。複数のシャドウディスクを接続する場合は、ディスク名をカンマ (,) で区切って指定します。


-g group (-C,-D 指定時)

group には、操作対象となるシャドウディスクが接続されているシャドウグループ、または接続しようとしているシャドウグループのグループ名を指定します。

戻り値

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