viernes, 28 de noviembre de 2014

1er "Geek and Drink" de ORAMEX

El día de ayer , nuestro grupo de usuarios ORAMEX tuvo el primer "Geek and Drink" , en donde lo tratamos de tener en un ambiente mas relajado y abierto que nuestros previos eventos.

En esta ocasión fue en el restaurante Carrez en la Roma, y fue todo un éxito ya que logro lo que andábamos buscando , que era generar que la gente participara de una manera mas activa en el evento.

También tuvimos la grata presencia de Jorge Galvez y Oswaldo Rojas platicando acerca de DBaaS en la nube privada así como en la nube publica.

De igual manera la gente tuvo oportunidad de charlar con sus colegas e intercambiar ideas de los proyectos en los que trabajaron o están trabajando. Así que no te pierdas de el segundo "Geek and Drink" que sera en Enero!

Por ultimo te dejo la presentación que di el día de ayer.

miércoles, 5 de noviembre de 2014

Oracle 12cR1 : RAC Attack a la Mexicana - Configuración de OS y DNS

RAC Attack es un libro que ha sido escrito por varias personas en el ámbito de Oracle y que tu eres libre de editar y contribuir, pero una de las quejas que existía es que no había una versión en español, y es por eso que estoy escribiendo esta serie de posts, en donde también los voy a hacer disponibles en el libro de RAC Attack.

En la 1a parte, vimos las necesidades de HW y SW, así como la instalación del OS RHEL 6.5

En esta 2a parte vamos a ver la configuración del OS en el primer nodo y así como la configuración del DNS.

Nota.- Cuando veas lo siguiente en la salida de una terminal "...", es para acortar las lineas de salida

Pasos Post-Instalación del OS RHEL 6.5

Inicia una sesión como el usuario root en el nodo collabn1 y abre una terminal de bash como se mostro al final de la 1a parte
  • Apaga y desactiva el firewall IPTables
[root@collabn1 ~]# service iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]

[root@collabn1 ~]# chkconfig iptables off

[root@collabn1 ~]# chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
  • Deshabilita SELinux
    • Abre el archivo de configuración y cambia la variable de SELINUX de enforcing a disabled
[root@collabn1 ~]# vim /etc/selinux/config

 # This file controls the state of SELinux on the system.
 # SELINUX= can take one of these three values:
 #     enforcing - SELinux security policy is enforced.
 #     permissive - SELinux prints warnings instead of enforcing.
 #     disabled - No SELinux policy is loaded.
 SELINUX=disabled
 # SELINUXTYPE= can take one of these two values:
 #     targeted - Targeted processes are protected,
 #     mls - Multi Level Security protection.
 SELINUXTYPE=targeted
  • Verifica que todas las interfaces de red esten arriba y habilitadas
[root@collabn1 ~]# ip l
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:a3:ec:f0 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:65:bf:58 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:24:9c:d6 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:6b:dc:69 brd ff:ff:ff:ff:ff:ff
  • Instala el paquete de pre-instalación de base de datos oracle-rdbms-server-12cR1-preinstall
    • Este paquete instala todos los paquetes necesarios para Oracle 12c, configura los parámetros del kernel, crea el usuario y los grupos oracle y establece los límites de usuario.
[root@collabn1 ~]# yum install oracle-rdbms-server-12cR1-preinstall -y
...

Transaction Summary
====================================================================================================================================================================================
Install       3 Package(s)

Total download size: 786 k
Installed size: 1.7 M
Downloading Packages:
(1/3): ksh-20120801-21.el6.1.x86_64.rpm                                                                                                                      | 758 kB     00:00     
(2/3): libaio-devel-0.3.107-10.el6.x86_64.rpm                                                                                                                |  13 kB     00:00     
(3/3): oracle-rdbms-server-12cR1-preinstall-1.0-12.el6.x86_64.rpm                                                                                            |  16 kB     00:00     
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                               657 kB/s | 786 kB     00:01     
...
Installed:
  oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-12.el6                                                                                                            
Dependency Installed:
  ksh.x86_64 0:20120801-21.el6.1                                                        libaio-devel.x86_64 0:0.3.107-10.el6                                                       
Complete!
  • Desinstala NTP
[root@collabn1 ~]# yum remove -y ntp
...

Removed:
  ntp.x86_64 0:4.2.6p5-1.el6                                                       

... 

Complete!

  • Instala dnsmasq y verifica que el servicio este arriba, asi como que el servicio inicie en el proximo reinicio del nodo

[root@collabn1 ~]# yum install -y dnsmasq
...

Installed:
  dnsmasq-2.48-14.el6.x86_64                                                        

... 

Complete

[root@collabn1 Desktop]# service dnsmasq start
[root@collabn1 Desktop]# chkconfig dnsmasq on

