日本語PDF

Linux環境用のOracle ACFSコマンドライン・ツール

このトピックでは、Linux環境用のOracle ACFSコマンドの概要を示します。

表16-1に、Linux環境用のOracle ACFSコマンドと簡単な説明を示します。表16-1に示すコマンドは、Oracle ACFSをサポートする追加オプションによって拡張されています。その他のLinuxファイル・システム・コマンドはすべて、Oracle ACFS用の変更なしで動作します。

たとえば、Oracle ACFSにより、基本のオペレーティング・システム・プラットフォームに備わっているマウント・オプションに、Oracle ACFS固有のマウント・オプション・セットが追加されます。ファイル・システム・マウント・オプションの完全なセットとして、Linuxプラットフォームのマウント・オプションとともに、Oracle ACFS固有のオプションも確認する必要があります。

Oracle ACFSファイル・システムではないOracle ADVMボリューム上のファイル・システム(ext3など)は、表16-1に示したのと同じLinuxコマンドで該当するタイプのファイル・システム用のファイル固有のオプションを使用して管理します。表16-1のLinuxコマンドで使用可能なオプションについては、manページを参照できます。

ノート:

Security-Enhanced Linux (SELinux)を強制モードでOracle ACFSと併用している場合、Oracle ACFSファイル・システムがSELinuxデフォルト・コンテキストでマウントされていることを確認してください。コンテキスト・マウント・オプションの詳細は、Linuxベンダーのドキュメントを参照してください。

表16-1 Linux環境用のOracle ACFSコマンドの概要

コマンド 説明

fsck (オフライン・モード)

ディスマウントされたOracle ACFSファイル・システムをチェックおよび修復します。

fsck (オンライン・モード)

マウントされたOracle ACFSファイル・システムをチェックおよび修復します。

mkfs

Oracle ACFSファイル・システムを作成します。

mount

Oracle ACFSファイル・システムをマウントします。

umount

Oracle ACFSファイル・システムをディスマウントします。

fsck (オフライン・モード)

目的

ディスマウントされたOracle ACFSファイル・システムをチェックおよび修復します。

構文および説明

fsck -t acfs -h /dev/null
fsck [-a|-f] [-v]  -t acfs [-n|-y] [-x file_name] volume_device

fsck -t acfs -h /dev/nullは、使用方法のテキストを表示して終了します。

表16-2に、fsckコマンドで使用可能なオプションを示します。

表16-2 Linuxでのオフラインfsckコマンドのオプション

オプション 説明

-a

ファイル・システムを自動的に修正することを指定します。

-f

ファイル・システムのチェックまたは修正を完了せずに、ファイル・システムを強制的にマウント可能な状態にします。

-v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。verboseモードで実行すると、パフォーマンスに影響を及ぼす場合があります。

-t acfs

Linuxでのファイル・システムのタイプを指定します。acfsは、Oracle ACFSタイプを指定します。

-n

すべてのプロンプトに対してnoと答えます。

-y

すべてのプロンプトに対してyesと答えます。

-x file_name

acfsutil metaで収集されたアクセラレータ・データに対して指定します。このタイプのデータに対してのみ使用します。

volume_device

プライマリOracle ADVMボリューム・デバイスを指定します。

fsckは、既存のOracle ACFSファイル・システムをチェックおよび修復します。このトピックでは、ディスマウントされたファイル・システムでのみ実行可能なfsckコマンドのオフライン・モードについて説明します。マウントされたファイル・システムでのfsckの実行の詳細は、fsck (オンライン・モード)を参照してください。

fsckを実行するにはroot権限が必要です。fsckを機能させるには、Oracle ACFSドライバをロードする必要があります。

デフォルトでは、fsckはエラーがないかチェックし、エラーを報告するのみです。-aフラグは、fsckにファイル・システムでのエラーの修正を指示するために指定する必要があります。修復操作中にfsckを中断しないでください。

場合によっては、fsckでは、ファイル・システムのチェックに進む前に、質問に対する答えを要求されます。次の場合があります。

  • fsckにより、ファイル・システム上で別のfsckが進行中であることが検出された場合

  • fsckにより、Oracle ACFSドライバがロードされていないことが検出された場合

  • ファイル・システムがOracle ACFSではない可能性がある場合

