※本ページは、”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ファイルシステムと同じように使用できます。この短いガイドが役に立つと確信しており、さらに詳しい情報が必要な場合は、Exascale、ExascaleボリュームおよびExascaleのACFSのこれらのリンクを確認してください。
