Instalando Oracle VM

Hoy vamos a ver como se instala la plataforma de virtualizacion Oracle Vm. Al igual que otras veces, lo vamos ha hacer en una maqueta de pruebas formada por 3 servidores x86 en un entorno de Virtualbox.

Lo primero que tenemos que hacer es descargar las isos que necesitamos, para ello, iremos a downloads de oracle nos bajaremos las ISOS del vmserver y el vmmanager

ISOS disponibles

A continuación, deberemos de crear una máquina virtual, en mi caso la creación ha sido:

  • Arquitectura X86
  • Others
  • 4 Gb de RAM
  • 2 Cores
  • 100Mb de disco

Asignáremos la ISO del manager a nuestro servidor, y procederemos con la instlación tal y como se ve en las pantallas siguientes

Bienvenida

chequeo

Captura de pantalla 2014-05-28 a la(s) 21.01.23

a href=»http://clemente.pamplona.name/dba/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-28-a-las-21.13.17.png»>Discos

EULA

Captura de pantalla 2014-05-28 a la(s) 21.02.09

Boot loader

red

red

reloj

Captura de pantalla 2014-05-28 a la(s) 21.25.29

Captura de pantalla 2014-05-28 a la(s) 21.26.16

Captura de pantalla 2014-05-28 a la(s) 21.31.41

Captura de pantalla 2014-05-28 a la(s) 21.57.59

Con esto tenemos instalado el Hypervisor, pero para poder tener la plataforma completa deberemos de instalar el VM manager desde la cual controlarlo.

Clonación de maquinas virtuales con VirtualBox

Esta entrada es una pequeña prolongacion de la entrada , donde partimos de la base de que tenemos un servidor Linux en un entorno VirtualBox con los interfaces de red y los discos necesarios para llevar a cabo una instalación de Oracle RAC

El proceso de clonación de este servidor a uno que llamaremos dataguard sería:

  • Clonado de disco

    Una vez hayamos levantado esta nueva máquina copiada tendremos que llevar a cabo las siguientes modificaciones:

    • Fichero /etc/sysconfig/networ: En este fichero tendremos que poner el nombre del servidor
    • Fichero /etc/sysconfig/network-scripts/ifcfg-eth1 en este fichero habremos de modificar la IP de la eth1
    • Fichero /etc/sysconfig/network-scripts/ifcfg-eth2 en este fichero habremos de modificar la IP de la eth2
    • Fichero /etc/sysconfig/network-scripts/ifcfg-eth2 en este fichero habremos de modificar la IP de la eth2
    • Fichero /etc/udev/rules.d/70-persistent-net.rules: En este fichero el udev tendrá informacion de las interfaces de red de la máquina original, con lo que, deberemos de vaciar todas las líneas para que nuestros interfaces de red funcionen correctamente.

Con todo esto, tendremos ya nuestra infraestuctura virtual para poder hacer pruebas con el RAC

Creación de una plataforma de pruebas RAC con VirtualBox

Hoy vamos a crear otro entorno de pruebas para jugar con el RAC, esta vez lo haremos con la herramienta de virtualización de Oracle VirtualBox ,en nuestro caso bajo un OSX 10.8

Los pasos que seguiremos son:

Creación de máquina virtual y sistema operativo

Para empezar, al igual que hicimos  con el KVM instalaremos un servidor linux normal y corriente  al que llamaremos Plantilla.Las características de la máquina serán:

  • 4 Gb de RAM
  • 4 Mb de targeta gráfica
  • 1 Imagen de DVD montada con los fuentes de Oracle
  • 4 Gb de SWAP
  • 16Gb de disco duro
  • Eliminamos el Audio y los USB

El sistema operativo que vamos a instalar es la última distribución de Oracle Linux (en nuestro caso 6.3), haremos la instalación mínima por defecto.
Actualizacion tenemos una entrada «futura» en la que se indica como hacer esta instalación de manera rápida Instalación Básica de Linux para un Oracle 11