チェック・モードでは、fsckでは不完全な終了のために完全に処理されていないトランザクション・ログがある場合にも要求されます。非対話モードで実行するには、-yまたは-nオプションを含めて、質問に対してyesまたはnoと答えます。

fsckでは、ファイル・システムをチェックする前に、作業ファイルを作成します。これらの作業ファイルは、領域が使用可能な場合、/usr/tmpに作成されます。/tmpは、/usr/tmpが存在しない場合に使用されます。tmpディレクトリで使用可能な領域が不十分な場合、fsckでは、現在の作業ディレクトリに書込みを試みます。fsckで作成するファイルは、およそチェック対象のファイル・システムを32Kで割ったサイズです。そのようなファイルは多くても3つ割り当てられます。たとえば、チェックされている2GBのファイル・システムによって、fsckでは/usr/tmpディレクトリに1つから3つの64Kの作業ファイルが生成されます。これらのファイルは、fsckの終了後に削除されます。

fsckでファイル・システムで(親ディレクトリ内の破損などにより)名前または目的の場所を特定できないファイルまたはディレクトリが検出された場合、fsckを修正モードで実行していると、そのオブジェクトは/lost+foundディレクトリに配置されます。セキュリティ上の理由で、Linuxではrootユーザーのみが/lost+found内のファイルを読み取ることができます。内容に基づいてファイルの元の名前および場所を管理者が後で特定できた場合は、そのファイルを目的の場所に移動またはコピーできます。

/lost+foundディレクトリ内のファイル名の書式は、次のとおりです。

parent.id.file.id.time-in-sec-since-1970
parent.id.dir.id.time-in-sec-since-1970

idフィールドは、ファイル・システムでのファイルおよびディレクトリそれぞれのOracle ACFSの内部数値識別子です。

acfsutil info id id mount_pointを使用すると、parent.idに関連付けられたディレクトリの特定を試みることができます。このディレクトリは、削除されたオブジェクトの元の場所とみなされます。acfsutil infoの詳細は、acfsutil info fileを参照してください。

親ディレクトリが不明な場合は、親のidフィールドをUNKNOWNと設定します。

ノート:

/lost+foundディレクトリの内容は、スナップショットから表示できません。

次の例は、ディスマウントされたOracle ACFSファイル・システムのチェックおよび修復の方法を示しています。

例16-2 オフライン・モードでのfsckコマンドの使用

# /sbin/fsck -a -y -t acfs /dev/asm/volume1-123

fsck (オンライン・モード)

目的

マウントされたOracle ACFSファイル・システムをチェックおよび修復します。

構文および説明

fsck -t acfs -h /dev/null

fsck [-a] [-v] -t acfs -O mount_point -- -C cow_file_path -S cow_file_size
fsck.acfs [-a] [-v] -O -C cow_file_path -S cow_file_size mount_point

ノート:

後者の2つの構文形式は同等です。Linuxのfsckコマンドを起動する場合、-Cオプションまたは-Sオプションの前に--セパレータを配置して、オプションがOracle ACFSのfsckコマンドに正しく渡されるようにする必要があります。ACFSのfsck.acfsコマンドを直接起動する場合、--セパレータは必要ありません。

fsck -t acfs -h /dev/nullは、使用方法のテキストを表示して終了します。

表16-3に、fsckコマンドで使用可能なオプションを示します。

表16-3 Linuxでのオンラインfsckコマンドのオプション

オプション 説明

-a

ファイル・システムを自動的に修正することを指定します。

-v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。verboseモードで実行すると、パフォーマンスに影響を及ぼす場合があります。

-t acfs

Linuxでのファイル・システムのタイプを指定します。acfsは、Oracle ACFSタイプを指定します。

-O

オンライン・モードで実行するように指定し、マウントされたOracle ACFSファイル・システムのチェックを可能にします。

-C cow_file_path

オンラインfsckで必要なCopy-On-Write(COW)ファイルの場所を指定します。

-s cow_file_size

オンラインfsckで必要なCopy-On-Write(COW)ファイルのサイズを指定します。

量は、K(KB)、M(MB)、G(GB)、T(TB)またはP(PB)の単位で指定できます。単位が指定されていない場合、デフォルトはバイトです。

