形式
sdxvolume -F -c class [-v volume,...] [-e {allnodes|node=node[:node:...]}]
sdxvolume -M -c class {-g group|-d disk} -v volume -s size
[-a attribute=value[,attribute=value]] [-e delay=msec]
sdxvolume -N -c class [-v volume,...] [-e [allnodes|node=node[:node:...]],delay=msec,mode=val,nosync,unlock]
sdxvolume -R -c class -v volume
sdxvolume -S -c class -v volume -s size
機能説明
sdxvolume は、volume で指定されたボリューム・オブジェクト (シャドウボリュームは除く) を操作するためのコマンドです。スーパユーザ権限を持つユーザだけが sdxvolume コマンドを実行することができます。
基本オプション
以下の基本オプションのうち、いずれかを指定します。
oFfline
volume,... で指定された 1 つあるいは複数のボリュームを停止します。-v オプションが省略された場合は、class 内に存在するすべてのボリュームを停止します。停止されたボリュームにはアクセスすることができません。
volume の等価性コピー処理が実行中の場合は、停止できません。等価性コピー処理は、sdxcopy -C コマンドを使用して中止することができます。
停止されたボリュームは、リブート時には起動されます (ただし、起動がロックされている場合を除く)。
volume が使用中の場合はエラーとなります。
Make
volume で指定されたボリュームを、group で指定された最上位グループ内、または disk で指定されたシングルディスク内に作成します。size にはvolume のブロック数、class にはgroup またはdisk が属しているクラスのクラス名を指定します。
class がルートクラスの場合、同じ group 内には、物理スライス属性がオンのボリュームを最大 14 個作成することができます。
class がローカルクラスまたは共用クラスの場合、同じ group 内またはdisk 内には、物理スライス属性がオンのボリュームを最大 4 個作成することができ、物理スライス属性がオフのボリュームと合わせて最大 1024 個 (4.3A00 の場合は 224 個) のボリュームを作成することができます。
-a pslice=value オプションを省略した場合、物理スライス属性がオンのボリュームが作成されます。ただし、group がストライプグループ、コンカチネーショングループおよび直接接続されているのが下位グループのみのミラーグループの場合は、物理スライス属性がオンのボリュームは作成できないため、-a pslice=off オプションを指定して物理スライス属性をオフに設定する必要があります。
作成が完了すると、コマンドを実行したノードでボリュームが起動されて、以下の特殊ファイルを使ってアクセスできるようになります。
/dev/sfdsk/class/dsk/volume
group がミラーグループの場合、sdxvolume コマンドの復帰後に、自動的に等価性コピー処理を行います。
以下に、group がミラーグループの場合、ストライプグループの場合、およびスイッチグループの場合に作成されるボリュームの特徴について説明します。
データの可用性を維持するため、同一ディスク内でのミラーリングを制限しています。ミラーグループには、接続されているディスクまたは下位グループの数と同じ多重度 (最大 8 多重) のミラーボリュームが作成されます。ディスクまたは下位グループが 1 つしか接続されていない場合、作成されるボリュームはミラーリングされません。
ミラーグループ内に作成されたボリュームの最終ブロック番号が、class に登録されている任意のスペアディスクの有効サイズよりも大きくなった場合は、ホットスペアが機能しないという警告メッセージを標準エラー出力します。
ストライプグループには、接続されているディスクまたは下位グループの数と同じ列数 (最大 64 列) のストライプボリュームが作成されます。ディスクまたは下位グループが 1 つしか接続されていない場合は、ボリュームを作成できません。
スイッチグループには、接続されているディスクの数と同じ冗長度 (最大 2) のスイッチボリュームが作成されます。ディスクが 1 つしか接続されていない場合は、スイッチボリュームの運用ディスクの切替えはできません。
コマンドを実行したノードに運用ディスクが接続されていない場合は、ボリュームは起動されません。作成されたスイッチボリュームを使用するには、sdxattr -G コマンドを使用して運用ディスクを切り替えるか、または、運用ディスクが接続されているノードに移動してから、sdxvolume -N コマンドを使用してボリュームを起動する必要があります。
oNline
volume,... で指定された 1 つあるいは複数のボリュームを起動します。-v オプションが省略された場合は、class 内に存在するすべてのボリュームを起動します。起動されたボリュームはアクセス可能となります。
volume 内に切離し中のスライスが存在する場合、警告メッセージを標準エラー出力します。
volume がミラーボリュームの場合、sdxvolume コマンドの復帰後に、volume 内の等価性が崩れていないかどうかを判断して、必要であれば自動的に等価性コピー処理を行います (-e nosync 指定時を除く)。
volume がスイッチボリュームの場合、運用ディスクが接続されていないノードでは起動できません。また、volume が、下位スイッチグループが接続されている最上位コンカチネーショングループに属している場合、volume が属している運用ディスクが接続されていないノードでは volume を起動できません。
Remove
volume で指定されたボリュームを削除し、グループまたはシングルディスクで使用していたディスク領域を解放します。
ボリュームが起動中の場合はエラーとなります。
注意
volume に格納されていたデータは失われます。
reSize
volume で指定されたボリュームのサイズを size ブロックに拡張します。
class には volume が属しているクラスのクラス名を指定します。
volume は、以下のいずれかの条件を満たすボリュームでなければなりません。
シングルディスクに属している。
1 つのディスクのみで構成されているミラーグループに属している。
1 つの下位グループのみで構成されているミラーグループに属している。
volume が起動中であっても、サイズを拡張できます。
volume の先頭ブロックは変更されません。volume の先頭から size ブロックの領域に volume 以外のボリュームの領域が存在する場合は、エラーとなります。
サブオプション
以下のサブオプションが指定できます。
volume の属性であるattribute をvalue に設定します。
attribute には属性名、value には属性値を指定します。attribute と value の間には、必ずイコール (=) を入れます。複数の属性を設定する場合は、これらの指定子の組合せをカンマ (,) で区切って指定します。
attribute と value には、以下の任意の組合せが指定できます。
複数の属性が指定された場合、一部の処理でエラーが発生すると一切処理を行いません。
ボリュームの高速等価性回復モードを設定します。-gオプションでミラーグループ以外のグループが指定された場合は、エラーとなります。
高速等価性回復モードをオンにします。
高速等価性回復モードをオフにします。
ボリュームの物理スライス属性を設定します。-g オプションで物理スライスが作成できないグループ (ストライプグループ、コンカチネーショングループおよび直接接続されているのが下位グループのみのミラーグループ) を指定した場合は、on に設定することはできません。class がルートタイプの場合は、off に設定することができません。
ボリュームの物理スライス属性をオンにします。ボリュームを構成するスライスのうち、シングルディスク、スイッチグループに接続されているディスク、またはミラーグループに直接接続されているディスクに存在するスライスをディスクラベルに登録することによって、物理スライスを作成します。
ボリュームの物理スライス属性をオフにします。ボリュームを構成するどのスライスもディスクラベルに登録されず、物理スライスは作成されません。物理スライス属性をオフに設定した場合、スライスの切離しはできません。
class には、操作対象となるボリュームが属しているクラス、またはボリュームを作成しようとしているクラスのクラス名を指定します。
disk にはシングルボリュームを作成するシングルディスクのディスク名を指定します。
class のスコープに含まれているすべてのノードで、ボリュームを停止または起動します。停止しているノードは無視します。class は共用クラスでなければなりません。
本オプションと -e node=node[:node:...] オプションのどちらも指定しない場合は、自ノードのみでボリュームを停止または起動します。
ミラーボリュームの作成あるいは起動時に、等価性が保たれていない場合には自動的に等価性コピー処理が行われます (-e nosync 指定時を除く)。このコピー処理に伴うディスクへの入出力要求の発行を、msec で指定された時間 (単位はミリ秒) だけ遅延させます。
本オプションによって、ボリュームを使用しているアプリケーションへの影響を調整できます。
遅延時間の省略値は 0 です。
msec に指定可能な値は、0 から 1000 までです。
group でミラーグループが指定されていない場合、本オプションの指定は無視されます。
起動される 1 つあるいは複数のボリュームのアクセスモードを指定します。
val には、次のいずれかを指定できます。
読書き用として起動します。
読取り専用として起動します。読取り専用のボリュームを書込みモードでオープンすると、エラーとなります。
ボリュームは val で指定されたアクセスモードで起動されますが、ボリュームのアクセスモード属性は変更されません。val で指定されたアクセスモードは、ボリュームが起動されている間のアクセスモード (現在のアクセスモード) のみに影響し、ボリュームを停止すると無効になります。ボリュームを再起動したときには、アクセスモード属性に設定されているアクセスモード (省略時のアクセスモード) で起動されます (再起動時に本オプションを指定した場合は除く)。
すでに自ノードで起動されているボリュームを異なるアクセスモードで起動するためには、一度ボリュームを停止する必要があります。
指定された 1 つあるいは複数のノードで、ボリュームを停止または起動します。
停止しているノードは無視します。node には、ボリュームを停止または起動するノードのノード識別名を指定します。class のスコープに含まれていない node が指定された場合、どのノードでもボリュームの停止または起動を行いません。class は共用クラスでなければなりません。
本オプションと -e allnodes オプションのどちらも指定しない場合は、自ノードのみでボリュームを停止または起動します。
ミラーボリュームの起動後に、自動的に等価性コピーを行いません。
group でミラーグループが指定されていない場合、本オプションの指定は無視されます。
注意
本オプションを指定して起動したボリュームはミラーリングされません。ミラーリングするためには、sdxcopy -B コマンドで等価性コピーを実行する必要があります。
起動がロックされているかどうかに関係なく、ボリュームを起動します。
起動ロックモードは変更されません。起動ロックモードは、sdxattr -V コマンドを使って変更できます。
group には、ボリュームを作成するグループのグループ名を指定します。
作成する volume のブロック数 (10 進数) を指定します。1 ブロックは 512 バイトです。
group がストライプグループの場合、作成される volume は、size を (ストライプ幅) × (ストライプ列数) とシリンダサイズとの公倍数に切り上げたサイズになります。その他の場合、作成される volume は、size をシリンダサイズの整数倍に切り上げたサイズになります。
サイズを拡張する volume の、サイズ拡張後のブロック数 (10 進数) を指定します。1 ブロックは 512 バイトです。
サイズ拡張後の volume は、size をシリンダサイズの整数倍に切り上げたサイズになります。
volume には、操作対象となるボリュームのボリューム名を指定します。
volume,... には操作対象となる 1 つあるいは複数のボリュームのボリューム名を指定します。複数のボリュームを指定する場合は、ボリューム名をカンマ (,) で区切って指定します。指定できる volume は、400 個までです。
戻り値
正常終了した場合には 0 を返し、そうでない場合には 0 以外の値を返します。