Contacto

CONTACTAR EN CASO DE EMERGENCIAS Móvil +56963679637 - MAIL : CONSULTADBABLOCK@GMAIL.COM
- SOPORTE REMOTO EN BASE DE DATOS ORACLE - ORACLE LINUX - ORACLE VM SERVER - ORACLE RAC - ORACLE DATA GUARD
- UPGRADES - CAPACITACION

Wednesday, June 17, 2009

Como crear dispositivos RAW en Vmware RHEL5

Depreciacion de soporte Raw Devices

El soporte para raw devices ha sido depreciado en Linux Kernel 2.6 en favor del acceso directio (O_DIRECT). Ya no es posible configurar raw device usando el "/etc/sysconfig/rawdevices, sin embargo todavia es posible configurar raw devices en RHEL5/EOL5.

Para saber mas detalles consultar los siguientes documentos:

* /usr/share/doc/kernel-doc-2.6.18/Documentation/feature-removal-schedule.txt
* Red Hat Enterprise Linux 4/5 Release notes


Ademas, Oracle auncio que ya no soportara raw device que sean asignados en forma directa a la base de datos.

Entonces que sucedera con los dispositivos raw?

solamente esta soportado en el Relase 12G en un almacenamiento ASM compuesto por raw device.
Si existen bases de datos 10g y 11g con dispositivos raw asignados en forma directa, estas bases no estan soportadas para realizar el upgrade. Entonces se deben migrar a un almacenamiento ASM compuestos por raw device, lo cual si esta soportado.

En el release 12G esto no esta permitido, ya que entrega errores:

SQL> create tablespace ABC DATAFILE '/dev/raw/ABC1.dbf' size 2GB;

Oracle recomienda a sus clientes usar ASM para agregar raw device a un diskgroup existente o crear un nuevo diskgroup en ASM.

La formas correctas de crear almacenamientos logicos (Tablespaces) es la siguiente:

opcion 1: Agregar un raw al diskgroup


SQL>alter diskgroup MYDG add disk '/dev/raw/ABC1.dbf';

opcion 2: Crear un nuevo diskgroup

SQL>create diskgroup MYDB EXTERNAL REDUNDANCY disk 'dev/raw/ABC1.dbf'


opcion 3: Utilizar el siguiente comando para crear el tablespace

SQL> create tablespace ABC DATAFILE '+MYDG' size 2GB;

Nota referencia: 578455.1 - Announcement of De-Support of using RAW devices in Release 12G


A continuacion revisaremos como configurar raw device como un almacenamiento compartido dentro de una configuracion de Clusterware en RHEL5.

Servidor Heretic

Este sevidor posee dos maquinas virtuales configuradas con vmware (vmrac1,vmrac2). El sistema operativo es un Linux Redhat 5 (RHEL5). Para el almacenamiento compartido he destinado un directorio en mi heretic (ubuntu) donde creare el almacenamiento:

heretic@heretic:~$ cd /u01/
app/ timesten/ VM/
heretic@heretic:~$ cd /u01/VM/shared/
heretic@heretic:/u01/VM/shared$ pwd
/u01/VM/shared

En este directorio se encuentran los discos creados con vmware. Para no tener problemas es necesario tener los permisos correspondientes de lectura y escritura.
cualquier modificacion debe ser realizada en ambos nodos, ya que debe ser simetrica en su configuracion de hardware y software.


Revisamos la configuracion de nuestra maquina virtual:



Agregando los discos:

Antes que todo, debemos verificar el espacio disponible para almancenar los nuevos discos, que componen el almacenamiento compartido.



Creacion de discos:

Es necesario seleccionar la opcion "Hard Disk", la cual nos permitira agregar un nuevo disco a la maquina virtual.



Seleccionando un nuevo drive:

En este proceso, se debe seleccionar el drive, si es uno existente o si existe una nueva particion para esto. En este caso elegimos la opcion "create a new Disk".




Seleccionando el tipo de Drive
:

En este caso seleccionamos SCSI que es el recomendado.



Capacidad de almacenamiento del nuevo Drive:

Dependiendo de la cantidad de espacio y requerimientos necesario para la creacion del alamcenamiento compartido, he asignado 8GB para este nuevo drive; pero no lo voy a asignar completamente. A medida que necesite espacio va ir creciendo hasta alcanzar 8GB.



Path de discos:

La ruta de los nuevos discos debe ser la definida como almacenamiento compartido para ambas maquinas.

ejemplo: /u01/VM/shared




