15 ASMCMDによるOracle ADVMの管理

Oracle ASMコマンドライン・ユーティリティ(ASMCMD)は、Oracle ADVMボリュームを管理するコマンドを提供します。

この章では、Oracle Automatic Storage Management (Oracle ASM) コマンドライン・ユーティリティ(ASMCMD)のボリューム管理コマンドについて説明します。

関連項目:

ASMCMDボリューム管理コマンド

このトピックでは、Oracle ADVMボリューム管理コマンドの概要を示します。

表15-1に、Oracle ADVMボリューム管理コマンドと簡単な説明を示します。これらのコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、コマンドに必要なディスク・グループがそのOracle ASMインスタンスに作成され、マウントされている必要があります。

表15-1 ASMCMDボリューム管理コマンドの概要

コマンド 説明

volcreate

指定されたディスク・グループにOracle ADVMボリュームを作成します。

voldelete

Oracle ADVMボリュームを削除します。

voldisable

マウントされているディスク・グループ内のOracle ADVMボリュームを無効にします。

volenable

マウントされているディスク・グループ内のOracle ADVMボリュームを有効にします。

volinfo

Oracle ADVMボリュームに関する情報を表示します。

volresize

Oracle ADVMボリュームのサイズを変更します。

volset

マウントされているディスク・グループ内のOracle ADVMボリュームの属性を設定します。

volstat

ボリュームI/O統計をレポートします。

volcreate

目的

指定されたディスク・グループにOracle ADVMボリュームを作成します。

構文および説明

volcreate -G diskgroup -s size
   [ --column number ] [ --width stripe_width ]
   [--redundancy {high|mirror|unprotected}]
   [--primary {hot|cold}] [--secondary {hot|cold}] volume

表15-2に、volcreateコマンドのオプションを示します。

表15-2 volcreateコマンドのオプション

オプション 説明

-G diskgroup

ボリュームを含むディスク・グループの名前。

-s size

KMGまたはTの単位で作成されるボリュームのサイズ。値は正整数である必要があります。単位は、指定する数値の後に付ける必要があります。数値と単位指定の間に、空白は使用できません。たとえば200Mまたは20Gと指定します。

--column number

ストライプ・セット内の列数。値の範囲は1から8です。デフォルト値は8です。

--width stripe

ボリュームのストライプ幅(単位はKまたはM)。値は2の累乗の間隔で4KBから1MBです。デフォルトは1Mです。

--redundancy { high | mirror | unprotected}

標準冗長性のディスク・グループにのみ指定可能なOracle ADVMボリュームの冗長性。冗長性が指定されていない場合、設定はデフォルトでディスク・グループの冗長性レベルになります(推奨設定です)。値の範囲は、非ミラー化冗長性の場合はunprotected、ダブル・ミラー化冗長性の場合はmirror、トリプル・ミラー化冗長性の場合はhighです。

--primary {hot|cold}

プライマリ・エクステントに対するデータ配置の指定。hotまたはcoldリージョンのいずれか。

--secondary {hot|cold}

セカンダリ・エクステントに対するデータ配置の指定。hotまたはcoldリージョンのいずれか。

volume

ボリュームの名前。英数字とアンダースコアのみ使用できます。ハイフンは使用できません。最初の文字は、英字にする必要があります。

警告:

--redundancy unprotectedの指定は、Oracle ASMのミラー化がOracle ADVMボリュームによるデータ・リカバリに対して使用不可であることを意味します。ディスク・グループの冗長性の設定(normal)では、保護されていないOracle ADVMボリュームのミラー化は提供されません。unprotected構成は、断続的なストレージ・アクセス障害によりデータ損失が発生する可能性があるため、本番環境では推奨されません。バックアップを強くお薦めします。

Oracle ADVMボリュームの作成時に、ボリューム・デバイス名は、一意のOracle ADVM永続ディスク・グループ番号をボリューム名の最後に連結して作成します。一意の番号の桁数は1から3です。

Linuxでは、ボリューム・デバイス名の書式はvolume_name-nnnです(volume1-123など)。Windowsでは、ボリューム・デバイス名の書式はasm-volume_name-nnnです(asm-volume1-123など)。

Linuxプラットフォームでは、ボリューム名は11文字以下の英数字とし、先頭の文字はアルファベットにする必要があります。AIXプラットフォームでは、ボリューム名は23文字以下の英数字とし、先頭の文字はアルファベットにする必要があります。WindowsおよびSolarisプラットフォームでは、ボリューム名は30文字以下の英数字とし、先頭の文字はアルファベットにする必要があります。

ボリューム・デバイス名は、volinfoコマンドを使用して特定できます。

--columnオプションが1に設定される場合、ストライピングは無効になり、ストライピング幅はボリュームのエクステント・サイズと同じになります。ディスク・グループの割当て単位(AU)が8MB以下の場合、ボリュームのエクステント・サイズは8 MBになります。AUサイズが8MBより大きい場合、Oracle ADVMのボリュームのエクステント・サイズはディスク・グループのAUサイズと同じになります。データベース・データファイルおよびその他のファイルを使用して最適なパフォーマンスを実現するには、--columnオプションを8(デフォルト)に設定することをお薦めします。