mount_point

このファイル・システムがマウントされるディレクトリを指定します。

fsckは、既存のOracle ACFSファイル・システムをチェックおよび修復します。このトピックでは、マウントされたファイル・システム上で実行可能なfsckコマンドのオンライン・モードについて説明します。fsckをオフライン・モードで実行する方法の詳細は、fsck (オフライン・モード)を参照してください。

マウントされたファイル・システムでオンラインfsckが実行される場合、オンラインfsckは最初にファイル・システムのメタデータのPoint-in-Timeスナップショットを作成します。オンラインfsckは続いて、このメタデータ・スナップショットに対してファイル・システム・チェックを実行します。ファイル・システムはマウントされ、ライブであるため、オンラインfsckの下にファイル・システム・メタデータを作成または更新できます。ただし、オンラインfsckは最初のメタデータ・スナップショットのみチェックするため、オンラインfsckでは新規または更新されたメタデータはチェックされません。

オンラインfsckは、Copy-On-Write(COW)ファイルと呼ばれる特別なファイルを使用します。オンラインfsckがファイル・システム上で実行されている場合、ファイル・システム・メタデータが更新されるたびに、元のバージョンのメタデータはまずCOWファイルにコピーされ、ファイル・システム・チェック用に保持されます。COWファイルは、オンラインfsckによってチェックされるメタデータ・スナップショットを保持するのに役立ちます。

COWファイルのサイズは事前に選択する必要があります。そのため、COWファイルでは、メタデータのコピーを保持するための領域が制限されています。メタデータのコピーを保持しているときにCOWファイルの領域が足りなくなると、オンラインfsckが強制的に停止される可能性があります。オンラインfsckの実行中に領域が不足しないようにするには、COWファイルのサイズを慎重に選択する必要があります。COWファイルの適切なサイズは、オンラインfsckの実行中に変わる可能性のあるファイル・システム・メタデータの量に依存します。これはワークロードに依存し、実績に基づいて決定することが必要になる場合があります。COWファイルのサイズは、オンラインfsckを実行するファイル・システムの5%から始めることをお薦めします。

COWファイルは、別のOracle ACFSファイル・システムに配置する必要があります。別のOracle ACFSファイル・システムは、オンラインfsckを実行するOracle ACFSファイル・システムと同じノードにマウントする必要があります。

COWファイルは、オンラインfsckの実行をサポートする一時ファイルであり、オンラインfsckの完了後に削除されます。

オンラインfsckを実行するOracle ACFSファイル・システムは、すべてのノードで同じマウント・ポイント・パスを持つ必要があります。COWファイルを格納するOracle ACFSファイル・システムも、すべてのノードで同じマウント・ポイント・パスを持つ必要があります。

オンラインfsckには、Oracle ACFSファイル・システム上でコマンドを実行するときに次の制限と制限があります。

  • オンラインfsckの別のインスタンスを同じクラスタ内で起動することはできません。

  • 新しいノードでファイル・システムをマウントすると、オンラインfsckが停止します。

  • COWファイルを含む別のOracle ACFSファイル・システムがノードでアンマウントされると、その状況が原因でオンラインfsckが停止する場合があります。

  • ファイル・システム内の削除されたスナップショットでは、オンラインfsckが完了するまで、記憶域が解放されません。

  • acfsutil sizeを使用したファイル・システムのサイズ変更は、許可されていないためエラーが戻されます。オンラインfsckが完了するまで、自動サイズ変更は許可されません。

  • acfsutil freezeを使用してファイル・システムを凍結すると、オンラインfsckは凍結が終了するまで待機します。

デフォルトでは、オンラインfsckはエラーがないかチェックし、エラーがあれば報告します。-aフラグは、オンラインfsckにファイル・システムでのエラーの修正を指示するために指定する必要があります。オンラインfsckで修正できるのは、限られたファイル・システム・エラーのみです。ほとんどのファイル・システム・エラーには、修復用のオフラインfsckが必要です。

次の例は、マウントされたOracle ACFSファイル・システムのチェックおよび修復の方法を示しています。

例16-3 オンライン・モードでのfsckコマンドの使用方法

