5 ASMCMDによるOracle ADVMの管理
Oracle ASMコマンドライン・ユーティリティ(ASMCMD)は、Oracle ADVMボリュームを管理するコマンドを提供します。
ASMCMDユーティリティは、対話モードでも非対話モードでも実行できます。
この章では、Oracle Automatic Storage Management (Oracle ASM) コマンドライン・ユーティリティ(ASMCMD)のボリューム管理コマンドについて説明します。
関連項目:
-
Oracle ASM動的ボリューム・マネージャ(Oracle ADVM)の詳細は、「Oracle ASM動的ボリューム・マネージャの概要」
-
ボリュームを管理するための
ALTERDISKGROUPADDVOLUMESQL文の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください -
ASMCAコマンドライン・インタフェースの実行に関する一般的な情報は、Oracle Automatic Storage Management管理者ガイドを参照してください
ASMCMDボリューム管理コマンド
このトピックでは、Oracle ADVMボリューム管理コマンドの概要を示します。
表5-1に、Oracle ADVMボリューム管理コマンドと簡単な説明を示します。これらのコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、コマンドに必要なディスク・グループがそのOracle ASMインスタンスに作成され、マウントされている必要があります。
表5-1 ASMCMDボリューム管理コマンドの概要
| コマンド | 説明 |
|---|---|
|
指定されたディスク・グループにOracle ADVMボリュームを作成します。 |
|
|
Oracle ADVMボリュームを削除します。 |
|
|
マウントされているディスク・グループ内のOracle ADVMボリュームを無効にします。 |
|
|
マウントされているディスク・グループ内のOracle ADVMボリュームを有効にします。 |
|
|
Oracle ADVMボリュームに関する情報を表示します。 |
|
|
Oracle ADVMボリュームのサイズを変更します。 |
|
|
マウントされているディスク・グループ内のOracle ADVMボリュームの属性を設定します。 |
|
|
ボリュームI/O統計をレポートします。 |
volcreate
目的
指定されたディスク・グループにOracle ADVMボリュームを作成します。
構文および説明
volcreate -G diskgroup -s size [ --column number ] [ --width stripe_width ] [--redundancy {high|mirror|unprotected}] volume
表5-2に、volcreateコマンドのオプションを示します。
表5-2 volcreateコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
|
|
|
ストライプ・セット内の列数。値の範囲は |
|
|
ボリュームのストライプ幅(単位は |
|
|
標準冗長性のディスク・グループにのみ指定可能なOracle ADVMボリュームの冗長性。冗長性が指定されていない場合、設定はデフォルトでディスク・グループの冗長性レベルになります(推奨設定です)。値の範囲は、非ミラー化冗長性の場合は |
|
|
ボリュームの名前。英数字とアンダースコアのみ使用できます。ハイフンは使用できません。最初の文字は、英字にする必要があります。 |
警告:
--redundancy unprotectedの指定は、Oracle ASMのミラー化がOracle ADVMボリュームによるデータ・リカバリに対して使用不可であることを意味します。ディスク・グループの冗長性の設定(normal)では、保護されていないOracle ADVMボリュームのミラー化は提供されません。unprotected構成は、断続的なストレージ・アクセス障害によりデータ損失が発生する可能性があるため、本番環境では推奨されません。バックアップを強くお薦めします。
Oracle ADVMボリュームの作成時に、ボリューム・デバイス名は、一意のOracle ADVM永続ディスク・グループ番号をボリューム名の最後に連結して作成します。一意の番号の桁数は1から3です。
Linuxでは、ボリューム・デバイス名の書式はvolume_name-nnnです(volume1-123など)。
Linuxプラットフォームでは、ボリューム名は11文字以下の英数字とし、先頭の文字はアルファベットにする必要があります。AIXプラットフォームでは、ボリューム名は23文字以下の英数字とし、先頭の文字はアルファベットにする必要があります。Solarisプラットフォームでは、ボリューム名は30文字以下の英数字とし、先頭の文字をアルファベットにする必要があります。
ボリューム・デバイス名は、volinfoコマンドを使用して特定できます。
--columnオプションが1に設定される場合、ストライピングは無効になり、ストライピング幅はボリュームのデフォルト・エクステント・サイズ(64 MB)と同じになります。データベース・データファイルおよびその他のファイルを使用して最適なパフォーマンスを実現するには、--columnオプションを8(デフォルト)に設定することをお薦めします。
ボリュームが正常に作成されると、ボリューム・デバイスは自動的に有効になります。
ボリューム・デバイス・ファイルは、他のディスクまたは論理ボリュームとして、ファイルシステムをマウントするために、またはアプリケーションで直接使用するために機能します。
アクセラレータ・ボリュームを作成する場合、プライマリ・ボリュームのストレージよりも大幅に高速なストレージを使用してディスク・グループにボリュームを作成します。
AIX上にOracle ADVMボリュームを作成する前に、必要なユーザー認証が作成されていることを確認します。
例
次に、volcreateコマンドの例を示します。この例では、サイズを10GBに設定してdataディスク・グループにvolume1を作成します。
例5-1 ASMCMD volcreateコマンドの使用方法
ASMCMD [+] > volcreate -G data -s 10G --width 1M --column 8 volume1
ASMCMD [+] > volinfo -G data volume1
Diskgroup Name: DATA
Volume Name: VOLUME1
Volume Device: /dev/asm/volume1-123
State: ENABLED
Size (MB): 10240
Resize Unit (MB): 64
Redundancy: MIRROR
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath: 関連項目:
-
ボリューム・デバイス・ファイルのマウントの詳細は、「Oracle ACFSファイルシステムの作成」
-
volinfoコマンドの詳細は、「volinfo」 -
Oracle ADVMの制限事項の詳細は、「Oracle ADVMの制限事項」
-
アクセラレータ・ボリュームの詳細は、「mkfs」
-
AIXでのユーザー認証の詳細は、「AIX環境用のOracle ACFSコマンドライン・ツール」
-
ミラー化、冗長性および障害グループの詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください
voldelete
目的
Oracle ADVMボリュームを削除します。
構文および説明
voldelete -G diskgroup volume
表5-3に、voldeleteコマンドのオプションを示します。
表5-3 voldeleteコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
ボリュームの名前。 |
このコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、このコマンドに必要なディスク・グループがそのOracle ASMインスタンスにマウントされている必要があります。ボリュームを削除する前に、ボリュームに関連付けられたアクティブなファイルシステムがないことを確認する必要があります。
例
次に、voldeleteコマンドの例を示します。この例では、dataディスク・グループからvolume1を削除します。
例5-2 ASMCMD voldeleteコマンドの使用方法
ASMCMD [+] > voldelete -G data volume1
voldisable
目的
マウントされているディスク・グループ内のOracle ADVMボリュームを無効にし、ローカル・ノードのボリューム・デバイスを削除します。
構文および説明
voldisable { --all |{ -G diskgroup { -a | volume } } }表5-4に、voldisableコマンドのオプションを示します。
表5-4 voldisableコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
すべてのディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
指定したディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームの名前。 |
Oracle ASMインスタンスの停止またはディスク・グループのディスマウントの前にボリュームを無効にして、オープン・ボリューム・ファイルのためにforceオプションを指定しなくても正常に操作できることを確認します。また、ボリュームを無効にすると、そのボリュームは存在しなくなるため、それ以降にボリュームまたはデバイス・ファイルはオープンできなくなります。
ボリュームを無効にする前に、ボリュームに関連付けられたアクティブなファイルシステムがないことを確認する必要があります。先に、Oracle ACFSファイルシステムをディスマウントしてから、ボリュームを無効にします。「ボリュームおよびOracle ACFSファイルシステムの登録解除、ディスマウント、無効化」を参照してください。
ボリュームは、先にボリュームを無効にしなくても削除できます。
例
次に、voldisableコマンドの例を示します。この例では、dataディスク・グループのvolume1を無効にします。
例5-3 ASMCMD voldisableコマンドの使用方法
ASMCMD [+] > voldisable -G data volume1
volenable
目的
マウントされているディスク・グループ内のOracle ADVMボリュームを有効にします。
構文および説明
volenable { --all |{ -G diskgroup { -a | volume } } }表5-5に、volenableコマンドのオプションを示します。
表5-5 volenableコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
すべてのディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
指定したディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームの名前。 |
ボリュームは作成時に有効になります。
例
次に、volenableコマンドの例を示します。この例では、dataディスク・グループのvolume1を有効にします。
例5-4 ASMCMD volenableコマンドの使用方法
ASMCMD [+] > volenable -G data volume1
volinfo
目的
Oracle ADVMボリュームに関する情報を表示します。
構文および説明
volinfo { --all |{ -G diskgroup { -a | volume } } }
volinfo {--show_diskgroup |--show_volume} volumedevice表5-6に、volinfoコマンドのオプションを示します。
表5-6 volinfoコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
すべてのディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
指定したディスク・グループ内のすべてのボリュームを指定します。 |
|
|
ボリュームの名前。 |
|
|
ディスク・グループ名のみを戻します。ボリューム・デバイス名が必要です。 |
|
|
ボリューム名のみを戻します。ボリューム・デバイス名が必要です。 |
|
|
ボリューム・デバイスの名前。 |
例
1つ目の例では、dataディスク・グループのvolume1ボリュームに関する情報を表示します。これはLinux環境で生成された例です。
Mountpathフィールドには、ボリュームが現在マウントされているパスまたはボリュームが最後にマウントされたパスが含まれます。
例5-5 ASMCMD volinfoコマンドの使用方法
ASMCMD [+] > volinfo -G data volume1
Diskgroup Name: DATA
Volume Name: VOLUME1
Volume Device: /dev/asm/volume1-123
State: ENABLED
Size (MB): 10240
Resize Unit (MB): 64
Redundancy: MIRROR
Stripe Columns: 8
Stripe Width (K): 1024
Usage: ACFS
Mountpath: /acfsmounts/acfs1
volresize
目的
Oracle ADVMボリュームのサイズを変更します。
構文および説明
volresize -G diskgroup -s size [ -f ] volume
表5-7に、volresizeコマンドのオプションを示します。
表5-7 volresizeコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
Oracle ACFSボリューム以外のボリュームの圧縮を強制し、警告メッセージを非表示にします。 |
|
|
ボリュームの名前。 |
|
|
ボリュームの新しいサイズ。単位は |
ボリュームが非Oracle ACFSファイルシステムにマウントされている場合、サイズの変更の前にファイルシステムをディスマウントします。新しいサイズが現在より小さい場合、データ破損の可能性が警告されます。-f(強制)オプションを指定しないかぎり、操作を続行するか確認を求められます。
Oracle ACFSファイルシステムがボリューム上に存在する場合、volresizeコマンドではボリュームのサイズを変更できません。acfsutil sizeコマンドを使用する必要があります。このコマンドではボリュームとファイルシステムのサイズも変更できます。詳細は、「acfsutil size」を参照してください。
例
次に、volresizeコマンドの例を示します。この例では、dataディスク・グループのvolume1のサイズを20GBに変更します。
例5-6 ASMCMD volresizeコマンドの使用方法
ASMCMD [+] > volresize -G data -s 20G volume1
volset
目的
マウントされているディスク・グループ内のOracle ADVMボリュームの属性を設定します。
構文および説明
volset -G diskgroup [ --usagestring string] [--mountpath mount_path ] volume
表5-8に、volsetコマンドのオプションを示します。
表5-8 volsetコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
ボリュームを含むディスク・グループの名前。 |
|
|
ボリュームにタグを付けるオプションの使用状況文字列(30文字まで)。この文字列は、ボリュームがOracle ACFSファイルシステムに接続されている場合は |
|
|
マウント・パス文字列でボリュームにタグを付けるオプションの文字列(1024文字まで)。この文字列は、ファイルシステムがマウントされている場合に設定されます。この設定を変更しないでください。 |
|
|
ボリュームの名前。 |
mkfsを実行してファイルシステムを作成しているときは、usageフィールドはACFSに設定され、mountpathフィールドは設定されていれば空白文字列にリセットされます。usageフィールドはACFSのままにしておく必要があります。
mountコマンドを実行してファイルシステムをマウントしているときは、mountpathフィールドはファイルシステムのマウント・ポイントを識別するマウント・パス値に設定されます。この値がmountコマンドにより設定されると、mountpathフィールドは更新できません。
例
次に、volsetコマンドの例を示します。この例では、ファイルシステムに関連付けられていないボリュームに対するusage文字列を設定します。
例5-7 ASMCMD volsetコマンドの使用方法
ASMCMD [+] > volset -G data --usagestring 'no file system created' volume1
volstat
目的
Oracle ADVMボリュームに関するI/O統計をレポートします。
構文および説明
volstat [-G diskgroup] [volume]
表5-9に、volstatコマンドのオプションを示します。
表5-9 volstatコマンドのオプション
| オプション | 説明 |
|---|---|
|
|
ボリュームを含む、マウントされているディスク・グループの名前。 |
|
|
ボリュームの名前。 |
volstatコマンドを使用する際は、次のことが適用されます。
-
ディスク・グループを指定せず、ボリューム名を指定すると、すべてのマウントされているディスク・グループで指定したボリューム名が検索されます。
-
ディスク・グループ名を指定し、ボリューム名を省略すると、名前が付いたディスク・グループについて、すべてのボリュームが表示されます。
-
ディスク・グループ名とボリューム名の両方を省略すると、すべてのディスク・グループ上のすべてのボリュームが表示されます。
例
次に、volstatコマンドの例を示します。この例では、dataディスク・グループ内のボリュームに関する情報を表示します。
例5-8 ASMCMD volstatコマンドの使用方法
ASMCMD [+] > volstat -G data
DISKGROUP NUMBER / NAME: 1 / DATA
---------------------------------------
VOLUME_NAME
READS BYTES_READ READ_TIME READ_ERRS
WRITES BYTES_WRITTEN WRITE_TIME WRITE_ERRS
-------------------------------------------------------------
VOLUME1
10085 2290573312 22923 0
1382 5309440 1482 0