ボリュームが正常に作成されると、ボリューム・デバイスは自動的に有効になります。

ボリューム・デバイス・ファイルは、他のディスクまたは論理ボリュームとして、ファイルシステムをマウントするために、またはアプリケーションで直接使用するために機能します。

アクセラレータ・ボリュームを作成する場合、プライマリ・ボリュームのストレージよりも大幅に高速なストレージを使用してディスク・グループにボリュームを作成します。

AIX上にOracle ADVMボリュームを作成する前に、必要なユーザー認証が作成されていることを確認します。

次に、volcreateコマンドの例を示します。この例では、サイズを10GBに設定してdataディスク・グループにvolume1を作成します。

例15-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: 

関連項目:

voldelete

目的

Oracle ADVMボリュームを削除します。

構文および説明

voldelete -G diskgroup volume

表15-3に、voldeleteコマンドのオプションを示します。

表15-3 voldeleteコマンドのオプション

オプション 説明

-G diskgroup

ボリュームを含むディスク・グループの名前。

volume

ボリュームの名前。

このコマンドを正常に実行するには、ローカルOracle ASMインスタンスが実行中で、このコマンドに必要なディスク・グループがそのOracle ASMインスタンスにマウントされている必要があります。ボリュームを削除する前に、ボリュームに関連付けられたアクティブなファイルシステムがないことを確認する必要があります。

次に、voldeleteコマンドの例を示します。この例では、dataディスク・グループからvolume1を削除します。

例15-2 ASMCMD voldeleteコマンドの使用方法

ASMCMD [+] > voldelete -G data volume1

voldisable

目的

マウントされているディスク・グループ内のOracle ADVMボリュームを無効にし、ローカル・ノードのボリューム・デバイスを削除します。

構文および説明

voldisable { --all |{ -G diskgroup { -a | volume } } }

表15-4に、voldisableコマンドのオプションを示します。

表15-4 voldisableコマンドのオプション

オプション 説明

--all

すべてのディスク・グループ内のすべてのボリュームを指定します。

-G diskgroup

ボリュームを含むディスク・グループの名前。

-a

指定したディスク・グループ内のすべてのボリュームを指定します。

volume

ボリュームの名前。

Oracle ASMインスタンスの停止またはディスク・グループのディスマウントの前にボリュームを無効にして、オープン・ボリューム・ファイルのためにforceオプションを指定しなくても正常に操作できることを確認します。また、ボリュームを無効にすると、そのボリュームは存在しなくなるため、それ以降にボリュームまたはデバイス・ファイルはオープンできなくなります。

ボリュームを無効にする前に、ボリュームに関連付けられたアクティブなファイルシステムがないことを確認する必要があります。先に、Oracle ACFSファイルシステムをディスマウントしてから、ボリュームを無効にします。「ボリュームおよびOracle ACFSファイルシステムの登録解除、ディスマウント、無効化」を参照してください。

ボリュームは、先にボリュームを無効にしなくても削除できます。

次に、voldisableコマンドの例を示します。この例では、dataディスク・グループのvolume1を無効にします。

例15-3 ASMCMD voldisableコマンドの使用方法

ASMCMD [+] > voldisable -G data volume1

volenable

目的

マウントされているディスク・グループ内のOracle ADVMボリュームを有効にします。

構文および説明

volenable {  --all |{ -G diskgroup { -a | volume } } }

表15-5に、volenableコマンドのオプションを示します。

表15-5 volenableコマンドのオプション

オプション 説明

--all

すべてのディスク・グループ内のすべてのボリュームを指定します。

-G diskgroup

ボリュームを含むディスク・グループの名前。

-a

指定したディスク・グループ内のすべてのボリュームを指定します。

volume

ボリュームの名前。

ボリュームは作成時に有効になります。

次に、volenableコマンドの例を示します。この例では、dataディスク・グループのvolume1を有効にします。

例15-4 ASMCMD volenableコマンドの使用方法

ASMCMD [+] > volenable -G data volume1

volinfo

目的

Oracle ADVMボリュームに関する情報を表示します。

構文および説明

volinfo {  --all |{ -G diskgroup { -a | volume } } }
volinfo {--show_diskgroup |--show_volume}  volumedevice

表15-6に、volinfoコマンドのオプションを示します。

表15-6 volinfoコマンドのオプション

オプション 説明

--all

すべてのディスク・グループ内のすべてのボリュームを指定します。

-G diskgroup

ボリュームを含むディスク・グループの名前。

-a

指定したディスク・グループ内のすべてのボリュームを指定します。

volume

ボリュームの名前。

--show_diskgroup

ディスク・グループ名のみを戻します。ボリューム・デバイス名が必要です。

--show_volume

ボリューム名のみを戻します。ボリューム・デバイス名が必要です。

volumedevice

ボリューム・デバイスの名前。