# /sbin/fsck -a -t acfs -O /acfs_mountpoint_1 -- -C /acfs_mountpoint_2/cow_file -S 512M

# /sbin/fsck.acfs -O -C /acfs_mountpoint_2/cow_file -S 512M /acfs_mountpoint_1

mkfs

目的

Oracle ACFSファイル・システムを作成します。

構文および説明

mkfs -t acfs -h
mkfs [-v] [-f] -t acfs [-i {512 | 4096}] [-n name ] [-a accelerator_volume] [-c release_version] 
      volume_device [size]

mkfs -t acfs -hは使用方法のテキストを表示して終了します。

表16-4に、mkfsコマンドで使用可能なオプションを示します。

表16-4 Linux mkfsコマンドのオプション

オプション 説明

-t acfs

Linuxでのファイル・システムのタイプを指定します。acfsは、Oracle ACFSタイプを指定します。

-v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

-i {512 | 4096}

512バイトまたは4096バイトのメタデータ・ブロック・サイズでファイル・システムを指定します。

-n name

ファイル・システムの名前を指定します。名前は最大64文字です。acfsutil info fsは、名前が指定された場合、その名前を戻します。

-f

forceオプションを指定します。このアクションで、ボリューム・デバイスに既存のOracle ACFSがあっても、ファイル・システムが作成されます。ただし、フィアル・システムがディスマウントされている場合にかぎります。このオプションは、元のファイル・システム上の構造を上書きします。慎重に使用してください。

-h

使用方法のヘルプ・テキストを表示して終了します。

size

指定したデバイスでファイル・システムが消費するサイズを指定します。量は、K(KB)、M(MB)、G(GB)、T(TB)またはP(PB)の単位で指定できます。単位が指定されていない場合、デフォルトはバイトです。

このオプションを指定しない場合、デバイス全体が消費されます。

-a accelerator_volume

Oracle ACFSによって重要なメタデータの格納に使用されるセカンダリOracle ACFSボリュームを指定します。

-c release_version

release_versionの値に設定されたOracle ACFSリリースの互換性でOracle ACFSファイル・システムを作成します。

volume_device

フォーマットする既存のOracle ADVMデバイス・ファイルを指定します。このデバイスはプライマリ・ボリュームです。

mkfsは、Oracle ACFSファイル・システムのマウントに必要なディスク上の構造を作成するために使用できます。mkfsコマンドは、ファイル・システムの作成に使用される従来のLinuxコマンドです。mkfsの実行に成功すると、V$ASM_VOLUMEビューのUSAGE列にはACFSと表示されます。Oracle ADVMボリュームは、ASMCMD volcreateコマンドを使用して作成されます。volcreateコマンドの詳細は、volcreateを参照してください。

-c release_versionオプションで指定する値は、ディスク・グループのCOMPATIBLE.ADVM値以上にする必要があり、実行中のOracle Grid Infrastructureリリースのバージョン以下にする必要があります。—c release_versionを指定しないと、COMPATIBLE.ADVM値が使用されます。互換性は、設定するとダウングレードできません。—c release_versionオプションは、ディスク・グループのCOMPATIBLE.ADVMおよびCOMPATIBLE.ASMの更新ができない、または望ましくない状況で、互換性の向上が必要なOracle ACFS機能を使用する場合に使用できます。Oracle ACFSの互換性を更新すると、以前のOracle Grid Infrastructureリリースを使用してファイル・システムをマウントできなくなります。既存のファイル・システムの互換性を変更するには、acfsutil compat setを参照してください。Oracle ASMディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。

最小ファイル・システム・サイズは、512バイトのメタデータ・ブロック・サイズ・フォーマットの場合は200 MB、4 KBのメタデータ・ブロック・サイズ・フォーマットの場合は512 MBです。

mkfsが正常に機能するには、Oracle ACFSドライバをロードする必要があります。

root権限は必要ありません。ボリューム・デバイス・ファイルの所有者が、このコマンドを実行できます。

Oracle ACFSアクセラレータ・ボリューム