Instala los Complementos de VirtualBox
  • Haz que los complementos de VirtualBox esten disponibles para el sistema operativo, haz clic en Virtualbox --> Devices---> Instalar Guest Additions y dale clic en Ok a la ventana de autorun

  • Vas a ver una terminal con lo siguiente:

Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.18 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.18 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
You should restart your guest to make sure the new modules are actually used

Installing the Window System drivers
Installing X.Org Server 1.13 modules                       [  OK  ]
Setting up the Window System to use the Guest Additions    [  OK  ]
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services componen[  OK  ]
Press Return to close this window...
  • Habilita que el portapapeles sea bidireccional en Virtualbox --> Devices--->Shared Clipboard --> Bidirectional
Prepara Linux para Oracle
  • Modifica el archivo de login pam.d para que utilice límites. 
    • Nota.- Copia y pega el siguiente comando sed en la linea de comandos
sed -i -e '/session    required     pam_selinux.so open/i\
session    required     \/lib64\/security\/pam_limits.so\
session    required     pam_limits.so' /etc/pam.d/login
  • Cambia el password del usuario oracle a racattack
[root@collabn1 ~]# passwd oracle
 Changing password for user oracle.
 New password:
 BAD PASSWORD: it is based on a dictionary word
 Retype new password:
 passwd: all authentication tokens updated successfully.
  • Crea el directorio de instalación y cambia los permisos que sean oracle:oinstall
[root@collabn1 ~]# mkdir -p /u01/app
[root@collabn1 ~]# chown oracle:oinstall /u01/app
  • Modifica el usuario oracle para que pertenezca al grupo vboxsf
[root@collabn1 ~]# usermod -G oinstall,dba,vboxsf oracle
[root@collabn1 ~]# id oracle
 uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(vboxsf)
  • Descomprime los archivos de instalación de la Base de Datos y de Grid Infrastructure que bajamos en la 1a parte
[root@collabn1 Desktop]# cd /media/sf_RAC_12c

[root@collabn1 sf_RAC_12c]# ls
linuxamd64_12102_database_1of2.zip  linuxamd64_12102_grid_2of2.zip  
linuxamd64_12102_database_2of2.zip  linuxamd64_12102_grid_1of2.zip         

[root@collabn1 sf_RAC_12c]# unzip linuxamd64_12102_database_1of2.zip 
[root@collabn1 sf_RAC_12c]# unzip linuxamd64_12102_database_2of2.zip 
[root@collabn1 sf_RAC_12c]# unzip linuxamd64_12102_grid_1of2.zip
[root@collabn1 sf_RAC_12c]# unzip linuxamd64_12102_grid_2of2.zip
  • Instala el paquete cvuqdisk-1.0.9-1.rpm que se encuentra en la carpeta grid/rpm dentro de la carpeta compartida que creamos en la 1a parte llamada RAC_12c
[root@collabn1 Desktop]# cd /media/sf_RAC_12c/grid/rpm

[root@collabn1 rpm]# rpm -Uvh ./cvuqdisk-1.0.9-1.rpm 
Preparing...                ########################################### [100%]
Using default group oinstall to install package
   1:cvuqdisk               ########################################### [100%]

Modifica los parametros de DNS
  • Modifica el archivo /etc/hosts para que contenga las siguientes entradas
    • Nota.- Asegurate que las entradas para el scan esten comentadas con un signo de "#" como se marca en rojo abajo
[root@collabn1 rpm]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.78.51 collabn1 collabn1.racattack
192.168.78.61 collabn1-vip collabn1-vip.racattack
172.16.100.51 collabn1-priv collabn1-priv.racattack

192.168.78.52 collabn2 collabn2.racattack
192.168.78.62 collabn2-vip collabn2-vip.racattack
172.16.100.52 collabn2-priv collabn2-priv.racattack

#192.168.78.251 collabn-cluster-scan collabn-cluster-scan.racattack
#192.168.78.252 collabn-cluster-scan collabn-cluster-scan.racattack
#192.168.78.253 collabn-cluster-scan collabn-cluster-scan.racattack
  • Modifica el archivo /etc/dnsmasq.conf para que se parezca las entradas que están aquí
[root@collabn1 Desktop]# cat /etc/dnsmasq.conf
listen-address=192.168.78.51
port=53
no-resolv
domain-needed
bogus-priv
dns-forward-max=150
cache-size=1000
neg-ttl=3600
no-poll
no-hosts
addn-hosts=/etc/racdns
  • Modifica el archivo  /etc/racdns para que se parezca a las entradas que están aquí
[root@collabn1 Desktop]# cat /etc/racdns