Creación de la infraestructura de red

Lo primero que vamos ha hacer es crear las 2 redes privadas que tendrán nuestros equipos.
En este ejemplo los equipos van a tener 3 interfaces de red:

  • Eth0: Ip virtual de la red 192.168.1.X que hara la funcion de virtual
  • Eth1: Ip virtual de la red 192.168.2.X que hara la funcion de privada
  • Eth2: Ip de host asignada por el VirtualBox (10.0.4.X ) y que tendrá salida a internet

Desde las preferencias de nuestro virtualbox y crearemos 2 redes solo anfitrion de la siguiente forma:
Imagen de pantalla adaptador

Imagen de pantalla dhcp

Una vez repetida esta acción con las 3 redes, tendremos un apartado de configuración de red del VirtualBox similar a este:
red

Lo siguiente que tenemos que hacer es añadir 3 interfaces de red a nuestro equipo virtual asignando a cada nueva interfaz de red a una de estas 3 redes solo host que hemos creado.
En la pestaña de red tendremos nuestro Adaptador 1 creado automáticamente por la instalación de la forma

Nosotros tendremos que añadir el resto de adaptadores para que queden

donde debería de haber una correspondencia entre

  • Adaptador2 ->vboxnet1
  • Adaptador3 ->vboxnet2

Creación de arquitectura de discos

Nuestro siguiente punto va a ser crear nuestros discos compartidos, para ello abriremos una ventana de terminal en el equipo en el que estemos instalando el VirtualBox y nos iremos a el directorio donde esten instalados las máquinas (en caso del OSX es en /Users/$usuario/VirtualBox VMs ) y ejecutaremos los siguientes comandos

mkdir discos
cd discos 
VBoxManage createhd --filename asm1.vdi --size 5120 --format VDI --variant Fixed
VBoxManage createhd --filename asm2.vdi --size 5120 --format VDI --variant Fixed 
VBoxManage createhd --filename asm3.vdi --size 5210 --format VDI --variant Fixed 
VBoxManage createhd --filename asm4.vdi --size 1024 --format VDI --variant Fixed 
VBoxManage createhd --filename asm5.vdi --size 1024 --format VDI --variant Fixed

Los ponemos como compartidos

VBoxManage modifyhd asm1.vdi --type shareable
VBoxManage modifyhd asm2.vdi --type shareable
VBoxManage modifyhd asm3.vdi --type shareable
VBoxManage modifyhd asm4.vdi --type shareable
VBoxManage modifyhd asm5.vdi --type shareable

Con esto tenemos creados los discos que usaremos en el RAC, ahora tenemos que añadirlos a nuestra maquina virtual,para ello iremos a la pestaña Almacenamiento de nuestra máquina y crearemos un nuevo interfaz del tipo SCSI, a este almacenamiento le añadiremos los 5 discos quedando de la manera:

Configuraciones del servidor
Llegados a este punto, tenemos todo el hardware listo para nuestra máquina virtual y el siguiente paso será configurarlo dentro del servidor.
Arrancaremos la máquina

Primero añadiremos en los ficheros de configuracion los requisitos de Oracle, en el fichero /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054504960
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586

Al fichero /etc/security/limits.conf

oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

Y crearemos el usuario Oracle con:

groupadd -g 1000 oinstall
groupadd -g 1200 dba
useradd -u 1100 -g oinstall -G dba oracle
passwd oracle

En lo referente a las interfaces de red, añadiremos al fichero /etc/hosts las líneas:


# HOST eth0 
# Direcciones para nuestros equipos (en una red normal seria publicas o de host)
192.168.1.1  exodar-priv.pamplona.name    exodar-priv  exodar
192.168.1.2  rac1-priv.pamplona.name    rac1-priv  rac1
192.168.1.3  rac2-priv.pamplona.name    rac2-priv  rac2
192.168.1.4  rac3-priv.pamplona.name    rac3-priv  rac3
192.168.1.5  rac4-priv.pamplona.name    rac4-priv  rac4
192.168.1.24 plantilla-priv.pamplona.name       plantilla-priv

#Virtual  Eth0 que cogeran los local listeners
192.168.1.12  rac1-vip.pamplona.name     rac1-vip
192.168.1.13  rac2-vip.pamplona.name     rac2-vip
192.168.1.14  rac3-vip.pamplona.name     rac3-vip
192.168.1.15  rac4-vip.pamplona.name     rac4-vip
#ETH0 que usara el RAC, ScaN  comentadas ya que estan configuradas en round robin de dns
#192.168.2.20   ractest.pamplona.name   ractest
#192.168.2.21   ractest.pamplona.name   ractest
#192.168.2.22   ractest.pamplona.name   ractest

#interconexcion  Eth1
192.168.2.1  exodar-conn.pamplona.name     exodar-conn
192.168.2.2  rac1-conn.pamplona.name     rac1-conn
192.168.2.3  rac2-conn.pamplona.name     rac2-conn
192.168.2.4  rac3-conn.pamplona.name     rac3-conn
192.168.2.5  rac4-conn.pamplona.name     rac4-conn


y configuraremos las interfaces de red modificando los ficheros

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.24
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
NAME=eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
IPADDR=192.168.2.24
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
NAME=eth1

/etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
NAME=eth2

Después crearemos nuestros discos de ASM, para ello, primero habremos de particionar los discos /dev/sdb,/dev/sdc,/dev/sdd,/dev/sde y /dev/sdf . EL proceso será el mismo para los 5

# fdisk /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-16065, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-16065, default 16065):
Using default value 16065

Command (m for help): p
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa03e3f05
 Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         652     5237158+  83  LinuxLinux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#

Tras haber particionado los 5 discos crearemos discos ASM sobre ellos con el comando

# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK2 /dev/sdc1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK3 /dev/sdd1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK4 /dev/sde1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK5 /dev/sdf1
Writing disk header: done
Instantiating disk: done
# 

Podremos comprobar que los discos estan creados con la orden


[root@pruebas ~]# oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5

Y con eso ya tenemos un servidor que nos puede servir de plantilla para nuestras futuras pruebas del RAC.
En la siguiente entrada duplicaremos los servidores e instalaremos nuestro Oracle RAC 11g

Crear un entorno de pruebas con KVM I

Hoy vamos a ver la primera de una serie de entradas que nos llevarán a poder crear un pequeño entorno de pruebas virtual en el cual poder hacer nuestras pruebas de alta disponibilidad de plataformas Oracle .

Lo que buscamos con este entorno  es el tener una plataforma en la que poder replicar entornos para hacer pruebas de funcionamiento/parcheados/ migraciones. Si lo que se busca es una plataforma en la que hacer pruebas de rendimiento habrá que aumentar mucho las características del hardware que vamos a indicar en estas entradas.

Vamos a usar  el entorno de virtualizacion KVM en nuestro caso bajo una distribucion de Linux Centos y como servidor virtual sobre el que correran nuestros Oracles usaremos un Oracle Linux (la 6.1 en este caso) que descargaremos en formato ISO y qye depositaremos en el filesystem bajo el nombre   /mnt/virtual1/sources/OracleLinux-R6-U1-Server-x86_64-dvd.iso

Nuestro hypervisor contará con  una estructura de 3 discos, estos discos estarán montados bajo:

  • /mnt/virtual1/sources: Donde guardaremos las imágenes .iso de nuestros discos de fuentes
  • /mt/virtual1/raw .  Donde se ubicaran los discos de datos que utilizaran nuestras bases de datos
  • /mnt/virtual1. Donde guardaremos las imagenes de las máquinas virtuales.

Asímismo tendremos 3 entornos de red :

  • host: red básica por defecto, nateada a la tarjeta de red del hypervisor y que hará de direccionamiento IP del host, estará en la red 192.168.100.0/24
  • vip: Red que usaremos para el entorno virtual (VIP de oracle)  192.168.101.0/24
  • priv: Red privada entre los hostos (prov de oracle)   192.168.102.0/24

