※本ページは、”Creating an ACFS Filesystem on Exascale Volumes“の翻訳です。

(訳注:本記事はオンプレミス環境のExascaleでの内容になります。Exadata Cloud 環境の Exascale 環境には適用されません。)


Exadata Exascaleの魅力的な機能の1つは、共有Exadataストレージにブロック・ボリュームを作成する機能です。これにより、Exascaleストレージ・プールのスケーラブルで高パフォーマンスな高可用性共有ストレージ容量を活用して、POSIX準拠のファイルシステムを作成し、ExadataデータベースVMにアタッチすることが可能です。

Exascaleについて話すときにはカバーすべきトピックがたくさんあります、今回はExascaleボリュームに焦点をあててみましょう。Exascaleボリュームは、Exadataが共有ExadataストレージにRDMA対応のブロック・ボリュームを格納および管理する機能です。これらのボリュームは、EDVと呼ばれる最適化された専用プロトコルを介して、データベースVMおよびベア・メタル・サーバーに提示されます。ExascaleボリュームはiSCSIで提示することもできますが、これは別の日のトピックです。

では、これらのExascale ボリュームは何が利点でしょうか?ご質問ありがとうございます!

2つの主な目的: 1) VMイメージ・ストレージ、2)データ・ステージング用の追加ファイルシステム、Data Pumpのエクスポート/インポート・ファイル、GoldenGateトレイル・ファイルなど。

2つ目のユース・ケースを中心に考えてみましょう、Exadataに追加の「データ」を格納する必要が時々あります。従来、このニーズを満たすためにはNFSまたはACFSを使用しました。しかしながら、ExascaleではASMを使用しておりません、ACFSをどのようにしたら使用できるでしょうか?

まず、ACFS の名称が、従来の ASM Cluster File Systemから、 Advanced Cluster File Systemに変更されていることにご注目ください。これは、ASMが、ACFSファイル・システムを格納できる唯一のボリューム・マネージャではないことを示します。ExascaleボリュームはACFSにも使用できます。これらは本当にシンプルで使いやすいものです。方法を見てみましょう。
この例では、Exascaleでデプロイされた3台のストレージ・サーバーにアクセスできる最新のExadataシステム・ソフトウェア(この記事記載時は Exadata 25.1.1)で構成された2つのVMクラスタを使用しています。

いずれかのデータベースVMで、ボリュームの作成に使用できるExascaleボールトを確認します。

oracle@exapmdbvm01$ escli lsvault
Name
Vault8

 

次に、前のステップで表示された利用可能なボールト(Vault8)を指定して、mkvolumeコマンドを使用してボリュームを作成します。

 

oracle@exapmdbvm01$escli mkvolume 50G --vault vault8
Created volume with id 84:1756a959580240d5894263cffa7aeef4

 

volume ID ’84:1756a959580240d5894263cffa7aeef4’に注目してください、次のステップでこのidが必要になります。次に、クラスタ内の両方のデータベースVMにボリュームをアタッチします。そのためには、lsinitatiorコマンドを使用して、これらのサーバーで実行されているGIクラスタのGUIDを検出する必要があります。

 

oracle@exapmdbvm01$ escli lsinitiator
id                                   hostName    giClusterName giClusterId
2aacc24d-371f-b7e8-2aac-c24d371fb7e8 exapmdbvm01 exapmdbvm01   578c403c-6c14-6f16-ffea-ba5fffcd3806
f6970b8d-68ca-b0da-f697-0b8d68cab0da exapmdbvm02 exapmdbvm01   578c403c-6c14-6f16-ffea-ba5fffcd3806

 

また、次のステップで使用するgiClusterId ‘578c403c-6c14-6f16-ffea-ba5fffcd3806’に注意してください。

別の方法として、crsctl query css を使用してGIクラスタのGUIDを取得することもできますが、lsinitiatorを使用すると、クラスタ内のすべてのVMではなく特定のVMにボリュームをアタッチできるVM/ホストGUIDも表示されます。

このクラスタ内のすべてのVMにボリュームをアタッチするには、クラスタ全体のボリューム・アタッチメントを作成する必要があります。このアタッチメントは、acfsvol2をコールし、前に書き留めたvolumeIdとgiClusterIdの両方を使用します。

 