192.168.78.51 collabn1 collabn1.racattack
192.168.78.61 collabn1-vip collabn1-vip.racattack
172.16.100.51 collabn1-priv collabn1-priv.racattack
192.168.78.52 collabn2 collabn2.racattack
192.168.78.62 collabn2-vip collabn2-vip.racattack
172.16.100.52 collabn2-priv collabn2-priv.racattack
192.168.78.251 collabn-cluster-scan collabn-cluster-scan.racattack
192.168.78.252 collabn-cluster-scan collabn-cluster-scan.racattack
192.168.78.253 collabn-cluster-scan collabn-cluster-scan.racattack
  • Cambia los permisos del archivo /etc/resolv.conf para que no sea cambiado en el reinicio debido a DHCP
[root@collabn1 Desktop]# chattr +i /etc/resolv.conf
  • Habilita dnsmasq para que arranque cuando reinicies el nodo
[root@collabn1 Desktop]# /sbin/chkconfig dnsmasq on
[root@collabn1 Desktop]# /sbin/chkconfig dnsmasq --list
dnsmasq         0:off 1:off 2:on 3:on 4:on 5:on 6:off
  • Reinicia el servicio de dnsmasq y verifica que la dirección de DNS del scan responda
[root@collabn1 Desktop]# /etc/init.d/dnsmasq restart

Starting dnsmasq:                                          [  OK  ]
[root@collabn1 Desktop]# nslookup collabn-cluster-scan
Server:  192.168.78.51
Address: 192.168.78.51#53

Name: collabn-cluster-scan.racattack
Address: 192.168.78.253
Name: collabn-cluster-scan.racattack
Address: 192.168.78.251
Name: collabn-cluster-scan.racattack
Address: 192.168.78.252

[root@collabn1 rpm]# cat /etc/resolv.conf
# Generated by NetworkManager
search racattack
nameserver 192.168.78.51
nameserver 192.168.78.52
nameserver 192.168.15.1

Agrega los discos compartidos
  • Apagar el servidor collabn1

[root@collabn1 ~]# shutdown -h now

Broadcast message from root@collabn1.racattack
       (/dev/pts/0) at 9:06 ...

The system is going down for halt NOW!
  • En el Administrador de VirtualBox, seleccione la máquina collabn1, haz clic en Settings ->; Storage. Selecciona el controlador Controller SATA y dale clic en el boton  Add Hard Disk :

  • Dale clic en Create New Disk:

  • Deja seleccionado VDI (VirtualBox Disk Image) y dale clic a Next.

  • Para el almacenamiento compartido, seleccione Fixed size y dale clic a Next

  • Camba la ubicación del archivo a la carpeta creada previamente llamada racattack12.

    • Introduce asm1.vdi como nombre del disco. 
    • Introduce 5.00Gb como el tamaño del disco. 
    • Haz clic en Create
  • Ahora el disco se creara físicamente con un tamaño de 5Gb, esto puede tomar un rato para  que se complete.
  • Repite los pasos para crear tres discos más:
    • asm2.vdi (5.00GB)
    • asm3.vdi (5.00GB)
    • asm4.vdi (5.00GB)
  • Al último, cuatro discos virtuales deberían haber sido creado para asm.
  • Haz que todos los dispositivos de asm sean compartidos, en  VirtualBox Manager,  dale clic a File -> Virtual Media Manager
  • Para cada uno de los dispositivos asm, dale clic derecho --> Modify
  • Selecciona Shareable y dale clic a Ok . Hazlo por cada uno de los cuatro dispositivos asm.
  • Inicia el nodo collabn1. Deberías de ver ahora los cuatro discos con el nombre de la sdb a la sde en /dev/sd *:

[root@collabn1 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 Oct 23 16:02 /dev/sda
brw-rw---- 1 root disk 8,  1 Oct 23 16:02 /dev/sda1
brw-rw---- 1 root disk 8,  2 Oct 23 16:02 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 23 16:02 /dev/sdb
brw-rw---- 1 root disk 8, 32 Oct 23 16:02 /dev/sdc
brw-rw---- 1 root disk 8, 48 Oct 23 16:02 /dev/sdd
brw-rw---- 1 root disk 8, 64 Oct 23 16:02 /dev/sde
  • Una vez que los nuevos discos se pueden ver por el servidor, añade una partición primaria en cada uno de ellos con fdisk

[root@collabn1 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x97cc9f57.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
        switch off the mode (command 'c') and change display units to
        sectors (command 'u').

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1): <enter>
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): <enter>
Using default value 652

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
  • Repite el ultimo paso para los discos sdc, sdd y sde
    • Cuando hayas terminado, todos los discos deben de tener al menos una partición:

[root@collabn1 ~]# ls -l /dev/sd?1
brw-rw----. 1 root disk 8,  1 Oct 23 19:16 /dev/sda1
brw-rw----. 1 root disk 8, 17 Oct 23 19:23 /dev/sdb1
brw-rw----. 1 root disk 8, 33 Oct 23 19:27 /dev/sdc1
brw-rw----. 1 root disk 8, 49 Oct 23 19:27 /dev/sdd1
brw-rw----. 1 root disk 8, 65 Oct 23 19:27 /dev/sde1
  • Configura la opción -g para que el comando scsi_id  espere un UUID de los dispositivos compartidos.

[root@collabn1 ~]# echo "options=-g" > /etc/scsi_id.config
  • Prepara el archivo /etc/udev/rules.d/99-oracle-asmdevices.rules ejecutando el siguiente script:
    • Nota.- Copia y pega el siguiente comando en la linea de comandos

i=1
cmd="/sbin/scsi_id -g -u -d"
for disk in sdb sdc sdd sde ; do 
         cat <<EOF >> /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="$cmd /dev/\$parent", \
 RESULT=="`$cmd /dev/$disk`", NAME="asm-disk$i", OWNER="oracle", GROUP="dba", MODE="0660"
EOF
         i=$(($i+1)) 
done
  • Una vez que termine el archivo debe ser similar al siguiente (con excepción al scsi UUID).
[root@collabn1 ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",  RESULT=="1ATA_VBOX_HARDDISK_VBa48d719f-a8ce182e", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",  RESULT=="1ATA_VBOX_HARDDISK_VBb722cc20-231789e9", NAME="asm-disk2", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",  RESULT=="1ATA_VBOX_HARDDISK_VB500cd3cd-e9ab238b", NAME="asm-disk3", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent",  RESULT=="1ATA_VBOX_HARDDISK_VBfa3c1db3-e0d951fd", NAME="asm-disk4", OWNER="oracle", GROUP="dba", MODE="0660"
  • Actualiza las reglas de udev y reinicia udev:
[root@collabn1 ~]# /sbin/partprobe /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
[root@collabn1 ~]# /sbin/udevadm test /block/sdb/sdb1
[root@collabn1 ~]# /sbin/udevadm test /block/sdc/sdc1
[root@collabn1 ~]# /sbin/udevadm test /block/sdd/sdd1
[root@collabn1 ~]# /sbin/udevadm test /block/sde/sde1
[root@collabn1 ~]# /sbin/udevadm control --reload-rules
  • Los nuevos discos están listos para su uso:

[root@collabn1 ~]# ls -l /dev/asm*
brw-rw---- 1 oracle dba      8, 17 Nov  5 20:47 /dev/asm-disk1
brw-rw---- 1 oracle dba      8, 33 Nov  5 20:47 /dev/asm-disk2
brw-rw---- 1 oracle dba      8, 49 Nov  5 20:47 /dev/asm-disk3
brw-rw---- 1 oracle dba      8, 65 Nov  5 19:33 /dev/asm-disk4

Clona  collabn1 y crea una segunda VM collabn2
  • Apagar el servidor collabn1
[root@collabn1 ~]# shutdown -h now

Broadcast message from root@collabn1.racattack
       (/dev/pts/0) at 11:17 ...

The system is going down for halt NOW!

  • Clona el disco collabn1.vdi desde VirtualBox Manager, dale clic a File -> Virtual Media Manager
  • Dale clic derecho al disco collabn1.vdi y dale clic a Copy...

  • Deja seleccionado el archivo collabn1.vdi y dale clic a  Next.

  • Deja VDI seleccionado y dale clic a  Next.

  • Selecciona Dinamically allocated y dale clic a  Next.

  • Escribe la ruta completa o elige a través del icono de exploración la ubicación para el archivo de disco que se creará.
    • Camba la ubicación del archivo a la carpeta creada previamente llamada racattack12.
    • El nombre del archivo se va llamar collabn2.vdi y dale clic a Copy

  • Haz clic en Close para salir del Virtual Media Manager.
  • En VirtualBox, haz clic en el icono de New en la esquina superior izquierda para crear la nueva máquina virtual.
  • Pon el nombre de collabn2, escoge Linux para el tipo y Oracle(64 bit) para la versión y dale clic a Next

  • Asignale 3072 en el tamaño de la memoria y dale clic a Next

  • Selecciona Use an existing virtual hard drive file y utiliza el icono de carpeta para localizar el archivo que clonamos anteriormente llamado collabn2.vdi
    • Haz clic en Create para completar la creación de la segunda máquina virtual

  • Ahora hay dos máquinas virtuales; collabn2 siendo un clon de collabn1.
    • Desde la pantalla principal, selecciona  la maquina virtual collabn2 y haz clic en el icono de Settings en la esquina superior izquierda.



  • Abre el sub-menu Network.
  • Selecciona el Adapter 1 , habilita el adaptador y cambia la selección de Attached to: a Host-only Adapter
  • Selecciona el Adapter 2 , habilita el adaptador y cambia la selección de Attached to: a Internal Network, cambia el nombre rac-priv en el campo Name.

  • Selecciona el Adapter 3 , habilita el adaptador y cambia la selección de Attached to: a NAT.

  • Selecciona el Adapter 4 , habilita el adaptador y cambia la selección de Attached to: a Bridged Adapter, asegurate que en el nombre, este seleccionado la tarjeta de red que tenga acceso a internet .

  • Selecciona el tab de Shared Folders. Haz clic en Agregar carpeta compartida e introduce la ruta donde descargaste los archivos de instalación de Oracle y escribe un nombre para la carpeta, en mi caso le puse RAC_12c y dale clic en OK y de nuevo dale clic en OK.

  • Haz clic en Storage. Selecciona el controlador Controller SATA y dale clic en el boton  Add Hard Disk :

  • Dale clic en Choose Existing Disk:

  • Selecciona el disco asm1.vdi y dale clic a Open.

  • Haz lo mismo para los discos asm2.vdi , asm3.vdi y asm4.vdi

  • Haga clic en OK para guardar las modificaciones.
  • Arranca la maquina virtual collabn2 .
  • La red no estará disponible todavía, porque reinicializamos los adaptadores de red por lo que tenemos que hacer los siguientes cambios  en la máquina virtual .
  • Inicia la sesión como root / racattack y abre una terminal de bash como se mostro al final de la 1a parte
  • Cambia los permisos del archivo /etc/resolv.conf para poder cambiar los parametros de red sin ningun problema
[root@collabn2 Desktop]# chattr -i /etc/resolv.conf
  • Escriba  system-config-red en la linea de comandos. Device configuration ya está resaltada. Dale clic a tu tecla de "Enter".

  • eth0 (eth0) - Ethernet ya está resaltado. Dale click a tu tecla de "Enter".

  • Baja a la línea de Static IP. Cambie la IP a 192.168.78.52 . Baja a Ok y Dale click a tu tecla de "Enter".

  • Selecciona eth1 (eth1) - Ethernet  y dale click a tu tecla de "Enter". Baja a la línea de Static IP. Cambie la IP a 172.16.100.52
  • Presiona la tecla "Tab" hasta llegar a Save y dale click a tu tecla de "Enter".
  • Presiona la tecla de "Flecha hacia Abajo" hasta llegar a DNS configuration y dale click a tu tecla de "Enter".
  • En el campo Hostname, cambia a collabn2.racattack. Presiona la tecla "Tab" hasta llegar a Ok   y dale click a tu tecla de "Enter".
  • Presiona la tecla "Tab" hasta llegar a Save&Quit   y dale click a tu tecla de "Enter".
  • Quita el archivo de reglas de red udev. Se regenerara en el siguiente reinicio de nodo con las nuevas direcciones MAC.
[root@collabn2 ~]# rm -f /etc/udev/rules.d/70-persistent-net.rules
  • Quita las líneas HWaddr y UUID en los archivos de configuración del adaptador de red.
[root @ collabn2 ~] # sed -i -e '/ HWADDR / d' -e '/ UUID / d' / etc / sysconfig / network-scripts / ifcfg-eth [0-3]
  • Modifica el archivo /etc/dnsmasq.conf para que se parezca las entradas que están aquí
[root@collabn2 Desktop]# cat /etc/dnsmasq.conf
listen-address=192.168.78.52
port=53
no-resolv
domain-needed
bogus-priv
dns-forward-max=150
cache-size=1000
neg-ttl=3600
no-poll
no-hosts
addn-hosts=/etc/racdns
  • Cambia los permisos del archivo /etc/resolv.conf para que no sea cambiado en el reinicio debido a DHCP
[root@collabn2 Desktop]# chattr +i /etc/resolv.conf
  • Reinicia la maquina virtual collabn2 escribiendo reboot en la linea de comandos.
  • Verifica que todas las interfaces de red están activas.
[root@collabn2 Desktop]# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:eb:1e:2d brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f8:36:19 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:42:fc:cd brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:02:5b:b5 brd ff:ff:ff:ff:ff:ff
  • Verifica que todos los dispositivos de ASM son visibles.

[root@collabn2 Desktop]# ls -l /dev/asm*
brw-rw---- 1 oracle dba      8, 17 Nov  5 22:47 /dev/asm-disk1
brw-rw---- 1 oracle dba      8, 33 Nov  5 22:47 /dev/asm-disk2
brw-rw---- 1 oracle dba      8, 49 Nov  5 22:47 /dev/asm-disk3
brw-rw---- 1 oracle dba      8, 65 Nov  5 22:10 /dev/asm-disk4
  • Reinicia el servicio de dnsmasq y verifica que la dirección de DNS del scan responda

[root@collabn2 Desktop]# /etc/init.d/dnsmasq restart

Starting dnsmasq:                                          [  OK  ]
[root@collabn2 Desktop]# nslookup collabn-cluster-scan
Server:  192.168.78.52
Address: 192.168.78.52#53

Name: collabn-cluster-scan.racattack
Address: 192.168.78.253
Name: collabn-cluster-scan.racattack
Address: 192.168.78.251
Name: collabn-cluster-scan.racattack
Address: 192.168.78.252

[root@collabn2 Desktop]# cat /etc/resolv.conf
# Generated by NetworkManager
search racattack
nameserver 192.168.78.52
nameserver 192.168.78.51
nameserver 192.168.15.1

Conclusión
En la 1a entrada, terminas la instalación de Virtualbox y del Sistema Operativo, en la siguiente entrada vamos a configurar el Sistema Operativo y configurar los DNS para poder instalar RAC en dos nodos.

En esta 2a entrada, terminas la configuración del DNS , así como la clonación de la segunda maquina virtual collabn1, para en la ultima parte estar listos para instalar los binarios de Grid Infrastructure y los binarios del RDBMS.

lunes, 3 de noviembre de 2014

Oracle 12cR1 : RAC Attack a la Mexicana - Instalación de Virtualbox y OS

RAC Attack es un libro que ha sido escrito por varias personas en el ámbito de Oracle y que tu eres libre de editar y contribuir, pero una de las quejas que existía es que no había una versión en español, y es por eso que estoy escribiendo esta serie de posts, en donde también los voy a hacer disponibles en el libro de RAC Attack.

Arquitectura

Con el fin de instalar un RAC completamente funcional, se requieren las siguientes direcciones IP:

  • 2 IPs públicas, una para cada nodo, para la interfaz primaria de red del sistema operativo 
  • 2 IPs públicas, una para cada nodo, para la IP virtual
  • 3 IPs públicas, una para cada SCAN listener
  • 2 IPs privadas, una para cada nodo, para el interconnect privado del clúster
Las direcciones públicas pertenecen a la red 192.178.78.0/24, y las direcciones privadas pertenecen a la red 172.16.100.0/24. 

Al final, nuestras direcciones van a ser las siguientes:
  • Dominio
    • racattack
  • Nodos Publicos
    • 192.168.78.51    collabn1
    • 192.168.78.52    collabn2
  • VIP 
    • 192.168.78.61    collabn1-vip
    • 192.168.78.62    collabn2-vip
  • Private Interconnect
    • 172.16.100.51    collabn1-priv
    • 172.16.100.52    collabn2-priv
  • SCAN Listener
    • 192.168.78.251    collabn-cluster-scan
    • 192.168.78.252    collabn-cluster-scan
    • 192.168.78.253    collabn-cluster-scan

Un ejemplo de como quedaría se muestra abajo: 


Requisitos mínimos de hardware en tu Maquina Fisica

  • CPU Moderno  (cualquier laptops hecha despues del 2011 debe de estar ok)
  • 8Gb de memoria
  • 40Gb de disco libre
  • 9Gb de disco para el Software
  • 30Gb - 2VMs + 2 discos de ASM
  • Sistema Operativo 
    • Aunque el libro esta probado con Windows 64, en mi caso estoy usando MAC OSX 10.10
    • Windows 64bit (XP, Vista or 7) (Linux & Mac han sido probados)
Componentes de Software para la Instalacion de Linux en una Maquina Virtual
Software de Oracle
  • Sistema Operativo Oracle Enterprise Linux 6.5
    • Red Hat Enterprise Linux Server release 6.5 (Santiago) 3.8.13-16.2.1.el6uek.x86_64
    • Puede ser descargado en http://edelivery.oracle.com/linux/ con tu cuenta de Oracle
    • En la pagina Media Pack Search selecciona :
      • Product pack: Oracle Linux
      • Platform: x86 64 bit

      • Selecciona Oracle Linux 6 Update 5 (6.5.0) Media Pack for x86 64 bit
      • Una vez que le diste click, baja el que dice 
        Oracle Linux Release 6 Update 5 for x86_64 (64 Bit)
      • Una vez que se baje el archivo, renombralo a linux_6_5.iso para que lo puedas encontrar mas facil
Oracle Grid Infrastructure y Database 12c (12.1.0.2)



  • Descarga los siguientes archivos
    • Database 12c 12.1.0.2
      • linuxamd64_12c_database_1of2.zip (1,673,544,724 bytes) (cksum - 839029806)
      • linuxamd64_12c_database_2of2.zip (1,014,530,602 bytes) (cksum - 1187131466)
    • Grid Infrastructure 12c 12.1.0.2
      • linuxamd64_12c_grid_1of2.zip (1,747,043,545 bytes) (cksum - 1194876808)
      • linuxamd64_12c_grid_2of2.zip (646,972,897 bytes) (cksum - 2519919927)
      • Después de descomprimir los archivos, habrá dos carpetas: "grid" y "database" que contiene los archivos de instalación.
Instalación de Virtualbox

La instalación de virtualbox me lo voy a saltar, ya que no tiene nada de ciencia pero puedes ver un ejemplo en la pagina de RAC Attack - VirtualBox Setup

Configuración de red de VirtualBox
  • Arranca Virtualbox 
  • Agregar el adaptador vboxnet0
    • Desde la pantalla principal , selecciona Virtualbox --> Preferences --> Network-->Host-only Networks-->Add host-only network
    • Una vez que agregaste el adaptador vboxnet0 , edita el adaptador dandole click en Edit host-only network y actualiza la configuración como se muestra y haz clic en Ok y cuando te salgas de la pantalla de edición, dale Ok.  
      • IPv4 Address: 192.168.78.1
      • IPv4 Network Mask: 255.255.255.0

Crea la Maquina Virtual collabn1
  • Crea una nueva carpeta llamada racattack12c en el lugar de tu elección que contendrá todos los discos virtuales.
  • En VirtualBox, desde la pantalla principal, haz clic en el icono New en la esquina superior izquierda.
    • Ponle el nombre de  collabn1 para el nombre de la máquina virtual. Elije Linux para el tipo y Oracle (64 bits) para la versión y haga clic en Next.
  • Memoria (MB)
    • Escribe 3072 en el campo Tamaño y haga clic en Next
  • Disco
    • Deja seleccionado Create a virtual hard drive now y dale clic a Create
    • Deja seleccionado VDI (VirtualBox Disk Image) y dale clic a Next
    • Deja seleccionado Dynamically allocated y dale clic a Next
    • Escribe la ruta completa o elige a través del icono de exploración la ubicación para el archivo de disco que se creará.
      • Nota .- Es mejor utilizar la carpeta racattack12c que se creo anteriormente para todos los discos virtuales
      • El archivo lo vamos a llamar collabn1.vdi
      • Escribe 30.00 GB en el campo Tamaño y haz clic en Create

Configuración de la Maquina Virtual collabn1
  • Desde la pantalla principal, selecciona la máquina virtual collabn1 y haz clic en el icono Settings en la esquina superior izquierda.
  • Abre el submenú de Storage. Elimina el disco Empty de el IDE Controller.
  • Haz clic en Add CD/DVD Device y agrega el archivo ISO linux_6_5.iso
  • Abre el sub-menu Network.  
  • Selecciona el Adapter 1 , habilita el adaptador y cambia la selección de Attached to: Host-only Adapter
  • Selecciona el Adapter 2 , habilita el adaptador y cambia la selección de Attached to: Internal Network, cambia el nombre rac-priv en el campo Name.
  • Selecciona el Adapter 3 , habilita el adaptador y cambia la selección de Attached to: NAT.
  • Selecciona el Adapter 4 , habilita el adaptador y cambia la selección de Attached to: Bridged Adapter, asegurate que en el nombre, este seleccionado la tarjeta de red que tenga acceso a internet .
  • Seleccione el tab de Shared Folders. Haz clic en Agregar carpeta compartida e introduce la ruta donde descargaste los archivos de instalación de Oracle y escribe un nombre para la carpeta, en mi caso le puse RAC_12c y dale clic en OK y de nuevo dale clic en OK.

Instalación de Sistema Operativo Linux 6.5 en la MV collabn1
  • En la pantalla principal de Virtualbox, dale clic a Start para arrancar la maquina virtual.
  • El instalador de Oracle Linux aparecerá automáticamente. Dale "enter" para comenzar la instalación
  • Salta la prueba de CD pulsando la tecla de la flecha hacia la derecha y pulsa ENTER.
  • A partir de este momento puedes utilizar el ratón para navegar. Para desbloquear el ratón y el teclado de la máquina virtual, presione la tecla command o apple key (la tecla Ctrl derecha en Windows). Haz clic en Next.

  • Deja English  (English) seleccionados y haz clic en Next.
  • En mi caso yo deje deje U.S. English seleccionado y haz clic en Next (a menos que tengas otra distribución preferida de teclado).
  • Deja Basic Storage Devices y dale clic a Next.
  • Dale clic a Yes, discard any data a la advertencia  que dice  The storage device below may contain data
  • En el campo hostname, pon el nombre del nodo collabn1.racattack
    • Configuración de red eth0
      • Dale clic a  Configure Network en la esquina inferior izquierda.
      • Selecciona System eth0 y dale clic al boton Edit...
      • Dale clic al checkbox Connect automatically
      • Dale clic a la pestaña IPv4 Settings
      • Dale clic al cuadro desplegable Method: y selecciona Manual
      • Dale clic al boton Add e introduce la dirección 192.168.78.51
      • Deja la Mascara de red (Netmask) a 24.
      • En el campo de los DNS servers: introduce las direciones 192.168.78.51, 192.168.78.52.
      • En el campo Search domains: pon el nombre de racattack
      • Dale clic al boton Apply
    • Configuración de red eth1
      • Selecciona System eth1 y dale clic al boton Edit...
      • Dale clic al checkbox Connect automatically
      • Dale clic a la pestaña IPv4 Settings
      • Dale clic al cuadro desplegable Method: y selecciona Manual
      • Dale clic al boton Add e introduce la dirección 172.16.100.51
      • Deja la Mascara de red (Netmask) a 24.
      • Dale clic al boton Apply
    • Configuración de red eth2
      • Selecciona System eth1 y dale clic al boton Edit...
      • Dale clic al checkbox Connect automatically
      • Dale clic a la pestaña IPv4 Settings
      • Dale clic al cuadro desplegable Method: y selecciona Automatic (DHCP) addresses only
      • Dale clic al boton Apply
    • Configuración de red eth3
      • Selecciona System eth1 y dale clic al boton Edit...
      • Dale clic al checkbox Connect automatically
      • Dale clic a la pestaña IPv4 Settings
      • Dale clic al boton Apply y dale clic a Close y después dale clic a Next

  • Deja la configuración de zona horaria como están y haz clic en Next.
  • Introduce la contraseña del usuario root como racattack y haga clic en Next
    • Nota.- Dale clic a  Use Anyway cuando se te advierte acerca de la contraseña débil.
  • Dale clic a Use All Space para el tipo de instalación y haga clic en Next
  • Dale clic a Write changes to disk cuando se te advierte acerca de Writing storage configuration to disk
  • Deja a  Basic Server como el tipo de instalación por defecto y selecciona Customize Now y dale clic a Next.
  • La siguiente pantalla te permite seleccionar los grupos de paquetes requeridos, y los paquetes individuales dentro de la sección de detalles, a continuación son los paquetes que yo instale para este ejercicio y una vez que finalizaste , dale clic a Next.
    • Base System --> Base
    • Base System --> Compatibility libraries
    • Base System --> Console Internet Tools
    • Base System --> Debugging tools
    • Base System --> Hardware monitoring utilities
    • Base System --> Java Platform
    • Base System --> Large Systems Performance
    • Base System --> Network file system client
    • Base System --> Networking Tools
    • Base System --> Performance Tools
    • Base System --> Perl Support
    • Servers --> Server Platform
    • Servers --> System administration tools
    • Desktops --> Desktop
    • Desktops --> Desktop Platform
    • Desktops --> Fonts
    • Desktops --> General Purpose Desktop
    • Desktops --> Graphical Administration Tools
    • Desktops --> Input Methods
    • Desktops --> X Window System
    • Development --> Additional Development
    • Development --> Development Tools
    • Applications --> Internet Browser
  • El sistema operativo se tomará un rato para instalar.
  • Cuando la instalación se haya completado, haga clic en Reboot.
    • Al reiniciar sólo muestra una barra de progreso.
  • En la pantalla de bienvenida "Welcome", haz clic en el botón "Forward".
  • Acepta el acuerdo de licencia y haga clic en el botón "Forward".
  • Elija la opción deseada de registro de  ULN, haz clic en el botón "Forward". En este caso vamos a escoger que el registro lo dejamos a una fecha posterior.
  • Termina la instalación de actualizaciones de software haciendo clic en el botón "Forward".
  • Introduce los datos de un usuario de sistema, en mi caso lo deje en blanco, ya que después voy a crear el usuario "oracle" con el instalador de yum y el paquete de preinstalación a continuación, haga clic en el botón "Forward".
  • Ajusta la configuración de fecha y hora, si es necesario, y haga clic en el botón "Forward".
  • Acepta la configuración predeterminada (No Habilitada) en la pantalla Kdump haciendo clic en el botón "Finish".
  • Una vez que se abra tu sesión, selecciona other... y escribe root en el inicio de sesión y racattack como la contraseña.
  • Abre una terminal de bash dandole clic derecho a tu mouse y seleccionando Open in Terminal

Conclusión
En esta entrada, terminas la instalación de Virtualbox y del Sistema Operativo, en la siguiente entrada vamos a configurar el Sistema Operativo y configurar los DNS para poder instalar RAC en dos nodos.