LoginSignup
3
3

OCI BaseDB EE-EP RAC に ACFS(ASM Cluster Filesystem) をマウントしてみる(Oracle Cloud Infrastructure)

Last updated at Posted at 2024-04-30

ACFS(ASM Cluster Filesystem) は Oracle ASM をファイルシステムとして使用可能にする仕組みです。

Oracle ACFSについて
https://docs.oracle.com/cd/F19136_01/ostmg/understand-acfs-concepts.html#GUID-579FDDA5-7D18-4A01-B3D6-906B6DB93851

Oracle ACFSは、すべてのカスタマ・ファイルをサポートする、スタンドアロン・サーバーおよびクラスタ全体の汎用ファイル・システムとして設計されています。

今回の記事では OCI BaseDB の EE-EP(Enterprise Edition - Extreme Performance) RAC に ACFS をマウントしてみますやで。
彡(^)(^)

1. 参考ドキュメント

以下のマニュアルを参照しています。ACFS のマウントには幾つかの方法がありますが acfsutilコマンド によるマウントを行います。

Oracle ACFSの管理の理解
https://docs.oracle.com/cd/F19136_01/ostmg/understand-acfs-admin.html#GUID-EC577A31-256E-4FD2-9E9F-749D78B378D0
・acfsutilコマンドで作成され、ノード・リストを指定するOracle ACFSリソースは、そのリストのノードすべてにマウントされます。

Oracle ACFSファイル・システムの作成
https://docs.oracle.com/cd/F19136_01/ostmg/steps-manage-acfs.html#GUID-FA9F9335-ADA4-48D1-B060-6F096E3BAE6C

2. Oracle ADVMボリュームの作成

BaseDB に opcユーザーでログインして、gridユーザーにスイッチします。asmcmdコマンドを起動します。

su - grid
asmcmd
lsdg

#結果
$ su - grid
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304    262144   250256                0          250256              0             Y  DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304    262144   245052                0          245052              0             N  RECO/

volcreateコマンドでOracle ADVMボリュームを作成します。+DATAディスクグループに 50GB ほど確保します。

volcreate -G data -s 50G volume1
volinfo -G data volume1

-- 結果
ASMCMD> volcreate -G data -s 50G volume1
ASMCMD> volinfo -G data volume1
Diskgroup Name: DATA

	 Volume Name: VOLUME1
	 Volume Device: /dev/asm/volume1-274
	 State: ENABLED
	 Size (MB): 51200
	 Resize Unit (MB): 64
	 Redundancy: UNPROT
	 Stripe Columns: 8
	 Stripe Width (K): 1024
	 Usage: 
	 Mountpath: 

asmcmd を抜けて作成されたボリュームをlsコマンドで確認してみます。

$ ls -la /dev/asm/volume1-274 
brwxrwx--- 1 root asmadmin 251, 140290 Apr 30 11:04 /dev/asm/volume1-274

/dev配下のデバイスとして参照できます。

3. mkfs によるフォーマットと acfsutil によるマウント

mkfsユーティリティでデバイスをフォーマットします。

/sbin/mkfs -t acfs /dev/asm/volume1-274

#結果
$ /sbin/mkfs -t acfs /dev/asm/volume1-274
mkfs.acfs: version                   = 19.0.0.0.0
mkfs.acfs: on-disk version           = 46.0
mkfs.acfs: volume                    = /dev/asm/volume1-274
mkfs.acfs: volume size               = 53687091200  (  50.00 GB )
mkfs.acfs: Format complete.
$

gridユーザーを抜けてrootユーザーにスイッチします。acfsutil でフォーマットしたデバイスをマウントします。

sudo su -
/sbin/acfsutil registry -a /dev/asm/volume1-274 /acfs1

#結果
# /sbin/acfsutil registry -a /dev/asm/volume1-274 /acfs1
acfsutil registry: mount point /acfs1 successfully added to Oracle Registry
#

dfコマンドでマウントされているか確認します。

