Buscador

miércoles, 9 de febrero de 2011

CONFIGURACION DE ORACLE RAC SISTEMA OPERATIVO


Tenemos dos RAC instalados, el procedimiento para su instalación varia según el tipo de instalación de RAC realice ORACLE.

1.      -RAC Gas: Discos ocr dados de tipo ocfs2 compartidos entre las dos maquinas. Estos discos shared son dados por una cabina NETAPP. Estos discos son utilizados para la comunicación por ORACLE. Para los datos, tenemos 14 discos dados en modo RAW.

CREACIÓN DE LOS ocfs2:

-Paquetes necesarios:

oracleasm-2.6.18-164.0.0.0.1.el5xen-2.0.5-1.el5
oracleasm-support-2.1.3-1.el5
oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5
oracle-logos-4.9.17-6
oracleasm-2.6.18-164.0.0.0.1.el5-2.0.5-1.el5
oracleasmlib-2.0.4-1.el5
oracleasm-2.6.18-164.0.0.0.1.el5debug-2.0.5-1.el5
 
-Realizamos la configuración:
 
[root@xxx ~]# cat /etc/ocfs2/cluster.conf
cluster:
        node_count = 2
        name = ocfs2
node:
        ip_port = 7777
        ip_address = 10.228.14x.9x
        number = 0
        name = xxx
        cluster = ocfs2
 
node:
        ip_port = 7777
        ip_address = 10.228.14x.9x
        number = 1
        name = xxxx
        cluster = ocfs2
 
-Formateamos los dispositivos:
 
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath10
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath9
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath8
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath7
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath6
mkfs.ocfs2 -b 4K -C 32K -N 4 /dev/mapper/mpath5
 
-Arrancamos los demonios:
 
    * /etc/init.d/o2cb status
 
      Module "configfs": Not loaded
      Filesystem "configfs": Not mounted
      Module "ocfs2_nodemanager": Not loaded
      Module "ocfs2_dlm": Not loaded
      Module "ocfs2_dlmfs": Not loaded
      Filesystem "ocfs2_dlmfs": Not mounted
 
    * /etc/init.d/o2cb load
 
      Loading module "configfs": OK
      Mounting configfs filesystem at /config: OK
      Loading module "ocfs2_nodemanager": OK
      Loading module "ocfs2_dlm": OK
      Loading module "ocfs2_dlmfs": OK
      Mounting ocfs2_dlmfs filesystem at /dlm: OK
 
      Loads all OCFS modules.
 
    * /etc/init.d/o2cb online ocfs2
 
      Starting cluster ocfs2: OK
 
      The above command will online the cluster we created, ocfs2.
 
    * /etc/init.d/ocfs2 start
 
-Comprobamos:    
    * /etc/init.d/o2cb status
 
      Module "configfs": loaded
      Filesystem "configfs": mounted
      Module "ocfs2_nodemanager": loaded
      Module "ocfs2_dlm": loaded
      Module "ocfs2_dlmfs": loaded
      Filesystem "ocfs2_dlmfs": Not mounted -> tenemos que montar fs para que se active

          
        
-Ponemos los demonios en el arranque:
 
[root@xxx ~]# chkconfig --list ocfs2
ocfs2           0:desactivado   1:desactivado   2:activo        3:activo        4:activo        5:activo        6:desactivado
[root@xxx ~]# chkconfig --list o2cb
o2cb            0:desactivado   1:desactivado   2:activo        3:activo        4:activo        5:activo        6:desactivado
 
 
-Ahora ponemos los fs en el arranque y los montamos en ambas maquinas (todo esto se hace en ambas maquinas)
 
Creamos los puntos de montaje:
 
drwxr-xr-x   3 oracle oinstall  3896 sep 15 11:42 ocr1
drwxr-xr-x   3 oracle oinstall  3896 sep 15 11:42 ocr2
drwxr-xr-x   3 oracle oinstall  3896 sep 15 11:43 ocr3
drwxr-xr-x   3 oracle oinstall  3896 sep 15 11:43 ocr4
drwxr-xr-x   3 oracle oinstall  3896 sep 15 11:43 ocr5
drwxr-xr-x   3 oracle oinstall  3896 sep 14 16:13 ocr6
 
