Criando uma unidade ACFS no Exadata X8


Oracle ACFS (Automatic Storage Management Cluster File System) é uma tecnologia de gerenciamento de armazenamento que amplia as capacidades de uso do ASM, passando a oferecer um sistema de arquivos multi-plataforma escalável, com finalidade de armazenar qualquer tipo de aquivo.

O funcionamento do ACFS passa pela camada do ADVM (ASM Dinamyc Volume Manager) que é responsável por entregar e gerenciar os volumes criados.


Nesta artigo estarei abordando a criação de uma unidade ACFS em um ambiente Exadata X8. Este tipo de demanda por ser utilizado por exemplo como uma área temporária para uma migração, ou mesmo para alguma necessidade de armazenamento.

Será criada uma unidade de 5 terabytes a partir do diskgroup RECO. Para isso  é necessário conectar com / as sysasm.
[oracle@exaprdlamim01 ~]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 4 09:29:40 2020
Version 19.4.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: / as sysasm

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.4.0.0.0

SQL> alter diskgroup RECO add volume migracao size 5T;

Diskgroup altered.

SQL>

Apos criar o volume migracao no ASM, será criado automaticamente abaixo de /dev/asm com o nome migracao-<codigo>. Neste exemplo o volume criado foi o migracao-453.
[oracle@exaprdlamim01 ~]$ ls -l /dev/asm
total 0
brwxrwx--- 1 root dba 251, 231937 Mar  4 09:30 migracao-453
[oracle@exaprdlamim01 ~]$

Concluída a criação do volume, é necessário formata-lo. Para isso deve ser utilizado o comando mkfs passando o disco, conforme sintaxe abaixo.
[oracle@exaprdlamim01 ~]$ /sbin/mkfs -t acfs /dev/asm/migracao-453
mkfs.acfs: version                   = 19.0.0.0.0
mkfs.acfs: on-disk version           = 46.0
mkfs.acfs: volume                    = /dev/asm/migracao-453
mkfs.acfs: volume size               = 5497558138880  (   5.00 TB )
mkfs.acfs: Format complete.
[oracle@exaprdlamim01 ~]$

A próxima etapa é adicionar o filesystem, conforme sintaxe abaixo. Vale ressaltar que o comando deve ser executado com o root.
[oracle@exaprdlamim01 ~]$
[oracle@exaprdlamim01 ~]$ srvctl add filesystem -d /dev/asm/migracao-453 -m /migracao -u oracle -fstype ACFS -autostart ALWAYS
PRCN-2018 : Current user oracle is not a privileged user
[oracle@exaprdlamim01 ~]$
[oracle@exaprdlamim01 ~]$ exit
exit

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.4.0.0.0
[oracle@exaprdlamim01 ~]$ exit
logout
[root@exaprdlamim01 grid]# export ORACLE_HOME=/u01/app/19.0.0.0/grid
[root@exaprdlamim01 grid]# export PATH=$ORACLE_HOME/bin:$PATH
[root@exaprdlamim01 grid]# srvctl add filesystem -d /dev/asm/migracao-453 -m /migracao -u oracle -fstype ACFS -autostart ALWAYS
[root@exaprdlamim01 grid]#

Após adicionar o filesystem no serviço do grid, é necessário realizar o start do mesmo.
[root@exaprdlamim01 grid]#
[root@exaprdlamim01 grid]# srvctl start filesystem -d /dev/asm/migracao-453
[root@exaprdlamim01 grid]#

Listando os filesystems através de um df -h o filesystem /migracao já e listado.
[root@exaprdlamim01 grid]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                      189G     0  189G   0% /dev
tmpfs                         377G  209M  376G   1% /dev/shm
tmpfs                         189G  4.1M  189G   1% /run
tmpfs                         189G     0  189G   0% /sys/fs/cgroup
/dev/mapper/VGExaDb-LVDbSys1  227G   32G  186G  15% /
/dev/sda1                     488M   48M  405M  11% /boot
/dev/sda2                     254M  7.3M  247M   3% /boot/efi
/dev/mapper/VGExaDb-LVDbOra1  493G  158G  314G  34% /u01
tmpfs                          38G     0   38G   0% /run/user/0
/dev/asm/migracao-453         5.0T   11G  5.0T   1% /migracao
[root@exaprdlamim01 grid]#

O processo de remoção é bastante simples e consiste em parar o filesystem criado, remove-lo e por ultimo dropar o volume.

Para efetuar o stop do filesystem, deve-se utilizar a sintaxe conforme abaixo, com o usuário root.
[root@exaprdlamim01 grid]#
[root@exaprdlamim01 grid]# export ORACLE_HOME=/u01/app/19.0.0.0/grid
[root@exaprdlamim01 grid]# export PATH=$ORACLE_HOME/bin:$PATH
[root@exaprdlamim01 grid]# srvctl stop filesystem -d /dev/asm/migracao-453 
[root@exaprdlamim01 grid]#
[root@exaprdlamim01 grid]# srvctl remove filesystem -d /dev/asm/migracao-453 
[root@exaprdlamim01 grid]#
[root@exaprdlamim01 grid]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                      189G     0  189G   0% /dev
tmpfs                         377G  209M  376G   1% /dev/shm
tmpfs                         189G  4.1M  189G   1% /run
tmpfs                         189G     0  189G   0% /sys/fs/cgroup
/dev/mapper/VGExaDb-LVDbSys1  227G   32G  186G  15% /
/dev/sda1                     488M   48M  405M  11% /boot
/dev/sda2                     254M  7.3M  247M   3% /boot/efi
/dev/mapper/VGExaDb-LVDbOra1  493G  158G  314G  34% /u01
tmpfs                          38G     0   38G   0% /run/user/0
[root@exaprdlamim01 grid]#

Apos a remoção do filesystem, basta remover o volume do ASM para que ocorra a liberação da área no ASM.

[oracle@exaprdlamim01 ~]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 4 09:29:40 2020
Version 19.4.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Enter user-name: / as sysasm

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.4.0.0.0

SQL> alter diskgroup RECO drop volume migracao;

Diskgroup altered.

SQL>


Comentários