USM driver install actions failed - ACFS-9459: ADVM/ACFS is not supported on this OS version Durante upgrade do Oracle Grid Infrastructure: rootupgrade.sh / root.sh (11.2.0.4).

Recentemente um problema durante o upgrade do GI tirou meu sono.

A versão destino seria a 11.2.0.4 (mais recente para a 11gR2) partindo da versão 11.2.0.3. O sistema operacional em questão é o Oracle Enterprise Linux 5.11 no kernel 2.6.18-406.0.0.0.1.el5

Realizei todo a pré checagem dos requisitos minimos, bem como a execução do cluvfy mostrou que o ambiente estava pronto para o upgrade.

Tudo correu bem durante a instalação da nova versão do Grid Infranstructure, até que chegou o momento da execução do rootupgrade.sh que faria o startup do software na nova versão, shutdown da antiga e o upgrade em si de todos os seus componentes.

A execução do rootupgrade.sh falhou com o seguinte erro:


1
2
USM driver install actions failed
/u01/app/11.2.0.4/grid/perl/bin/perl -I/u01/app/11.2.0.4/grid/perl/lib -I/u01/app/11.2.0.4/grid/crs/install /u01/app/11.2.0.4/grid/crs/install/rootcrs.pl execution failed



O processo falha durante a instalação do ACFS.

O log detalhado rootcrs_hostname.log (localizado em $GRID_HOME/cfgtoollogs) mostrava as seguinte informações:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
2015-11-15 08:37:14: The 'ROOTCRS_ACFSINST' is either in START/FAILED state
2015-11-15 08:37:14: Executing '/u01/app/11.2.0.4/grid/bin/acfsroot install'
2015-11-15 08:37:14: Executing cmd: /u01/app/11.2.0.4/grid/bin/acfsroot install
2015-11-15 08:37:32: Command output:
>  ACFS-9459: ADVM/ACFS is not supported on this OS version: '2.6.18-274.3.1.0.1.el5'
>End Command output
2015-11-15 08:37:32: /u01/app/11.2.0.4/grid/bin/acfsroot install ... failed
2015-11-15 08:37:32: USM driver install status is 0
2015-11-15 08:37:32: USM driver install actions failed
2015-11-15 08:37:32: Running as user grid: /u01/app/11.2.0.4/grid/bin/cluutil -ckpt -oraclebase /u01/app/grid -writeckpt -name ROOTCRS_ACFSINST -state FAIL
2015-11-15 08:37:32: s_run_as_user2: Running /bin/su grid -c ' /u01/app/11.2.0.4/grid/bin/cluutil -ckpt -oraclebase /u01/app/grid -writeckpt -name ROOTCRS_ACFSINST -state FAIL '

O log diz que o ACFS não é suportado na versão corrente do kernel utilizado, e logo notei a discrepância entre a versão do kernel identificada pelo rootupgrade e a versão que meu Sistema Operacional indica através do uname.

1
2
[grid@rac301 grid]$ uname ­-r
2.6.18-­406.0.0.0.1.el5

Conversei com o Administrador do sistema operacional que me informou que o kernel havia sido atualizado da versão 2.6.18-274 para 2.6.18-­406 utilizando a ferramenta kpslice da Oracle, que permite o upgrade do kernel sem a necessidade de reiniciar o sistema.

Isso explica o fato do sistema encontrar versões diferentes do kernel:

1
2
3
4
5
[grid@rac301 grid]$ uname -­r
2.6.18-­406.0.0.0.1.el5

[grid@rac301 x86_grid]$ /bin/uname ­-r
2.6.18-274.3.1.0.1.el5

Muito embora a documentação diga que a versão mínima do kernel para o Oracle Enterprise Linux 5 Update 5 x86-64 seja 2.6.18, ainda assim o rootupgrade.sh falha e "pensa" que estou utilizando uma versão inferior do kernel 2.6.18.

Este erro "ADVM/ACFS is not supported on this OS version: '2.6.18-274.3.1.0.1.el5'" está diretamente relacionado às bibliotecas do USM não serem carregadas corretamente ou não serem encontradas, vide notas 1670098.1, 1590701.1 e 1265276.1; e bug 11846686.

