Instalando ACFS 12.1.0.1 no Oracle Linux 6.10 com Red Hat Compatible Kernel

Verifique a matriz de compatibilidade entre Oracle Grid Infrastructure e Kernel Linux no Doc ID 1369107.1.

Neste exemplo, estou utilizando a versão 12.1.0.1 e essas são as versões certificadas:

Verificando a versão atual no servidor:

uname -a
Linux node01.dibiei.com 4.1.12-124.16.4.el6uek.x86_64 #2 SMP Thu Jun 14 18:55:52 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

A versão do Kernel em uso no momento não é suportada.

Verificando opções de kernel disponíveis (já instaladas) no servidor:

# cat /etc/grub.conf 

Oracle Linux UEK com kernel 4.1.12.X e Red Hat Compatible Kernel 2.6.32.X.

Poderia baixar e instalar um kernel UEK compatível ou utilizar o Red Hat Compatible Kernel. Neste caso, trata-se um laboratório e eu vou utilizar o Red Hat Compatible Kernel.

Para alterar, como ele é o segundo kernel disponível na lista, basta alterar o valor de “default” de 0 para 1 com um editor de texto.

Reinicie um servidor e verifique a versão em uso novamente:

# reboot
# uname -a
Linux node01.dibiei.com 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:33:10 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

Para o caso do Kernel Red Hat, instale o pacote redhat-lsb para evitar o erro: Can’t exec “/usr/bin/lsb_release”

# yum install redhat-lsb -y

Instalando os módulos do ACFS:

# . oraenv
ORACLE_SID = [+ASM1] ? 
The Oracle base remains unchanged with value /u01/app/grid

# acfsroot install
ACFS-9300: ADVM/ACFS distribution files found.
ACFS-9307: Installing requested ADVM/ACFS software.
ACFS-9308: Loading installed ADVM/ACFS drivers.
ACFS-9321: Creating udev for ADVM/ACFS.
ACFS-9323: Creating module dependencies - this may take some time.
ACFS-9154: Loading 'oracleoks.ko' driver.
ACFS-9154: Loading 'oracleadvm.ko' driver.
ACFS-9154: Loading 'oracleacfs.ko' driver.
ACFS-9327: Verifying ADVM/ACFS devices.
ACFS-9156: Detecting control device '/dev/asm/.asm_ctl_spec'.
ACFS-9156: Detecting control device '/dev/ofsctl'.
ACFS-9309: ADVM/ACFS installation correctness verified.

Habilite os módulos para iniciar automaticamente com o Kernel:

# acfsroot enable
ACFS-9376: Adding ADVM/ACFS drivers resource succeeded.
CRS-2672: Attempting to start 'ora.drivers.acfs' on 'node01'
CRS-2676: Start of 'ora.drivers.acfs' on 'node01' succeeded
ACFS-9380: Starting ADVM/ACFS drivers resource succeeded.

Verificando os módulos carregados no Kernel do Linux:

# lsmod | grep ora
oracleacfs           3070998  0 
oracleadvm            325841  0 
oracleoks             418261  2 oracleacfs,oracleadvm
oracleasm              54297  1

Precisamos reiniciar a instância do ASM, mas os meus os meus arquivos do OCR são armazenados no ASM, então preciso reiniciar o clusteware neste nó:

# crsctl stop cluster
# crsctl start cluster

Execute os mesmos passos nos demais nós do cluster.

Testando a utilização do ACFS

Alterando a compatibilidade do ADVM para versão 11.2. Note que já tenho um Diskgroup chamado ACFS_DG criado.

$ . oraenv
ORACLE_SID = [grid] ? +ASM1
$ sqlplus / as sysasm
SQL> alter diskgroup acfs_dg set attribute 'compatible.advm'='11.2.0';

Criação de um Volume com tamanho de 256 MB:

$ asmcmd
ASMCMD> volcreate -G ACFS_DG -s 256m volume01
ASMCMD> volinfo --all
Diskgroup Name: ACFS_DG

	 Volume Name: VOLUME01
	 Volume Device: /dev/asm/volume01-78
	 State: ENABLED
	 Size (MB): 256
	 Resize Unit (MB): 32
	 Redundancy: UNPROT
	 Stripe Columns: 4
	 Stripe Width (K): 128
	 Usage: 
	 Mountpath:

Ele cria um dispositivo que se apresenta como um disco para o sistema operacional. “Volume Device” indica como ele foi criado no sistema operacional:

ls -l /dev/asm/*
brwxrwx--- 1 root asmadmin 252, 39937 Jul 30 17:24 /dev/asm/volume01-78

Agora podemos formatar o disco no Linux usando o mkfs:

# mkfs.acfs /dev/asm/volume01-78
mkfs.acfs: version                   = 12.1.0.1.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/volume01-78
mkfs.acfs: volume size               = 268435456
mkfs.acfs: Format complete.

Note que o mkfs suporta o tipo “acfs” somente após a instalação dos módulos acfs no servidor.

Montando o disco no filesystem local com mount do Linux:

# mkdir -p /exemplo_acfs
# mount -t acfs /dev/asm/volume01-78 /exemplo_acfs

# df -h /exemplo_acfs/
Filesystem            Size  Used Avail Use% Mounted on
/dev/asm/volume01-78  256M   39M  218M  16% /exemplo_acfs

Configurando o filesystem como um recurso do clusteware, o que permite montar o filesystem em todos nós do cluster automaticamente.

# srvctl add filesystem -device /dev/asm/volume01-78 -path /exemplo_acfs -autostart always

# srvctl start filesystem -device /dev/asm/volume01-78

Mais detalhes do srvctl add filesystem na documentação.

Leave a Reply

Scroll to Top

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading