5.1 EDVとのExascaleブロック・ストレージの使用
このトピックでは、Exascaleブロック・ストレージをExascaleダイレクト・ボリューム(EDV)とともに使用する手順の概要を示します。
Exascaleブロック・ストアは、Exascaleストレージに基づいて任意のサイズのRAWブロック・ボリュームを作成および管理する機能を提供します。
EDVは、クライアントがExadata RDMAネットワーク・ファブリック内のストレージ・ボリュームを使用するユースケースにお薦めします。次に例を示します:
-
EDVを使用すると、Exadataコンピュート・ノード上のOracle Advanced Cluster File System (ACFS)またはローカルLinuxファイル・システム(XFS、EXT4など)をサポートできます。
-
EDV RAWデバイスを使用すると、Exascaleでネイティブにサポートされていない以前のOracle Databaseバージョンをサポートできます。たとえば、EDV RAWデバイスに基づいてOracle ASMディスク・グループを作成し、そのディスク・グループを使用してOracle Databaseデータ・ファイルを含めることができます。あるいは、EDVボリューム上にファイル・システムを作成し、それを使用してOracle Databaseソフトウェアおよびデータ・ファイルを含めることができます。
Exascaleブロック・ストレージをEDVとともに使用する前に、次の点に注意してください:
-
ブロック・ストア・マネージャ(BSM)およびブロック・ストア・ワーカー(BSW)の各サービスは、Exascaleクラスタで実行されている必要があります。
-
Exascaleダイレクト・ボリューム(EDV)サービスは、EDVアタッチメントをホストする各Exadataコンピュート・ノードで実行されている必要があります。クラスタ全体のアタッチメントを使用する予定の場合、EDVサービスは、Oracle Grid Infrastructure (GI)クラスタのすべてのノードで実行されている必要があります。
最初に、Exascaleブロック・ボリュームおよびEDVアタッチメントを作成できます。
次に例を示します:
@>mkvault myvault
Vault @myvault created.
@>mkvolume 1g --attributes name=edv1 --vault myvault
Created volume with id 2:72ebb8a56fba4e97b4716c25981702cb
@>lsvolume 2:72ebb8a56fba4e97b4716c25981702cb --detail
id 2:72ebb8a56fba4e97b4716c25981702cb
name edv1
blockSizeIOPS 8192
contentType DATA
creationTime 2023-10-16T04:46:07+00:00
filePath @myvault/vol.5ceabbae36d04e31bc79f9c34658c22e
mediaType HC
numAttachments 0
iopsProvisioned unlimited
bandwidthProvisioned unlimited
redundancyType none
size 1G
state AVAILABLE
user exa01
vault @myvault
vipId 111:02ae5dee-55a6-4dab-beb6-69a1b5525d60
@>lsinitiator --detail
id e7e0db8c-9a2a-0279-e7e0-db8c9a2a0279
edvBaseDriverVersion 23.1.90.0.0.231015
edvEffectiveDriverVersion 23.1.90.0.0.231015
giClusterId deadbeef-badc-0fee-dead-beefbadc0fee
giClusterName edvTestCluster
hostName exa01
lastHeartbeat 2023-10-16T04:45:33+00:00
registerTime 2023-10-16T04:41:18+00:00
state ONLINE
version 23.1.90.0.0.231015
@>mkvolumeattachment 2:72ebb8a56fba4e97b4716c25981702cb myedv1 --attributes giClusterId=deadbeef-badc-0fee-dead-beefbadc0fee
Created edv attachment with id 1:cc9435ab951a49119dbb7e249a0b0219
@>lsvolumeattachment 1:cc9435ab951a49119dbb7e249a0b0219 --detail
id 1:cc9435ab951a49119dbb7e249a0b0219
attachTime 2023-10-16T04:47:41+00:00
kernelDeviceName exc-dev1
deviceName myedv1
devicePath /dev/exc/myedv1
giClusterId deadbeef-badc-0fee-dead-beefbadc0fee
giClusterName edvTestCluster
hostName
initiator
logicalSectorSize 512
volume 2:72ebb8a56fba4e97b4716c25981702cb
volumeSnapshot
@>
EDVアタッチメントは、ボリュームと、アタッチメントをホストするExadataコンピュート・ノード上にあるEDVデバイス・ファイルとの間のアソシエーションを作成します。EDVアタッチメントをホストするノードは、EDVイニシエータとも呼ばれます。
ACFSなどのクラスタ・ファイル・システムをサポートするためにクラスタ全体のアタッチメントを作成すると、Oracle Grid Infrastructure (GI)クラスタのすべてのノードにEDVデバイス・ファイルが作成されます。ノード固有のアタッチメントを作成すると、対応するEDVデバイスはそのノードにのみ作成されます。
この例では、EDVアタッチメントはクラスタ全体のアタッチメントで、EDVデバイス名はmyedv1
であるため、対応するデバイス・ファイルは各クラスタ・ノードの/dev/exc/myedv1
にあります。ボリューム作成時にボリューム識別子(2:72ebb8a56fba4e97b4716c25981702cb
)がユーザーにレポートされました。ボリューム識別子は、ESCLI lsvolume
コマンドを使用して検出することもできます。GIクラスタ識別子(deadbeef-badc-0fee-dead-beefbadc0fee
)は、ESCLI lsinitiator
コマンドを使用して検出されました。
あるいは、ノード固有のアタッチメントの場合、GIクラスタ識別子ではなくノード固有のEDVイニシエータ識別子を指定する必要があります。次に例を示します:
@>lsinitiator --detail
id e7e0db8c-9a2a-0279-e7e0-db8c9a2a0279
edvBaseDriverVersion 23.1.90.0.0.231015
edvEffectiveDriverVersion 23.1.90.0.0.231015
giClusterId deadbeef-badc-0fee-dead-beefbadc0fee
giClusterName edvTestCluster
hostName exa01
lastHeartbeat 2023-10-16T04:45:33+00:00
registerTime 2023-10-16T04:41:18+00:00
state ONLINE
version 23.1.90.0.0.231015
@>mkvolumeattachment 2:72ebb8a56fba4e97b4716c25981702cb myedv1 --attributes initiator=e7e0db8c-9a2a-0279-e7e0-db8c9a2a0279
Created edv attachment with id 1:50e52177583f4be4bad68ac20b65001e
@>lsvolumeattachment 1:50e52177583f4be4bad68ac20b65001e --detail
id 1:50e52177583f4be4bad68ac20b65001e
attachTime 2023-10-16T04:47:41+00:00
kernelDeviceName exc-dev1
deviceName myedv1
devicePath /dev/exc/myedv1
giClusterId
giClusterName
hostName exa01
initiator e7e0db8c-9a2a-0279-e7e0-db8c9a2a0279
logicalSectorSize 512
volume 2:72ebb8a56fba4e97b4716c25981702cb
volumeSnapshot
@>
アタッチ後、EDVデバイスは、アタッチメントをホストするExadataコンピュート・ノードまたはGIクラスタで使用できます。
たとえば、次のコマンド・シーケンスを使用して、前述の例で定義されたEDVデバイス(/dev/exc/myedv1
)を使用してACFSファイル・システムを作成およびマウントできます。
# # Confirmation of the EDV device at /dev/exc/myedv1.
# lsblk /dev/exc/myedv1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
exc-dev1 251:1 0 1G 0 disk
# # Note the default ownership and permissions for the EDV device.
# ls -l /dev/exc/myedv1
brw-rw---- 1 root disk 251, 1 Oct 6 17:41 /dev/exc/myedv1
# # Now use the device to support ACFS.
# mkfs -t acfs /dev/exc/myedv1
mkfs.acfs: version = 23.0.0.0.0
mkfs.acfs: ACFS compatibility = 23.0.0.0.0
mkfs.acfs: on-disk version = 53.0
mkfs.acfs: volume = /dev/exc/myedv1
mkfs.acfs: volume size = 1073741824 ( 1.00 GB )
mkfs.acfs: file system size = 1073741824 ( 1.00 GB )
mkfs.acfs: Format complete.
# mkdir /mnt/myedv1
# mount /dev/exc/myedv1 /mnt/myedv1
# df /mnt/myedv1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/exc/myedv1 1048576 318436 730140 31% /mnt/myedv1
#
# # Mount the file system on other cluster nodes as required.
ノート:
-
各EDVアタッチメントには、
/dev/exc-devN
にカーネル・デバイス・ファイルもあります(Nは、デバイスのマイナー番号です)。カーネル・デバイス名はEDVアタッチメントの属性として含まれ、ESCLIlsvolumeattachment
コマンドを使用して確認できます。カーネル・デバイス・ファイルと(/dev/exc/
の下の)ユーザー命名デバイス・ファイルの関係もudevデータベースに記録され、次のLinuxコマンドを使用して確認できます:# udevadm info device-file
device-file値には、カーネル・デバイス・ファイル(
/dev/exc-devN
)または(/dev/exc/
の下の)ユーザー命名デバイス・ファイルを指定できます。 -
デフォルトでは、EDVデバイス・ファイルへの読取り/書込みアクセスは、
root
オペレーティング・システム・ユーザーおよびdisk
グループのメンバーのみが利用できます。ユースケースによっては、EDVデバイス・ファイルを使用する前に、ファイルに対する権限の変更が必要になる場合があります。たとえば、
/dev/exc/myvol
のEDVデバイス・ファイルをoracle
ユーザーおよびasmdba
グループによって読取り/書込み可能にするには、次のようなudevルールを使用して構成できます:# cat /etc/udev/rules.d/57-edv-user.rules KERNEL=="exc-*", ENV{EXC_ALIAS}=="myvol", OWNER="oracle", GROUP="asmdba", MODE="0660"
-
EDVデバイスに関連するudevルールの管理を容易にするために、EDVクライアント・システムは、要件を満たすように変更できる
/etc/udev/rules.d/57-edv-user.rules
のテンプレートudevルール・ファイルを使用して構成されます。既存のudevルールを維持するために、EDVクライアント・ソフトウェアが更新されるたびに、/etc/udev/rules.d/57-edv-user.rules
は保持されます。
EDV上のACFSファイル・システムは、ACFS HANFSを使用して、Exadata RDMAネットワーク・ファブリックの外部のクライアントにエクスポートすることもできます。ACFSの詳細は、『Oracle Advanced Cluster File System管理者ガイド』を参照してください。
EDVデバイスは、RAWデバイスとして使用することも、XFS、EXT4などの他のLinuxファイル・システムと組み合せて使用することもできます。
親トピック: Exascaleブロック・ストレージの使用