ACFSとは「Oracle自動ストレージ管理クラスタ・ファイルシステム」のことで、簡単に言えばASMを利用したoracle独自のファイルシステムです。
ASMの利点を活かしながら、extのような使い慣れたファイルシステムを利用することが出来ます。
[root@DB01 ~]# lsmod | grep oracle
oracleacfs 3484641 0
oracleadvm 624264 0
oracleoks 514812 2 oracleacfs,oracleadvm
acfsのドライバが読み込みまれていることを確認します。
[grid@DB01 grid]$ asmcmd
ASMCMD> ls
DATA/
FRA/
gridのユーザーでasmのコマンドラインに入ります。
ASMCMD> volcreate -G data -s 1G volume10
ドライブグループのDATAに対して1Gのボリュームを作成します。
ASMCMD> volinfo -G data volume10
Diskgroup Name: DATA
Volume Name: VOLUME10
Volume Device: /dev/asm/volume10-306
State: ENABLED
Size (MB): 1024
Resize Unit (MB): 64
Redundancy: MIRROR
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath:
作成したボリュームの情報はvolinfoコマンドで確認できます。
SQL> column VOLUME_DEVICE format a20
SQL> SELECT volume_name,volume_device FROM v$asm_volume
2 WHERE volume_name='VOLUME10';
VOLUME_NAME VOLUME_DEVICE
------------------------------ --------------------
VOLUME10 /dev/asm/volume10-306
さらに、v$asm_volumeビューからも作成したボリュームを確認できます。
[grid@DB01 grid]$ mkfs -t acfs /dev/asm/volume10-306
mkfs.acfs: version = 12.1.0.2.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/volume10-306
mkfs.acfs: volume size = 1073741824 ( 1.00 GB )
mkfs.acfs: Format complete.
[root@DB01 ~]# mount -t acfs /dev/asm/volume10-306 /u01/app/acfsmounts/myacfs
extのようにファイルシステムを作成して、マウントします。
[root@DB01 ~]# chown -R grid:oinstall /u01/app/acfsmounts/myacfs
[root@DB01 ~]# su - grid
[grid@DB01 ~]$ echo "test" > /u01/app/acfsmounts/myacfs/myfile
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/myfile
test
適切な権限を設定して、ファイルの書き込みを行ってみます。
見た目はextのファイルシステムと変わりません。
[grid@DB01 ~]$ acfsutil snap create mysnapshot_20160915 /u01/app/acfsmounts/myacfs
acfsutil snap create: Snapshot operation is complete.
acfsらしいことを1つ
作成したボリュームのスナップショットを作成します。
[grid@DB01 ~]$ echo "test_after" > /u01/app/acfsmounts/myacfs/myfile
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/myfile
test_after
ボリューム内のファイルを更新します。
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/.ACFS/snaps/mysnapshot_20160915/myfile
test
スナップショット内のファイルは変更されていないことを確認できました。
ASMの利点を活かしながら、extのような使い慣れたファイルシステムを利用することが出来ます。
[root@DB01 ~]# lsmod | grep oracle
oracleacfs 3484641 0
oracleadvm 624264 0
oracleoks 514812 2 oracleacfs,oracleadvm
acfsのドライバが読み込みまれていることを確認します。
[grid@DB01 grid]$ asmcmd
ASMCMD> ls
DATA/
FRA/
gridのユーザーでasmのコマンドラインに入ります。
ASMCMD> volcreate -G data -s 1G volume10
ドライブグループのDATAに対して1Gのボリュームを作成します。
ASMCMD> volinfo -G data volume10
Diskgroup Name: DATA
Volume Name: VOLUME10
Volume Device: /dev/asm/volume10-306
State: ENABLED
Size (MB): 1024
Resize Unit (MB): 64
Redundancy: MIRROR
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath:
作成したボリュームの情報はvolinfoコマンドで確認できます。
SQL> column VOLUME_DEVICE format a20
SQL> SELECT volume_name,volume_device FROM v$asm_volume
2 WHERE volume_name='VOLUME10';
VOLUME_NAME VOLUME_DEVICE
------------------------------ --------------------
VOLUME10 /dev/asm/volume10-306
さらに、v$asm_volumeビューからも作成したボリュームを確認できます。
[grid@DB01 grid]$ mkfs -t acfs /dev/asm/volume10-306
mkfs.acfs: version = 12.1.0.2.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/volume10-306
mkfs.acfs: volume size = 1073741824 ( 1.00 GB )
mkfs.acfs: Format complete.
[root@DB01 ~]# mount -t acfs /dev/asm/volume10-306 /u01/app/acfsmounts/myacfs
extのようにファイルシステムを作成して、マウントします。
[root@DB01 ~]# chown -R grid:oinstall /u01/app/acfsmounts/myacfs
[root@DB01 ~]# su - grid
[grid@DB01 ~]$ echo "test" > /u01/app/acfsmounts/myacfs/myfile
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/myfile
test
適切な権限を設定して、ファイルの書き込みを行ってみます。
見た目はextのファイルシステムと変わりません。
[grid@DB01 ~]$ acfsutil snap create mysnapshot_20160915 /u01/app/acfsmounts/myacfs
acfsutil snap create: Snapshot operation is complete.
acfsらしいことを1つ
作成したボリュームのスナップショットを作成します。
[grid@DB01 ~]$ echo "test_after" > /u01/app/acfsmounts/myacfs/myfile
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/myfile
test_after
ボリューム内のファイルを更新します。
[grid@DB01 ~]$ cat /u01/app/acfsmounts/myacfs/.ACFS/snaps/mysnapshot_20160915/myfile
test
スナップショット内のファイルは変更されていないことを確認できました。

コメント