Oracle ASM Cluster File System(ACFS)は、POSIX、X/OPEN、およびWindowsに準拠した業界標準のクラスタ・ファイル・システムで複数のノードからアクセスできる共有ファイルシステムで、expdp/impdp,バッチやデータ・ロード用途のファイル配置場所として使用します
ACFSの管理コマンドとしてacfsutilがあり、ファイルシステムを動的拡張することができ、18c以降ではファイル・システムのサイズを動的縮小することもできます。
Exadata Cloud Servie (ExaCS) 、Database Cloud Service (DBCS)では ASM が使用されており、デフォルトで ACFS 領域がありますがパッチ自動配置などシステムで使用される必要領域です。ということで、ユーザー用途で個別に ACFS 領域を作成してデータ移行用途でデータ・ポンプの dump ファイルを配置できるようにしてみてみます。
■ ACFS ボリューム作成
DUMPSTORE という名前で ACFS ボリューム作成してみてみます
1) Gridユーザー スイッチ
[opc@exacs-tokyo ~]$ sudo su - grid
Last login: Tue Sep 7 11:25:04 UTC 2021
[grid@exacs-tokyo ~]$ id
uid=1000(grid) gid=1001(oinstall) groups=1001(oinstall),1004(asmdba),1005(asmoper),1006(asmadmin)
2) ASM Disk Group確認
[grid@exacs-tokyo1 ~]$ 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 HIGH N 512 512 4096 4194304 188301312 175272036 10461184 54936950 0 Y DATAC1/
MOUNTED HIGH N 512 512 4096 4194304 282488832 282433800 15693824 88913325 0 N RECOC1/
3) ADVMボリュームに関する情報表示
[grid@exacs-tokyo1 ~]$ asmcmd
ASMCMD> volinfo --all
Diskgroup Name: DATAC1
Volume Name: ACFSVOL01
Volume Device: /dev/asm/acfsvol01-75
State: ENABLED
Size (MB): 1146880
Resize Unit (MB): 64
Redundancy: HIGH
Stripe Columns: 8
Stripe Width (K): 1024
Usage: ACFS
Mountpath: /acfs01
4) ADVMボリュームDUMPSTORE作成
ここでは、既存のASMボリュームDATAC1上に ACFS領域のボリューム名を DUMPSTORE,サイズを3TBとして作成
ASMCMD> volcreate -G DATAC1 -s 3T DUMPSTORE
● ACFSボリューム確認
作成したDUMPSTOREボリューム情報確認
1) ASCMDコマンド確認
ASMCMD> volinfo -G DATAC1 DUMPSTORE
Diskgroup Name: DATAC1
Volume Name: DUMPSTORE
Volume Device: /dev/asm/dumpstore-75
State: ENABLED
Size (MB): 3145728
Resize Unit (MB): 64
Redundancy: HIGH
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath:
ASMCMD> volinfo --all
Diskgroup Name: DATAC1
Volume Name: ACFSVOL01
Volume Device: /dev/asm/acfsvol01-75
State: ENABLED
Size (MB): 1146880
Resize Unit (MB): 64
Redundancy: HIGH
Stripe Columns: 8
Stripe Width (K): 1024
Usage: ACFS
Mountpath: /acfs01
Volume Name: DUMPSTORE
Volume Device: /dev/asm/dumpstore-75
State: ENABLED
Size (MB): 3145728
Resize Unit (MB): 64
Redundancy: HIGH
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath:
2) OSコマンド確認
作成された OSデバイスファイルを確認
ここでは、/dev/asm/dumpstore-75 になります。ここにACFSファイルシステムを作成します。
[grid@exacs-tokyo1 ~]$ ls -l /dev/asm/*
brwxrwx--- 1 root asmadmin 251, 38401 Jan 26 02:05 /dev/asm/acfsvol01-75
brwxrwx--- 1 root asmadmin 251, 38402 Jan 26 11:51 /dev/asm/dumpstore-75
■ ACFS ファイル・システムの作成
作成された DUMPSTORE Volume の Volume Device へ ACFS ファイル・システムの作成
● ACFS ファイル・システム作成
1) ACFS ファイル・システム作成
上記確認したOSデバイスファイル名 /dev/asm/dumpstore-75 へACFSファイル・システムを作成
[root@exacs-tokyo1 ~]# mkfs -t acfs /dev/asm/dumpstore-75
mkfs.acfs: version = 19.0.0.0.0
mkfs.acfs: on-disk version = 46.0
mkfs.acfs: volume = /dev/asm/dumpstore-75
mkfs.acfs: volume size = 3298534883328 ( 3.00 TB )
mkfs.acfs: Format complete.
● ACFS ファイル・システム Mount
1) rootユーザー へ切替
[grid@exacs-tokyo1 ~]$ exit
[root@exacs-tokyo1 ~]# id -a
uid=0(root) gid=0(root) groups=0(root)
2) マウント・ポイント /acfs02 作成 (全Nodeで実施)
・Node1
[root@exacs-tokyo1 ~]# mkdir -p /acfs02
[root@exacs-tokyo1 ~]# ls -ld /acfs02/
drwxr-xr-x 2 grid oinstall 4096 Jun 4 11:11 /acfs02/
・Node2
[root@exacs-tokyo2 ~]# mkdir -p /acfs02
[root@exacs-tokyo2 ~]# ls -ld /acfs02/
drwxr-xr-x 2 grid oinstall 4096 Jun 26 11:15 /acfs02/
3) /acfs02 自動マウント設定 (1 nodeのみで実施)
切り出したボリュームを、/acfs02 に grid ユーザとしてマウントするように srvctlコマンドで設定
*srvctlコマンドは、gridユーザーの $ORACLE_HOME/bin/srvctl にあります。
[root@exacs-tokyo1 ~]# /u01/app/19.0.0.0/grid/bin/srvctl add filesystem -d /dev/asm/dumpstore-75 -g DATAC1 -v DUMPSTORE -m /acfs02 -u grid
4) /acfs02 マウント実施 (1 nodeのみで実施)
*srvctlコマンドは、gridユーザーの $ORACLE_HOME/bin/srvctl にあります。
[root@exacs-tokyo1 ~]# /u01/app/19.0.0.0/grid/bin/srvctl start filesystem -d /dev/asm/dumpstore-75
5) srvctl status is mounted確認 (全Nodeで実施)
[root@exacs-tokyo1 ~]# /u01/app/19.0.0.0/grid/bin/srvctl status filesystem
ACFS file system /acfs01 is mounted on nodes exacs-tokyo-b7yzk1,exacs-tokyo-b7yzk2
ACFS file system /acfs02 is mounted on nodes exacs-tokyo-b7yzk1,exacs-tokyo-b7yzk2
6) crsctl stat ONLINE確認 (1Nodeで実施)
[grid@exacs-tokyo2 ~]$ crsctl stat res ora.data.dumpstore.acfs
NAME=ora.data.dumpstore.acfs
TYPE=ora.acfs.type
TARGET=ONLINE , ONLINE
STATE=ONLINE on exacs-tokyo1, ONLINE on exacs-tokyo2
[grid@exacs-tokyo2 ~]$ crsctl stat res ora.data.dumpstore.acfs -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.data.dumpstore.acfs
ONLINE ONLINE exacs-tokyo1 mounted on /acfs02,S
TABLE
ONLINE ONLINE exacs-tokyo2 mounted on /acfs02,S
TABLE
--------------------------------------------------------------------------------
7) /acfs02 マウント確認 (全Nodeで実施)
[root@exacs-tokyo1 ~]# ls -l / | grep acfs
drwxr-xr-x 7 root root 32768 Jun 25 13:09 acfs01
drwxr-xr-x 2 grid oinstall 32768 Jun 26 11:59 acfs02
[root@exacs-tokyo1 ~]# ls -ld /acfs02
drwxr-xr-x 4 grid oinstall 32768 Jun 26 11:59 /acfs02
[root@exacs-tokyo1 ~]# df -hT | grep acfs
/dev/asm/acfsvol01-75 acfs 1.1T 35G 1.1T 4% /acfs01
/dev/asm/dumpstore-75 acfs 3.0T 6.7G 3.0T 1% /acfs02
8) 書き込みテスト
gridユーザーでファイル作成/削除できることを確認
複数Node構成のRACの場合、全ノードでファイルアクセスできることを確認
・Node1 でファイル作成
[root@exacs-tokyo1 ~]# su - grid
[grid@exacs-tokyo1 ~]$ touch /acfs02/test.txt
[grid@exacs-tokyo1 ~]$ ls -l /acfs02/test.txt
-rw-r--r-- 1 grid oinstall 0 Jun 26 14:43 /acfs02/test.txt
・Node2 でファイルが作成されていることを確認し削除
[root@exacs-tokyo2 ~]# su - grid
[grid@exacs-tokyo1 ~]$ ls -l /acfs02/test.txt
-rw-r--r-- 1 grid oinstall 0 Jun 26 14:43 /acfs02/test.txt
[grid@exacs-tokyo1 ~]$ rm /acfs02/test.txt
・Node1 でファイル削除されていることを確認
[grid@basedb23ai2 ~]$ ls -l /acfs02/
total 64
drwx------ 2 root root 65536 Jun 26 14:28 lost+found
■ ACFS 動的拡張/縮小
● ACFS領域確認
1) grid ユーザーログイン
[grid@exacs-tokyo1 ~]$ su - grid
2) ASM Disk確認
[grid@exacs-tokyo1 ~]$ 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 HIGH N 512 512 4096 4194304 282488832 278894784 15693824 87733653 0 Y DATAC1/
MOUNTED HIGH N 512 512 4096 4194304 94150656 94094916 5230592 29621441 0 N RECOC1/
MOUNTED HIGH N 512 512 4096 4194304 941506560 941495208 52305920 296396429 0 N SPRC1/
3) acfsマウントポイントとサイズ確認
[grid@exacs-tokyo1 ~]$ df -hT | grep acfs
/dev/asm/acfsvol01-472 acfs 1.1T 61G 1.1T 6% /acfs01
4) ASMディスク・グループ確認
[grid@exacs-tokyo1 ~]$ acfsutil info storage
Diskgroup Consumer Space Size With Mirroring Usable Free %Free Path
DATAC1 269.40 89.80 83.67 93%
ACFSVOL01 3.28 1.09 1.03 94% /acfs01
RECOC1 89.79 29.93 28.25 94%
SPRC1 897.89 299.30 282.67 94%
----
unit of measurement: TB
● ACFS サイズ拡張
1TB から 5TB へ拡張してみてみます
1) ACFS サイズ拡張
[grid@exacs-tokyo1 ~]$ acfsutil size 5T /acfs01
acfsutil size: Resizing file system in steps
acfsutil size: Resizing file system to 1.1094 TB
acfsutil size: Resizing file system to 1.1250 TB
・・・
acfsutil size: Resizing file system to 4.9688 TB
acfsutil size: Resizing file system to 4.9844 TB
acfsutil size: Resizing file system to 5.0000 TB
acfsutil size: new file system size: 5497558138880 (5242880MB)
2) ASMディスク・グループ確認
ファイルシステムが拡張されたため、Usable Freeが拡張されていることが確認できます
[grid@exacs-tokyo1 ~]$ acfsutil info storage
Diskgroup Consumer Space Size With Mirroring Usable Free %Free Path
DATAC1 269.40 89.80 79.76 88%
ACFSVOL01 15.00 5.00 4.93 98% /acfs01
RECOC1 89.79 29.93 28.25 94%
SPRC1 897.89 299.30 282.67 94%
----
unit of measurement: TB
3) acfsファイルシステム拡張確認
acfsファイルシステムのサイズが拡張されていることを確認
[grid@exacs-tokyo ~]$ df -hT | grep acfs
/dev/asm/acfsvol01-472 acfs 5.0T 69G 5.0T 2% /acfs01
● ACFS領域縮小
5TB から 8GBへ縮小してみてみます
1) acfsサイズ縮小
[grid@exacs-tokyo1 ~]$ acfsutil size 800G /acfs01
acfsutil size: Resizing file system in steps
acfsutil size: Resizing file system to 4.9844 TB
acfsutil size: Resizing file system to 4.9688 TB
・・・
acfsutil size: Resizing file system to 0.7969 TB
acfsutil size: Resizing file system to 0.7813 TB
acfsutil size: new file system size: 858993459200 (819200MB)
2) acfsのサイズが縮小されていることを確認
[grid@exacs-tokyo1 ~]$ df -hT | grep acfs
/dev/asm/acfsvol01-472 acfs 800G 68G 733G 9% /acfs01
■ 参考
・マニュアル
- Oracle Automatic Storage Management Cluster File System
- 管理者ガイド: ASMCMDによるOracle ADVMの管理
- ACFSファイルシステムのサイズ変更: acfsutil size