Arda Solutions s.r.l. | The Informal Blog

supported-or-unsupported

Soprattutto quando c’è la necessità di installare asmlib (la componente di gestione dell’oracle ASM) su piattaforme ufficialmente non supportate da Oracle.

Di recente ci siamo imbattuti nella necessità di installare un RAC su una CentOS (notoriamente non supportata) presso un cliente che usa questa distribuzione per ambienti non mission critical (ma che poi di fatto non lo sono verso i loro clienti ma lo sono per gli utenti interni).

Molti potrebbero pensare che la configurazione di un RAC possa richiedere step molto difficili ma niente è cosi difficile come identificare correttamente la versione delle librerie ASM specialmente quando non esistono per la distribuzione su cui si installa. Anche credendo di esserci riusciti (perché l’installazione di fatto funziona) il risultato è sempre lo stesso:

modprobe: FATAL: Module oracleasm not found.

LA SOLUZIONE: Anche in questo caso mamma oracle ci viene incontro permettendoci di aggiungere un repository pubblico per l’installazione delle componenti oracle (fra cui, appunto, asmlib). Quello che dovremo fare sarà:

  • Aggiungere il repository
  • Installare asmlib via yum

Aggiungere il repository

Per farlo sono sufficienti pochi e semplici passi:

Entrare nella directory di configurazione yum:

# cd /etc/yum.repos.d/

Scaricare il file di configurazione yum di oracle (questo è riferito al RHEL5, che va bene anche per le CentOS 5.x):

# wget http://public-yum.oracle.com/public-yum-el5.repo

Abilitare il repository:

# sed -i ‘s/enabled=0/enabled=1/g’ public-yum-el5.repo

Provarlo:

yum –disablrepo=* –enablerepo=el5_unsupported list

Installare asmlib

A questo punto il più è fatto e deleghiamo a yum e al repository oracle la responsabilità di installare la corretta versione di asmlib (mi raccomando rimuovete le vecchie installazioni)

Installiamo asmlib e le sue dipendenze:

# yum install oracleasm-support oracleasmlib oracleasm-`uname -r`

Naturalmente la preperazione di asmlib è ancora delegata a noi ma i comandi sono sempre i soliti:

# oracleasm configure -i

# /usr/sbin/oracleasm init

Da qui il lavoro è sempre il solito ma ci siamo risparmiati un pezzo del problema e soprattutto un sacco di tempo!

Nota: Il supporto ASMLIB nelle versioni di Oracle Enterprise Linux è direttamente incluso nel kernel UEK e supportato da Oracle. Naturalmente il tutto presuppone un contratto di supporto e la possibilità di scaricare le utility che gestiscono asmlib direttamente da ULN (insomma, altro tipo di configurazione che esula da questo articolo)

Leave a Reply