[root@xxx ~]# cat /etc/fstab
/dev/mapper/mpath5      /ocr1                   ocfs2   _netdev,datavolume 1 0
/dev/mapper/mpath6      /ocr2                   ocfs2   _netdev,datavolume 1 0
/dev/mapper/mpath7      /ocr3                   ocfs2   _netdev,datavolume 1 0
/dev/mapper/mpath8      /ocr4                   ocfs2   _netdev,datavolume 1 0
/dev/mapper/mpath9      /ocr5                   ocfs2   _netdev,datavolume 1 0
/dev/mapper/mpath10     /ocr6                   ocfs2   _netdev,datavolume 1 0
 
-montamos todo:
mount -a
 
-Para poder ver que esta todo ok, miramos en modo consola: ocfs2console
 

CREACION DE LOS RAWS:
 
[root@xxx ~]# fdisk /dev/mapper/mpath1
 
El número de cilindros para este disco está establecido en 15666.
No hay nada malo en ello, pero es mayor que 1024, y en algunos casos
podría causar problemas con:
1) software que funciona en el inicio (p.ej

versiones antiguas de LILO)
2) software de arranque o particionamiento de otros sistemas operativos
   (p.ej

FDISK de DOS, FDISK de OS/2)
 
Orden (m para obtener ayuda): p
 
Disco /dev/mapper/mpath1: 128.8 GB, 128861601792 bytes
255 heads, 63 sectors/track, 15666 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
 
           Disposit

Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/mapper/mpath1p1               1       15666   125837113+  83  Linux
 
 
[root@xxx ~]# fdisk /dev/mapper/mpath2
 
El número de cilindros para este disco está establecido en 2610.
No hay nada malo en ello, pero es mayor que 1024, y en algunos casos
podría causar problemas con:
1) software que funciona en el inicio (p.ej

versiones antiguas de LILO)
2) software de arranque o particionamiento de otros sistemas operativos
   (p.ej

FDISK de DOS, FDISK de OS/2)
 
Orden (m para obtener ayuda): p
 
Disco /dev/mapper/mpath2: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
 
           Disposit

Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/mapper/mpath2p1               1        2610    20964793+  83  Linux
 
-Creamos los los pvs:
 
pvcreate /dev/mapper/mpath1p1 
pvcreate /dev/mapper/mpath2p1
 
-Configuramos:
[root@xxx ~]# cat /etc/sysconfig/rawdevices
# raw device bindings
# format:    
#           
# example: /dev/raw/raw1 /dev/sda1
#          /dev/raw/raw2 8 5
#/dev/raw/raw12 /dev/sdm1
#ASM arch y ASM data
/dev/raw/raw1   /dev/mapper/mpath1p1
/dev/raw/raw2   /dev/mapper/mpath2p1
 
Arrancamos el /etc/init.d/rawdevices restart
Y comprobamos con el raw -qa
Y lo ponemos en el arranque: chkconfig rawdevices on


IDENTIFICACIÓN DE LOS DISCOS:

Para ello utilizamos el software de NETAPP, netapp_linux_host_utilities_5_2.tar.gz
 
Instalar y luego modificar el multipath.conf con las siguientes líneas (y solo estas)
 
 
 
defaults {
                user_friendly_names yes
                rr_min_io 128
                max_fds max
}
 
devnode_blacklist {
                   devnode "sd[a]$"
                   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
                   devnode "^hd[a-z]"
                   devnode "^cciss!c[0-9]d[0-9]*"
}
 
devices {
        device {
                   vendor "NETAPP"
                   product "LUN"
                   flush_on_last_del yes
                   getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
                   prio_callout "/sbin/mpath_prio_netapp /dev/%n"
                   features "1 queue_if_no_path"
                   hardware_handler "0"
                   path_grouping_policy group_by_prio
                   failback immediate
                   path_checker directio
                }
}
 
Reiniciamos el /etc/init.d/multipath restart
 
