※本ページは、”Adding a Shared ACFS Filesystem to an Existing Exadata VM Cluster using Exascale Volumes“の翻訳です。
※以下はオンプレミスExadataに適用されます。
Exadataのお客様は、アプリケーションのバイナリ、GoldenGateのトレイルファイル、デプロイ成果物、自動化スクリプト、バックアップのステージング領域など、VMクラスタ全体から共有アクセスできるファイルストレージを必要とすることがよくあります。ACFS(ASM Cluster File System)は、このような用途に長年利用されてきた代表的な選択肢であり、Exadata環境の一部として管理されるクラスタ対応ファイルシステムを提供します。
Exascale環境では、ACFSファイルシステムは従来のASMディスクグループではなく、Exascaleボリュームを使用します。OEDACLIを利用することで、既存のVMクラスタに新しいACFSファイルシステムを単一のコマンドで追加でき、ストレージのプロビジョニングやクラスタへの統合作業はExadata側で自動的に処理されます。
OEDACLIが自動化する処理
OEDACLIは、バックグラウンドで以下の処理を自動的に実行します。
- 指定されたVault内にACFS用のExascale Volumeを作成
- 対象のVMクラスタ向けにボリュームアタッチメントを作成
- クラスタノードへデバイスを提示(アタッチ)
- Oracle Clusterwareへファイルシステムを登録
- ACFSマウントポイントを構成
以下の例では、OEDACLIコマンドのADD ACFSVOLUMEコマンドの構文と、ACFSストレージとしてExascaleボリュームを使用した実際の実行例を示します。
ACFSボリュームの作成
ADD ACFSVOLUMEコマンドは、ASMベースのACFS構成とExascaleベースのACFS構成の両方をサポートしています。
まず、このコマンドのヘルプを簡単に確認してみましょう。
oedacli> help add acfsvolume
Usage:
ADD ACFSVOLUME
VOLUMENAME = <volumename>
VOLUMESIZE = <volumesize>
MOUNTPATH = <mountpath>
VAULT = <vault> <-- used with Exascale
WHERE
DISKGROUPID = <diskgroupid> |
CLUSTERNUMBER = <clusternumber> DISKGROUPNAME = <diskgroupname> |
CLUSTERNAME = <clustername> DISKGROUPNAME < diskgroupname> |
CLUSTERID = <clusterid> DISKGROUPNAME = <diskgroupname> |
CLUSTERNUMBER = <clusternumber> | <-- used with Exascale
CLUSTERNAME = <clustername> | <-- used with Exascale
CLUSTERID = <clusterid> <-- used with Exascale</clusterid></clustername></clusternumber></diskgroupname></clusterid></clustername></diskgroupname></clusternumber></diskgroupid></vault></mountpath></volumesize></volumename>
Exascaleストレージを使用する場合、VAULTパラメータでボリュームを格納するVaultを指定します。
構文が分かったところで、次はExadata Database Machine上のVMクラスタに、/acfs4ggへマウントする100GBのACFSファイルシステムを追加してみましょう。
まず、OEDACLIを起動し、構成ファイル(es.xml)をインポートします。
$ ./oedacli -c ExadataPMSystem-exdpm01-exdpm01-cluster1.xml
Version : 260530
SUCCESS - file loaded OK
Customer : Oracle- ExadataPMSystem
次に、ADD ACFSVOLUMEコマンドを使用してACFSボリュームを追加します。Exascaleボリューム名はEXDPMACFS4GGとします(このファイルシステムはGoldenGateで使用する予定です)。必要な容量は100GBで、クラスタ内のすべてのVMにおいて/acfs4ggへマウントしたいと考えています。
私の構成ファイルにはVMクラスタが1つしか存在しないため、そのまま指定できます。複数のVMクラスタが存在する環境では、対象のVMクラスタを適切に指定するか、代わりにクラスタIDを使用して指定する必要があります。
oedacli> ADD ACFSVOLUME VOLUMENAME=EXDPMACFS4GG VOLUMESIZE=100G MOUNTPATH='/acfs4gg' VAULT=exdpm01-cluster1vault where CLUSTERNUMBER=1
oedacli> save action
oedacli> merge actions
Merging Action : ADD ACFSVOLUME VOLUMENAME=EXDPMACFS4GG VOLUMESIZE=100G MOUNTPATH='/acfs4gg' VAULT=exdpm01-cluster1vault where CLUSTERNUMBER=1
Merging ADD ACFSVOLUME
Action Validated and Merged OK
準備が整ったので、変更内容をデプロイします。
oedacli> deploy actions
Deploying ADD ACFSVOLUME
Adding ACFS EntryEXDPMACFS4GG for Cluster exdpm01-cluster1 in XML configuration
Attaching ACFS Volume /acfs4gg to Cluster exdpm01-cluster1
Done...
oedacli> save file
File : ExadataPMSystem-exdpm01-exdpm01-cluster1.xml saved OK
ここで注目すべき点は、要求したボリューム名がEXDPMACFS4GGであったとしても、OEDACLIはExascaleボリューム名およびデバイス名を自動生成するということです。これらの名前には、クラスタ名と内部ボリューム識別子が組み込まれます。後述する確認手順では、こうした自動生成された名前を確認できます。
これでACFSファイルシステムの利用準備は完了です。しかし、実際にどのようなリソースが作成されたのかを詳しく確認するために、内部で生成された構成内容を見てみましょう。
Exascaleボリュームの確認
まず、ストレージサーバーの1台でescliを使用し、Exascale側の情報を確認してみましょう。
$ escli --wallet $OSSCONF/security/admwallet/ lsvolume | grep -i EXDPMACFS4GGvol0129_5fc191c5babc44d88894251848e1eaa0
EXDPMACFS4GG_exdpm01-cluster1_acfs DATA 2026-06-02T22:41:57-07:00 @exdpm01-cluster1vault/vol.12d5fd105f0e4f28a893394a50494ccb unlimited HC 1 high 100.0000G AVAILABLE admin @exdpm01-cluster1vault
ここでは、次のことがわかります。
- ボリューム名:EXDPMACFS4GG_exdpm01-cluster1_acfs
- ボリューム・サイズ:100G
- ボリュームの状態:AVAILABLE
- ボリュームが@exdpm01-cluster1vaultに存在
Volume Attachementの確認
次に、Exascaleボリューム・アタッチメントを見てみましょう。これは、ボリュームとそれを使用するVMクラスタとの間の接続です。
$ escli --wallet $OSSCONF/security/admwallet/ lsvolumeattachment | grep -i EXDPMACFS4GGatt0138_ff8b8ef9e6104c6fad04dfd262457c41
vol0129_5fc191c5babc44d88894251848e1eaa0 EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0 2026-06-02T22:41:59-07:00
アタッチメントの詳細を表示すると、ボリュームがどのようにVMクラスタに提供されているかを確認できます。
$ escli --wallet $OSSCONF/security/admwallet/ lsvolumeattachment att0138_ff8b8ef9e6104c6fad04dfd262457c41 --detailid att0138_ff8b8ef9e6104c6fad04dfd262457c41attachTime 2026-06-02T22:41:59-07:00deviceName EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0devicePath /dev/exc/EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0enabledOnRestart truegiClusterId c5cc4353-06af-ef0b-ff70-d1a970f8f3f0giClusterName exdpm01-cluster1hostNameinitiatorkernelDeviceName exc-dev1logicalSectorSize 512volume vol0129_5fc191c5babc44d88894251848e1eaa0
ここでは、次のようないくつかの興味深い情報を確認できます。
- giClusterName:Grid Infrastructure GUIDを使用して対象のVMクラスタを識別
- volume:基盤となるExascaleボリュームを識別
- devicePath:ゲストOS内でボリュームが公開されている場所
- enabledOnRestart=true:再起動後もアタッチメントが維持されること
VMクラスタ上のデバイスの表示
VMクラスタのノードの1つで、 /dev/exc 配下にアタッチされたボリュームを確認します。
$ cd /dev/exc/
$ ll
total 0
drwxr-xr-x. 3 dbmsvc dbmusers 5280 Jun 1 16:24 cports
brw-rw----. 2 root disk 251, 1 Jun 2 22:42 EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0
デバイス名は、前述のボリューム・アタッチメントに表示されている deviceName と一致しており、ExascaleボリュームがVMクラスタに正常にアタッチされ、VMクラスタのオペレーティング・システムに提供されていることを確認できます。
さらに詳しく確認するには、escli を使用してボリューム自体を調査できます。
$ escli --wallet $OSSCONF/security/admwallet/ lsvolume vol0129_5fc191c5babc44d88894251848e1eaa0 --detailid vol0129_5fc191c5babc44d88894251848e1eaa0name EXDPMACFS4GG_exdpm01-cluster1_acfsacfsFileSystem acfs0001_1851f7a6a67c43d2b5a3eae91e0c2f1fcontentType DATAcreationTime 2026-06-02T22:41:57-07:00filePath @exdpm01-cluster1vault/vol.12d5fd105f0e4f28a893394a50494ccbiopsProvisioned unlimitedlog falsemediaType HCnumAttachments 1owners adminredundancy highsize 100Gstate AVAILABLEvault @exdpm01-cluster1vault
Oracle ClusterwareでのACFSファイルシステムの設定
ボリュームの作成とアタッチが完了すると、OEDACLIはACFSファイルシステムをOracle Clusterwareに登録します。これにより、ファイルシステムはクラスタ・リソースとして管理され、VMクラスタ全体で一貫してマウントされるようになります。
ファイルシステムの構成は、srvctl を使用して確認できます。
$ srvctl config filesystem
Volume device: /dev/exc/EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0
Canonical volume device: /dev/exc/EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0
Accelerator volume devices:
Mountpoint path: /acfs4gg
Mount point owner: root
Mount point group: root
Mount permissions: owner:root:rwx,pgrp:root:r-x,other::r-x
Mount users: oracle
Type: ACFS
Mount options:
Description:
ACFS file system is enabled
ACFS file system is individually enabled on nodes:
ACFS file system is individually disabled on nodes:
マウントされたファイルシステムの確認
最後に、ファイルシステムがVMクラスタ上でマウントされ、利用可能な状態であることを確認します。
mount コマンドを使用すると、Exascaleボリュームが /acfs4gg に ACFSファイルシステムとしてマウントされていることを確認できます。
mount | grep acfs4gg
/dev/exc/EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0
on /acfs4gg type acfs (rw,relatime,seclabel,device,ordered)
df コマンドを使用すると、容量と使用可能な空き領域を確認できます。
df -h /acfs4gg
Filesystem Size Used Avail Use% Mounted on
/dev/exc/EXDPMACFS4GG_exdpm01-cluster1_acfs_vol0129_5fc191c5babc44d88894251848e1eaa0 100G 816M 100G 1% /acfs4gg
この時点で、ファイルシステムは完全にプロビジョニングされ、アタッチされ、Oracle Clusterwareに登録され、VMクラスタ上にマウントされており、利用可能な状態になっています。
以上で完了です!
ご覧のとおり、Exascaleボリュームを使用して既存のVMクラスタにACFSファイルシステムを追加するのは非常に簡単です。単一のOEDACLIコマンドで、Exascaleボリュームのプロビジョニング、必要なボリューム・アタッチメントの作成、VMクラスタへのデバイスの提供、Oracle Clusterwareへのファイルシステムの登録、そしてクラスタ全体へのACFSファイルシステムのマウントまでを実行できます。
その結果として、ACFSのシンプルさとExascaleストレージの柔軟性およびスケーラビリティを兼ね備えた、完全に管理された共有ファイルシステムが提供されます。最初のOEDACLIコマンドから、Exascaleボリュームのプロビジョニング、デバイスの提供、Clusterwareへの登録、そしてファイルシステムのマウントに至るまで、ライフサイクル全体がExadata管理フレームワークの一部として自動的にオーケストレーションされます。