La configuracion de nuestro hypervisor quedará de la siguiente manera (usando la herramienta virt-manager)

Pestaña Virtual networks

Donde las redes priv y vip son «isolated»

Pestaña almacenamiento

Pestaña Interfaces

Una vez tenemos nuestro hypervisor instalado, procederemos a instalar nuestro primer servidor virtual.  Lo que buscamos es un servidor llamado rac1 que cuente con 1 Gb de memoria y cuyo fichero físico se encuentr en /mnt/virtual1/rac1/rac1.img

Así pues ejecutaremos :

virt-install \
--name rac1 \
--ram 1024 \
--os-variant=rhel6 \
--cdrom /mnt/virtual1/OracleLinux-R6-U1-Server-x86_64-dvd.iso \
--disk /mnt/virtual1/servidores/rac1.img,bus=virtio \
--disk /mnt/virtual1/raw/raw_1.img,perms=sh,format=raw,bus=virtio \

Lo que nos creará la máquina virtual, ahora solamente tenemos que arrancarla y hacer la instalacion de Oracle Linux.

Dado que nuestro fin no es probarla distribucion de Linux sino arquitecturas de Grid, Dataguard o RAC que vayamos a montar sobre ellas ,no vamos a detallar mucho la instalacion del Oracle Linux, haremos una instalacion completa deteniendo mas tarde todos los servicios innecesarios.

Una vez esté instalada y levantada, entraremos en las propiedades del servidor y le añadiremos los 3 nuevos interfaces de red, cada uno en una de nuestras redes (host,vip y priv)

Al finalizar esto iremos al directorio /etc/sysconfig/network-scripts y modificarremos los ficheros ifcfg-ethX de manera que queden:

 

 

 

Añadiremos en el /etc/hosts las lineas

#   Para el kvm
# Ip de host
192.168.100.1  hypervisor.pamplona.name
192.168.100.2  server1.pamplona.name
192.168.100.3  server2.pamplona.name
192.168.100.4  server3.pamplona.name
192.168.100.5  server4.pamplona.name
192.168.100.99 rac1.pamplona.name
# Virtual IP 
192.168.101.1  hypervisor-vip.pamplona.name
192.168.101.2  server1-vip.pamplona.name
192.168.101.3  server2-vip.pamplona.name
192.168.101.4  server3.pamplona.name
192.168.101.5  server4.pamplona.name
192.168.101.99 rac1.pamplona.name
# Private IP
192.168.102.1  hypervisor-priv.pamplona.name
192.168.102.2  server1-priv.pamplona.name
192.168.102.3  server2-priv.pamplona.name
192.168.102.4  server3.pamplona.name
192.168.102.5  server4.pamplona.name
192.168.102.99 rac1.pamplona.name

Con esto tenemos un servidor llamado rac1 , con las ips que se ven en el  /etc/hosts

Ahora podremos utilizar este servidor para clonarlo tantas veces como queramos y tendremos una máquina base para poder hacer nuestras pruebas con Oracle.

En nuestro caso vamos a empezar clonandolo 2 veces para crear los servidores server1 y server2

Una vez clonadas las máquinas, habrá que cambiarles las MAC,IP y elnombre del servidor, esto se cambia mediante:

  • /etc/systconfig-network-scripts/ifcfg-eth0:  cambiar la MAC y la IP
  • /etc/systconfig-network-scripts/ifcfg-eth1:  cambiar la MAC y la IP
  • /etc/systconfig-network-scripts/ifcfg-eth2:  cambiar la MAC y la IP
  • /etc/sysconfig/network  donde cambiaremos el nombre del host

Con esto tenemos la infraestructura básica para nuestras pruebas, en los siguientes post iremos instalando diversas arquitecturas para hacer pruebas sobre ellas.