Reconocemos los discos
 
 
[root@xxx ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@xxx ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@xxx ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@xxx ~]#  echo "- - -" > /sys/class/scsi_host/host3/scan
[root@xxx ~]# echo "- - -" > /sys/class/scsi_host/host4/scan
 
 
echo "scsi-qlascan" > /proc/scsi/qla2xxx/1
echo "scsi-qlascan" > /proc/scsi/qla2xxx/0
echo "scsi add-single-device controller 0 0 1 ">/proc/scsi/scsi
echo "scsi add-single-device controller 0 0 1 ">/proc/scsi/scsi
 
 
 
Luego 
 
[root@xxx ~]# multipath -ll
mpath2 (360a98000572d504e4434594d53424653) dm-12 NETAPP,LUN
[size=20G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=4][enabled]
\_ 3:0:1:1 sdc 8:32  [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 3:0:2:1 sdg 8:96  [active][ready]
\_ 3:0:2:2 sdh 8:112 [active][ready]
 
 
 
 
[root@xxx ~]# sanlun lun show all
 
NetApp-Mir-CtrlA:/vol/ORA_RAC_IECI/ORA_RAC_IECI_ASURIECI_Archivado (LUN 1)              Lun state: GOOD
Lun Size:     20g (21474836480)  Controller_CF_State: Cluster Enabled
Protocol: FCP           Controller Partner: NetApp-Mir-CtrlB
DM-MP DevName: mpath2   (360a98000572d504e4434594d53424653)     dm-39
Multipath-provider: NATIVE
--------- ---------- ------- ------------ --------------------------------------------- ---------------
   sanlun Controller                                                            Primary         Partner
     path       Path   /dev/         Host                                    Controller      Controller
    state       type    node          HBA                                          port            port
--------- ---------- ------- ------------ --------------------------------------------- ---------------
     GOOD  primary       sdc        host3                                            0a              --
     GOOD  secondary     sdx        host3                                            --              0a


2.      -RAC CLIENTES: Los discos shared son dados directamente al ORACLE, y es el libasm, el encargado de gestionarlos etiquetándolos. Por lo tanto, solo tendríamos que ver los discos y dárselo directamente.

Configuraciones estándares:

- Comunicación entre las maquinas sin password.
- Bonding entre las tarjetas de heartbeat.

[root@Ixxx ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.3
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=BOND

[root@xxx ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82546EB Gigabit Ethernet Controller (Copper)
DEVICE=eth0
ONBOOT=yes
HWADDR=00:19:99:14:c7:96
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
BOOTPROTO=dhcp

[root@xxx ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth3
# Intel Corporation 82546EB Gigabit Ethernet Controller (Copper)
DEVICE=eth3
ONBOOT=yes
HWADDR=00:11:0a:63:b0:99
TYPE=Ethernet
SLAVE=yes
MASTER=bond0
BOOTPROTO=dhcp

-Al tener un cisco por encima tenemos que poner port channel y esta opción para el bonding es:

[root@xxx ~]# cat /etc/modprobe.conf
#alias eth1 tg3
#alias eth0 tg3
alias scsi_hostadapter megaraid_sas
alias scsi_hostadapter1 ata_piix
alias scsi_hostadapter2 qla2xxx
alias bond0 bonding
options bond0 mode=4 miimon=100
### BEGIN MPP Driver Comments ###
remove mppUpper if [ `ls -a /proc/mpp | wc -l` -gt 2 ]; then echo -e "Please Unload Physical HBA Driver prior to unloading mppUpper."; else /sbin/modprobe -r --ignore-remove mppUpper; fi
# Additional config info can be found in /opt/mpp/modprobe.conf.mppappend.
# The Above config info is needed if you want to make mkinitrd manually.
# Please read the Readme file that came with MPP driver for building RamDisk manually.
# Edit the '/etc/modprobe.conf' file and run 'mppUpdate' to create Ramdisk dynamically.
### END MPP Driver Comments ###
#alias eth e1000
#alias eth2 e1000
#alias eth3 e1000
#alias dev16113 tg3

[root@xxx ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Active Aggregator Info:
        Aggregator ID: 2
        Number of ports: 1
        Actor Key: 17
        Partner Key: 2
        Partner Mac Address: 00:25:84:dd:f0:c0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:19:99:14:c7:96
Aggregator ID: 1

Slave Interface: eth3
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:11:0a:63:b0:99
Aggregator ID: 2


-Modificamos el /etc/hosts.


No hay comentarios:

Publicar un comentario