# df -k
Filesystem                     1K-blocks     Used Available Use% Mounted on
devtmpfs                        16239508        0  16239508   0% /dev
tmpfs                           16284060  1623140  14660920  10% /dev/shm
tmpfs                           16284060      952  16283108   1% /run
tmpfs                           16284060        0  16284060   0% /sys/fs/cgroup
/dev/mapper/vg00-root           10054932  3964256   5550004  42% /
tmpfs                           16284060      224  16283836   1% /tmp
/dev/mapper/vg00-opt            34438992 13798900  19134760  42% /opt
/dev/mapper/vg00-home             980396      180    911404   1% /home
/dev/sda2                         996780    97020    830948  11% /boot
/dev/mapper/vg00-var            10064220   927952   8637544  10% /var
/dev/sda1                         130798     5138    125660   4% /boot/efi
/dev/mapper/vg00-var_log         3981024    78504   3676424   3% /var/log
/dev/mapper/vg00-var_log_audit   1959784    21028   1817516   2% /var/log/audit
/dev/mapper/vg00-var_tmp          980396       68    911516   1% /var/tmp
/dev/sde                       205314024 26282420 168529460  14% /u01
tmpfs                            3256812        0   3256812   0% /run/user/102
/dev/asm/commonstore-274         5242880   834280   4408600  16% /opt/oracle/dcs/commonstore
tmpfs                            3256812        0   3256812   0% /run/user/101
tmpfs                            3256812        0   3256812   0% /run/user/1000
/dev/asm/volume1-274            52428800   666000  51762800   2% /acfs1 ★★★

4. ファイル書き込みと異なるノードからの確認

今回は RAC なので複数ノードで ACFS がマウントされています。

# 1号機の df の結果
[opc@aysoskbasedb19c1 ~]$ uname -a
Linux aysoskbasedb19c1 5.4.17-2136.326.6.el8uek.x86_64 #2 SMP Thu Nov 30 22:30:37 PST 2023 x86_64 x86_64 x86_64 GNU/Linux
[opc@aysoskbasedb19c1 ~]$ df -k /acfs1
Filesystem           1K-blocks   Used Available Use% Mounted on
/dev/asm/volume1-274  52428800 666000  51762800   2% /acfs1
[opc@aysoskbasedb19c1 ~]$
# 2号機の df の結果
[opc@aysoskbasedb19c2 ~]$ uname -a
Linux aysoskbasedb19c2 5.4.17-2136.326.6.el8uek.x86_64 #2 SMP Thu Nov 30 22:30:37 PST 2023 x86_64 x86_64 x86_64 GNU/Linux
[opc@aysoskbasedb19c2 ~]$ df -k /acfs1
Filesystem           1K-blocks   Used Available Use% Mounted on
/dev/asm/volume1-274  52428800 666000  51762800   2% /acfs1
[opc@aysoskbasedb19c2 ~]$
# crsctl のリソース稼働状況
[opc@aysoskbasedb19c2 ~]$ /u01/app/19.0.0.0/grid/bin/crsctl stat res ora.data.volume1.acfs -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.data.volume1.acfs
               ONLINE  ONLINE       aysoskbasedb19c1         mounted on /acfs1,ST
                                                             ABLE
               ONLINE  ONLINE       aysoskbasedb19c2         mounted on /acfs1,ST
                                                             ABLE
--------------------------------------------------------------------------------
[opc@aysoskbasedb19c2 ~]$

1号機でファイルを書いてみます。

[oracle@aysoskbasedb19c1 dump]$ pwd
/acfs1/dump
[oracle@aysoskbasedb19c1 dump]$ echo "Hello, ACFS!" > Hello.txt
[oracle@aysoskbasedb19c1 dump]$ ls -la
total 88
drwxr-xr-x 2 oracle oinstall 20480 Apr 30 11:55 .
drwxr-xr-x 5 root   root     32768 Apr 30 11:08 ..
-rw-r--r-- 1 oracle oinstall    13 Apr 30 11:55 Hello.txt
[oracle@aysoskbasedb19c1 dump]$ cat Hello.txt
Hello, ACFS!
[oracle@aysoskbasedb19c1 dump]$

書いたファイルを2号機で読んでみます。