Creacion de discos terminada:



Propiedades avanzadas:

Es necesario seleccionar el nuevo disco creado y asignar una controladora de discos SCSI. en este caso asigne la 0:13. De esta manera el disco es independiente de los ya configurados. Esto es por razones de performance, ya que podemos mover a otras controladoras los discos fisicos del servidor central y luego asignar nuevas controladoras virtuales a la maquinas en vmware y asi mantener una buen balanceo de I/O.




Hasta aqui tenemos asignados los discos a las maquinas vmrac1 y vmrac2. Posterior a esto debemos iniciar las maquinas virtuales para que reconozcan los discos asignados.



Una vez que todos los discos fueron detectados por Linux y no existieron problemas en el inicio del S.O, necesitamos crear la nueva particion, la cual esta relacionada al nuevo disco creado en vmware; pero que el sistema operativo lo interpreta como el siguiente dispositivo:

ejemplo : /dev/sdl

ejecutamos fdisk /dev/sdl para crear la nueva particion:



Aqui tenemos la nueva particion generada.

Como entonces el sistema operativo sabe que la nueva particion va a hacer utilizada como un dispositivo raw?

En el directorio /etc/udev/rules.d se encuentran los siguientes archivos:



Son dos archivos que hacen toda la magia:

1.- 60-raw.rules
2.- 99-raw-perms.rules


Modificando 60-raw.rules

Este archivo contiene la asignacion logica de la particion con respecto al raw que representa. Con esto el sistema operativo sabe que la particion sdl1 es asignada al dispositivo raw.

¿Y por que debemos definirlo?

La asignacion del dispotivo es dinamica en esta version de RHEL5. Entonces cada vez que se inicie el sistema no encontrara el dispositivo asignado.

ACTION=="add", KERNEL=="sdl1", RUN+="/bin/raw /dev/raw/raw1 %N"

Modificando 99-raw-perms.rules

En este archivo lo que se definen son los permisos para el dispositivo raw.

KERNEL=="raw[1-3]*", OWNER="root", GROUP="oinstall", MODE="640"
KERNEL=="raw[4-8]*", OWNER="oracle", GROUP="oinstall", MODE="644"


En este ejemplo he asignado para la configuracion de mi 10gRAC los dispositivos para OCR desde el raw1 al raw3 y definir que solamente tuviera permisos el root.
Por el contrario los archivos de votingdisk y ASM se asignan permisos solamente el usuario Oracle.

Es necesario reiniciar las maquinas virtuales para que reconozca los cambios realizados.

En cada una de las maquinas, debemos asignar los permisos necesarios y crear links simbolicos a los para cada raw device.

ln -s /dev/raw/raw1 /u01/oradata/ocr
ln -s /dev/raw/raw2 /u01/oradata/ocr1
ln -s /dev/raw/raw3 /u01/oradata/ocr2
ln -s /dev/raw/raw4 /u01/oradata/votingdisk
ln -s /dev/raw/raw5 /u01/oradata/votingdisk1
ln -s /dev/raw/raw6 /u01/oradata/votingdisk2
ln -s /dev/raw/raw7 /u01/oradata/asm1
ln -s /dev/raw/raw8 /u01/oradata/asm2


Asignacion de permisos:

Esto se debe hacer si por algun motivo en el proceso de instalacion del clusterware existen problemas de permiso.

chown oracle:oinstall /dev/raw/raw4
chown oracle:oinstall /dev/raw/raw5
chown oracle:oinstall /dev/raw/raw6
chown oracle:oinstall /dev/raw/raw7
chown oracle:oinstall /dev/raw/raw8
chmod 644 /dev/raw/raw1
chmod 644 /dev/raw/raw2
chmod 644 /dev/raw/raw3
chmod 644 /dev/raw/raw4
chmod 644 /dev/raw/raw5


Se concluye que este procedimento es standard y en la realidad debe ser realizado de igual manera ya sea virtualmente o fisicamente.

Saludos y a gozar!!!!

3 comments:

d♠viþ said...

Hola, Desearia saber si tienes alguna informacion de como hacer la configuracion para Oracle Linux 7
ya que yo me quede en la configuracion en OL 5

d♠viþ said...

Hola, Desearia saber si tienes alguna informacion de como hacer la configuracion para Oracle Linux 7
ya que yo me quede en la configuracion en OL 5

d♠viþ said...

Hola, Desearia saber si tienes alguna informacion de como hacer la configuracion para Oracle Linux 7
ya que yo me quede en la configuracion en OL 5