アクセラレータ・ボリュームを使用すると、Oracle ACFSメタデータへのアクセスおよび更新にかかる時間が短縮され、パフォーマンスが向上する可能性があります。アクセラレータ・ボリュームは、プライマリ・ボリュームのストレージよりも大幅に高速なストレージを使用してディスク・グループに作成する必要があります。アクセラレータ・ボリュームは、mkfsコマンドの-aオプションを使用して作成します。詳細は、「Oracle ACFSアクセラレータ・ボリューム」を参照してください。

4 KBのセクター/メタデータ

次に、COMPATIBLE.ADVMディスク・グループ属性値に基づいた-iオプションおよびメタデータ・ブロック・サイズの使用についてまとめます。

  • COMPATIBLE.ADVM12.2以上に設定されている場合、メタデータ・ブロック・サイズはデフォルトで4096バイトです。

  • COMPATIBLE.ADVM12.2未満に設定されている場合、ブロック・サイズは512バイトに設定されます。

  • COMPATIBLE.ADVM12.2未満に設定されているのに、論理セクター・サイズが512バイトでない場合、コマンドは失敗します。

ユーザー・データIOでは、標準ユーザーIOリクエストに対して512バイトの小規模な転送が引き続きサポートされます。ファイル・システムのOracle ADVMボリュームの論理ディスク・セクター・サイズが4 Kの場合、最良のパフォーマンスを得るには、ユーザー直接IOリクエストを4 Kファイル・オフセットに揃えて、4 KBの倍数の長さにする必要があります。4 Kメタデータ・ブロック・サイズ・フォーマットでのみ、論理ディスク・セクターが4 KのADVMボリュームがサポートされます。

論理ディスク・サイズが4096のOracle ADVMボリュームをフォーマットしたり、-i 4096オプションを使用して論理ディスク・セクター・サイズが512バイトのOracle ADVMボリュームをフォーマットするには、COMPATIBLE.ADVM値を12.2以上に設定する必要があります。

Oracle ACFSファイル・システムを作成する前に、まずOracle ADVMボリューム・デバイスが使用可能かどうか確認します。ASMCMD volinfoコマンドを使用すれば、ボリュームおよびボリューム・デバイスの情報を表示できます。次に例を示します。

ASMCMD [+] > volinfo -a
...
         Volume Name: VOLUME1
         Volume Device: /dev/asm/volume1-123
         State: ENABLED
... 

volcreateコマンドおよびvolinfoコマンドの詳細は、「ASMCMDによるOracle ADVMの管理」を参照してください。

このコマンドでは、ボリューム・デバイス・ファイルにOracle ACFSファイル・システムを作成します。

例16-4 mkfsコマンドの使用方法

$ /sbin/mkfs -t acfs /dev/asm/volume1-123

例16-5 mkfsコマンドを使用したアクセラレータ・ボリュームの作成

このコマンドでは、アクセラレータ・ボリュームを使用してOracle ACFSファイル・システムを作成します。

$ /sbin/mkfs -t acfs -a /dev/asm/volume2-130 /dev/asm/volume1-127 

mount

目的

Oracle ACFSファイル・システムをマウントします。

構文および説明

mount -h
mount [-v] -n -t acfs [-o options] volume_device mount_point
mount

mount -hは使用方法のテキストを表示して終了します。

表16-5に、mountコマンドで使用可能なオプションを示します。

表16-5 Linux mountコマンドのオプション

オプション 説明

-h

使用方法のヘルプ・テキストを表示して終了します。

-t acfs

Linuxでのファイル・システムのタイプを指定します。acfsは、Oracle ACFSタイプを指定します。

-v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

-n

/etc/mtabファイルが更新されないように指定します。

-o

オプションは-oフラグで指定し、その後にカンマで区切られたオプションの文字列が続きます。次のオプションを使用できます。

  • all

    AUTO_START=alwaysですべてのファイル・システムをマウントして、Oracle Clusterwareネームスペース内のOracle ACFSによって管理されるファイル・システムを読み取ります。

    -o allオプションを指定すると、他の-oオプションは無視されます。

    レジストリ・エントリ用のマウント・オプションを指定するには、レジストリにエントリを追加するときにacfsutil registryコマンドでそれらのオプションを指定します。

  • ro

    読取り専用モードでファイル・システムをマウントします。

  • norootsuid

    rootが所有する、set-user-ID実行を許可する権限を持つ非rootユーザーによるバイナリの実行を失敗させます。非rootユーザーとしてこれらの実行可能ファイルを実行しようとすると、「許可されませんでした。」エラーで失敗します。

  • rootsuid

    rootが所有するset-user-IDファイルの非rootユーザーによるバイナリの実行を可能にします。これはデフォルト・アクションです。

  • nodeleteopen

    開いているファイルの削除はいずれも失敗します。