[oracle@aysoskbasedb19c2 dump]$ pwd
/acfs1/dump
[oracle@aysoskbasedb19c2 dump]$ ls -la
total 88
drwxr-xr-x 2 oracle oinstall 20480 Apr 30 11:55 .
drwxr-xr-x 5 root   root     32768 Apr 30 11:08 ..
-rw-r--r-- 1 oracle oinstall    13 Apr 30 11:55 Hello.txt
[oracle@aysoskbasedb19c2 dump]$ cat Hello.txt
Hello, ACFS!
[oracle@aysoskbasedb19c2 dump]$

1号機で書かれたファイルを2号機で読み込めました彡(^)(^)

5. ACFS のクラスタ・リソースとしての定義確認

acfsutil で登録した ACFS は Oracle Clusterware のクラスタ・リソースとして登録されています。

# crsctl のリソース稼働状況
[opc@aysoskbasedb19c2 ~]$ /u01/app/19.0.0.0/grid/bin/crsctl stat res ora.data.volume1.acfs -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.data.volume1.acfs
               ONLINE  ONLINE       aysoskbasedb19c1         mounted on /acfs1,ST
                                                             ABLE
               ONLINE  ONLINE       aysoskbasedb19c2         mounted on /acfs1,ST
                                                             ABLE
--------------------------------------------------------------------------------
[opc@aysoskbasedb19c2 ~]$

-pオプション付きの crsctlコマンドでクラスタ・リソースの定義を確認してみます。

[grid@aysoskbasedb19c1 ~]$ crsctl stat res ora.data.volume1.acfs -p
NAME=ora.data.volume1.acfs
TYPE=ora.acfs.type
ACFS_INTERNAL_USE=1186418149
ACL=owner:root:rwx,pgrp:root:r-x,other::r--,user:grid:r-x
ACTIONS=
ACTION_SCRIPT=
ACTION_TIMEOUT=60
AGENT_FILENAME=%CRS_HOME%/bin/orarootagent%CRS_EXE_SUFFIX%
AUTO_START=always
AUX_VOLUMES=
CANONICAL_VOLUME_DEVICE=/dev/asm/volume1-274
CHECK_INTERVAL=15
CHECK_TIMEOUT=120
CLEAN_TIMEOUT=60
CSS_CRITICAL=no
DELETE_TIMEOUT=60
DESCRIPTION=CRS resource type for ASM Cluster File Systems
ENABLED=1
FS_DESCRIPTION=
FS_OPTIONS=
FS_TYPE=ACFS
GH_CREATED=0
IGNORE_TARGET_ON_FAILURE=yes
INSTANCE_FAILOVER=1
INTERMEDIATE_TIMEOUT=0
INTERNAL_MOUNTPOINT_PATH=/acfs1
LOAD=1
LOGGING_LEVEL=1
MODIFY_TIMEOUT=60
MOUNTPOINT_PATH=/acfs1
MOUNT_ACL=owner:root:rwx,pgrp:root:r-x,other::r-x
NLS_LANG=
OFFLINE_CHECK_INTERVAL=30
RESOURCE_GROUP=
RESTART_ATTEMPTS=5
RESTART_DELAY=0
SCRIPT_TIMEOUT=60
SERVER_CATEGORY=ora.hub.category
START_CONCURRENCY=0
START_DEPENDENCIES=hard(ora.DATA.VOLUME1.advm) pullup(ora.DATA.VOLUME1.advm,ora.asm)
START_TIMEOUT=500
STOP_CONCURRENCY=0
STOP_DEPENDENCIES=hard(intermediate:ora.DATA.VOLUME1.advm)
STOP_TIMEOUT=120
TARGET_DEFAULT=atleastone
TYPE_VERSION=3.3
UPTIME_THRESHOLD=1d
USER_WORKLOAD=no
USR_ORA_ENV=
VOLUME_DEVICE=/dev/asm/volume1-274
WORKLOAD_CPU=0
WORKLOAD_CPU_CAP=0
WORKLOAD_MEMORY_MAX=0
WORKLOAD_MEMORY_TARGET=0

[grid@aysoskbasedb19c1 ~]$

TYPE=ora.acfs.type のリソースとして登録されています。ADVMボリュームとの依存性が定義されています。

6. まとめ

OCI BaseDB に ACFS をマウントできました。OSファイル置き場として利用可能なので、皆さん活用して下さいね。
彡(^)(^)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3