oracle@exapmdbvm01$ escli mkvolumeattachment 84:1756a959580240d5894263cffa7aeef4 acfsvol2 --attributes giClusterId=578c403c-6c14-6f16-ffea-ba5fffcd3806
Created edv attachment with id 84:d2b5edf431964ed4a0d01cb49422888d

 

次に、ACFSファイルシステムを作成します。これは本当に単純なビットです。mkacfsfileystemコマンドは、ファイルシステムを初期化するだけでなく、GIクラスタにも登録し、クラスタ内のすべてのVMでファイルシステムを起動します。素敵で簡単です!

 

oracle@exapmdbvm01$ escli mkacfsfilesystem 84:1756a959580240d5894263cffa7aeef4 /acfs2
Creating ACFS file system with ID 2:e479635242b445a7853520d0b84484fb
Created ACFS file system with ID 2:e479635242b445a7853520d0b84484fb

 

これで以上です! ACFSファイルシステムは、クラスタ内の両方の仮想マシンで作成および起動されています。しかし、私の言葉を鵜呑みにしないでください。VM を見てそれを確認してみましょう。

Linuxのコマンドラインからdf -hを使用して、ファイルシステムがVMで使用可能なことを確認できます。次の出力の最後の行に注意してください。

 

oracle@exapmdbvm01$ df -h
Filesystem                                                                                 Size  Used Avail Use% Mounted on
devtmpfs                                                                                    32G     0   32G   0% /dev
tmpfs                                                                                       32G  8.8M   32G   1% /run
tmpfs                                                                                       32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/VGExaDbDomU-LVDbSys1                                                            15G  3.9G   12G  26% /
/dev/mapper/VGExaDbDomU-LVDbTmp                                                            3.0G   73M  2.9G   3% /tmp
/dev/mapper/VGExaDbDomU-LVDbKdump                                                           20G  175M   20G   1% /crashfiles
/dev/sdb1                                                                                  412M  124M  289M  31% /boot
/dev/mapper/VGExaDbDomU-LVDbVar1                                                           2.0G  697M  1.3G  36% /var
/dev/mapper/VGExaDbDomU-LVDbVarLog                                                          18G  451M   18G   3% /var/log
/dev/mapper/VGExaDbDomU-LVDbVarLogAudit                                                    924M  153M  772M  17% /var/log/audit
/dev/mapper/VGExaDbDomU-LVDbHome                                                           4.0G   77M  4.0G   2% /home
tmpfs                                                                                       63G  513M   62G   1% /dev/shm
/dev/mapper/VGExaDbDisk. exapmdbvm01_u01_6d901444ceb648abadc97308a73c124e-LVDBDisk         18G  2.6G   16G  15% /u01
/dev/mapper/VGExaDbDisk. exapmdbvm01_dbh01_9b0ec48579c84773859fa402202745f7-LVDBDisk       48G  5.8G   43G  13% /u01/app/oracle/product/23.0.0.0/dbhome_1
/dev/mapper/VGExaDbDisk. exapmdbvm01_gih01_52e8bed1f4ee4fd4b10563c2c90aee7c-LVDBDisk       48G  3.5G   45G   8% /u01/app/23.0.0.0/grid
tmpfs                                                                                      6.3G     0  6.3G   0% /run/user/1001
oracle_clusterware                                                                         128M  5.3M  123M   5% /u01/app/oracle/crsdata/exapmdbvm01/shm
tmpfs                                                                                      6.3G     0  6.3G   0% /run/user/0
/dev/exc/acfsvol2                                                                           50G  651M   50G   2% /acfs2

srvctlで詳細を確認し、それがClusterwareに登録されていることを確認して、VMの再起動時に自動的に起動およびマウントできるようにすることもできます。

$ srvctl status filesystem
ACFS file system /acfs2 is mounted on nodes exapmdbvm01, exapmdbvm02

 

それからこちらです

 

$ srvctl config filesystem
Volume device: /dev/exc/acfsvol2
Canonical volume device: /dev/exc/acfsvol2
Accelerator volume devices:
Mountpoint path: /acfs2
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:

 

これでACFSファイルシステムができました。他のACFSファイルシステムと同じように使用できます。この短いガイドが役に立つと確信しており、さらに詳しい情報が必要な場合は、ExascaleExascaleボリュームおよびExascaleのACFSのこれらのリンクを確認してください。