volume_device

mkfsでフォーマットされたプライマリOracle ADVMボリューム・デバイス・ファイルを指定します。deviceは必須ですが、ダミー値でもかまいません。

mount_point

このファイル・システムがマウントされるディレクトリを指定します。mountコマンドを実行するには、このディレクトリが存在している必要があります。

mountは、ディレクトリの名前であるマウント・ポイントでOracle ACFS階層にファイル・システムをアタッチします。マウントは、mountコマンドが発行されたノードで起こります。ファイル・システムがこのノードでディスマウントの状態でない場合、mountコマンドはエラーを戻します。

マウント失敗の原因をmount mountコマンドに戻すことは、いつでもできるわけではありません。これが起こると、Oracle ACFSは失敗の原因をシステム・コンソールおよび関連付けられたシステム・ログ・ファイルに書き込みます。

mountの実行に成功すると、V$ASM_VOLUMEビューのMOUNTPATHフィールドに、ファイル・システムがマウントされたディレクトリ名が表示されます。

Oracle ACFSファイル・システムは1つのマウント・ポイントにのみマウントされます。同じマウント・ポイント名をすべてのクラスタ・メンバーで使用する必要があります。

mountコマンドをパラメータなしで実行すると、マウント済のすべてのファイル・システムがリストされます。

mountを実行するにはroot権限が必要です。

1つ目の例は、マウント・ポイント/acfsmounts/acfs1volume1-123をマウントする方法を示しています。2つ目の例は、登録済のOracle ACFSファイル・システムをすべてマウントする方法を示しています。allオプションを指定する場合、デバイスおよびディレクトリは必須ですが、使用しないのでダミー名(none)を入力します。

例16-6 mountコマンドの使用方法

# /bin/mount -t acfs /dev/asm/volume1-123 /acfsmounts/acfs1

# /bin/mount -t acfs -o all none none

umount

目的

Oracle ACFSファイル・システムをディスマウントします。

構文および説明

umount -h
umount [-v] -l -n volume_device |mount_point
umount -a -l -n [-t acfs]

umount -hは使用方法のテキストを表示して終了します。

表16-6に、umountコマンドで使用可能なオプションを示します。

表16-6 Linux umountコマンドのオプション

オプション 説明

-h

使用方法のヘルプ・テキストを表示して終了します。

-t acfs

Linuxでのファイル・システムのタイプを指定します。acfsは、Oracle ACFSタイプを指定します。

-v

verboseモードを指定します。操作が発生すると、進捗状況が表示されます。

-a

このノードのすべてのOracle ACFSファイル・システムをディスマウントすることを指定します。

-l

遅延アンマウントを指定します。Oracle ACFSファイル・システムがディスマウントされますが、ファイル・システムへのすべての参照のクリーンアップはシステムがビジーでなくなったときに発生します。

-n

/etc/mtabファイルが更新されないように指定します。

volume_device

mkfsでフォーマットされたOracle ADVMボリューム・デバイス・ファイルを指定します。

mount_point

このファイル・システムがマウントされるディレクトリを指定します。mountコマンドを実行するには、このディレクトリが存在している必要があります。

umountは、現在のノード上のファイル・システム階層からOracle ACFSをデタッチします。

umountコマンドは、ファイル・システムが完全にアンマウントされるまで、オペレーティング・システム・プロンプトに制御を戻しません。

ファイル・システムがビジーである場合、umountは失敗します。

umountコマンドを実行するには、root権限が必要です。

次の例は、Oracle ACFSファイル・システムのディスマウント方法を示しています。1つ目の例では、ボリューム・デバイス・ファイルを使用し、2つ目の例ではファイル・システムを使用しています。

例16-7 umountコマンドの使用方法

# /bin/umount /dev/asm/volume1-123

# /bin/umount /acfsmounts/acfs1