1つ目の例では、dataディスク・グループのvolume1ボリュームに関する情報を表示します。これはLinux環境で生成された例です。2つ目の例では、dataディスク・グループのvolume1ボリュームに関する情報を表示します。これはWindows環境で生成された例です。

Mountpathフィールドには、ボリュームが現在マウントされているパスまたはボリュームが最後にマウントされたパスが含まれます。

例15-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

ASMCMD [+] > volinfo -G data -a
Diskgroup Name: DATA
         Volume Name: VOLUME1
         Volume Device: \\.\asm-volume1-311
         State: ENABLED
         Size (MB): 10240
         Resize Unit (MB): 64
         Redundancy: MIRROR
         Stripe Columns: 8
         Stripe Width (K): 1024
         Usage: ACFS
         Mountpath: C:\oracle\acfsmounts\acfs1

volresize

目的

Oracle ADVMボリュームのサイズを変更します。

構文および説明

volresize -G diskgroup -s size [ -f ] volume

表15-7に、volresizeコマンドのオプションを示します。

表15-7 volresizeコマンドのオプション

オプション 説明

-G diskgroup

ボリュームを含むディスク・グループの名前。

-f

Oracle ACFSボリューム以外のボリュームの圧縮を強制し、警告メッセージを非表示にします。

volume

ボリュームの名前。

-s size

ボリュームの新しいサイズ。単位はKMGまたはT

ボリュームが非Oracle ACFSファイルシステムにマウントされている場合、サイズの変更の前にファイルシステムをディスマウントします。新しいサイズが現在より小さい場合、データ破損の可能性が警告されます。-f(強制)オプションを指定しないかぎり、操作を続行するか確認を求められます。

Oracle ACFSファイルシステムがボリューム上に存在する場合、volresizeコマンドではボリュームのサイズを変更できません。acfsutil sizeコマンドを使用する必要があります。このコマンドではボリュームとファイルシステムのサイズも変更できます。詳細は、acfsutil sizeを参照してください。

次に、volresizeコマンドの例を示します。この例では、dataディスク・グループのvolume1のサイズを20GBに変更します。

例15-6 ASMCMD volresizeコマンドの使用方法

ASMCMD [+] > volresize -G data -s 20G volume1

volset

目的

マウントされているディスク・グループ内のOracle ADVMボリュームの属性を設定します。

構文および説明

volset -G diskgroup [ --usagestring string]
        [--mountpath  mount_path ]
        [--primary {hot|cold}] [--secondary {hot|cold}] volume

表15-8に、volsetコマンドのオプションを示します。

表15-8 volsetコマンドのオプション

オプション 説明

-G diskgroup

ボリュームを含むディスク・グループの名前。

--usagestring string

ボリュームにタグを付けるオプションの使用状況文字列(30文字まで)。この文字列は、ボリュームがOracle ACFSファイルシステムに接続されている場合はACFSに設定されます。この設定を変更しないでください。

--mountpath mount_path

マウント・パス文字列でボリュームにタグを付けるオプションの文字列(1024文字まで)。この文字列は、ファイルシステムがマウントされている場合に設定されます。この設定を変更しないでください。

--primary {hot|cold}

プライマリ・エクステントに対するデータ配置の指定。hotまたはcoldリージョンのいずれか。

--secondary {hot|cold}

セカンダリ・エクステントに対するデータ配置の指定。hotまたはcoldリージョンのいずれか。

volume

ボリュームの名前。

mkfsを実行してファイルシステムを作成しているときは、usageフィールドはACFSに設定され、mountpathフィールドは設定されていれば空白文字列にリセットされます。usageフィールドはACFSのままにしておく必要があります。

mountコマンドを実行してファイルシステムをマウントしているときは、mountpathフィールドはファイルシステムのマウント・ポイントを識別するマウント・パス値に設定されます。この値がmountコマンドにより設定されると、mountpathフィールドは更新できません。

次に、volsetコマンドの例を示します。この例では、ファイルシステムに関連付けられていないボリュームに対するusage文字列を設定します。

例15-7 ASMCMD volsetコマンドの使用方法

ASMCMD [+] > volset -G data --usagestring 'no file system created' volume1

volstat

目的

Oracle ADVMボリュームに関するI/O統計をレポートします。

構文および説明

volstat [-G diskgroup] [volume]

表15-9に、volstatコマンドのオプションを示します。

表15-9 volstatコマンドのオプション

オプション 説明

-G diskgroup

ボリュームを含む、マウントされているディスク・グループの名前。

volume

ボリュームの名前。

volstatコマンドを使用する際は、次のことが適用されます。

  • ディスク・グループを指定せず、ボリューム名を指定すると、すべてのマウントされているディスク・グループで指定したボリューム名が検索されます。

  • ディスク・グループ名を指定し、ボリューム名を省略すると、名前が付いたディスク・グループについて、すべてのボリュームが表示されます。

  • ディスク・グループ名とボリューム名の両方を省略すると、すべてのディスク・グループ上のすべてのボリュームが表示されます。

次に、volstatコマンドの例を示します。この例では、dataディスク・グループ内のボリュームに関する情報を表示します。

例15-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