Embora não utilizemos ACFS neste ambiente, o rootupgrade.sh requer uma estrutura de diretórios decente para poder completar o upgrade.

Verificando a estrutura de diretórios dos drivers do USM, encontrei o seguinte:

1
2
3
[root@rac301 ~]# ls ­-l /u01/app/11.2.0.4/grid/install/usm/Oracle/EL5/x86_64
total 1
drwxr-­xr-­x 4 grid oinstall 4096 Nov 15 10:08 2.6.18­-8

Com isso, utilizei symbolic links para corrigir a estrutura de pastas de forma que o USM encontrasse uma versão válida do driver para meu kernel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@btcbosgbdb302 ~]# cd /u01/app/11.2.0.4/grid/install/usm/Oracle/EL5/x86_64/

[grid@rac301 x86_64]$ ln -s 2.6.18-8 2.6.18-406

[root@rac301 x86_64]# ls ­-l /u01/app/11.2.0.4/grid/install/usm/Oracle/EL5/x86_64
total 2
lrwxrwxrwx 1 grid oinstall 8 Nov 15 10:10 2.6.18­-406 ­> 2.6.18­-8
drwxr-­xr-­x 4 grid oinstall 4096 Nov 15 10:08 2.6.18­-8

[grid@rac301 x86_64]$ cd 2.6.18-8/
[grid@rac301 2.6.18-8]$ ls -l
total 8
drwxr-xr-x 3 grid oinstall 4096 Nov 18 13:47 2.6.18-8.el5-x86_64/
drwxr-xr-x 3 grid oinstall 4096 Nov 18 13:47 2.6.18-8.el5xen-x86_64/

[grid@rac301 2.6.18-8]$ ln -s 2.6.18-8.el5-x86_64 2.6.18-406.el5-x86_64

[grid@rac301 2.6.18-8]$ ln -s 2.6.18-8.el5xen-x86_64 2.6.18-406.el5xen-x86_64

[grid@rac301 2.6.18-8]$ ls -l
total 8
lrwxrwxrwx 1 grid oinstall   19 Nov 18 14:48 2.6.18-406.el5-x86_64 -> 2.6.18-8.el5-x86_64/
lrwxrwxrwx 1 grid oinstall   22 Nov 18 14:48 2.6.18-406.el5xen-x86_64 -> 2.6.18-8.el5xen-x86_64/
drwxr-xr-x 3 grid oinstall 4096 Nov 18 13:47 2.6.18-8.el5-x86_64/
drwxr-xr-x 3 grid oinstall 4096 Nov 18 13:47 2.6.18-8.el5xen-x86_64/

Logo após isso, rodei novamente o rootupgrade.sh e, novamente o script falhou :'(

1
2
USM driver install actions failed
/u01/app/11.2.0.4/grid/perl/bin/perl -I/u01/app/11.2.0.4/grid/perl/lib -I/u01/app/11.2.0.4/grid/crs/install /u01/app/11.2.0.4/grid/crs/install/rootcrs.pl execution failed

Então, criei o symbolic link também para a versão antiga do Kernel:

1
2
3
4
5
6
7
8
9
[root@rac301 ~]# cd /u01/app/11.2.0.4/grid/install/usm/Oracle/EL5/x86_64/

[grid@rac301 x86_64]$ ln -s 2.6.18-8 2.6.18-274

[grid@rac301 x86_64]$ cd 2.6.18-8/

[grid@rac301 2.6.18-8]$ ln -s 2.6.18-8.el5-x86_64 2.6.18-274.el5-x86_64

[grid@rac301 2.6.18-8]$ ln -s 2.6.18-8.el5xen-x86_64 2.6.18-274.el5xen-x86_64

E, Bingo !!!

1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

Share this:

SOBRE O AUTOR

Com uma década de experiẽncia em produtos Oracle como DBA e também Developer, pretendo, com esse blog, trocar experiências com você, leitor.