viernes, 26 de abril de 2013

Niveles RAID


Ahora queremos estudiar como se pueden agrupar los discos entre si para mejorar sus características, son los llamados RAID (Redundant Array of Independent Disks). Una vez más entran en juego los factores de seguridad, capacidad y velocidad. Según la funcionalidad y los tipos de controladoras nos permitirán configurar unos u otros, siendo los más habituales:

RAID 0: Sin nivel de seguridad, cada agrupación tiene su capacidad y su rendimiento.

RAID 1: Discos en espejo. Se escribe exactamente lo mismo en todos los discos del RAID. Esta opción es la correcta cuando prima la seguridad frente al rendimiento y capacidad. Sin embargo, en la actualidad las cabinas y controladoras son capaces de hacer splitting y aprovechar los cabezales para leer datos entre los distintos discos de forma simultánea mejorando así el rendimiento de forma lineal. Es la opción más acertada para el almacenamiento de una base de datos de producción.



RAID 5: Esta formado por tres discos como mínimo. Es capaz de aprovechar mejor el espacio de almacenamiento en detrimento del rendimiento ya que las escrituras son más costosas. Se suele montar en entornos no muy críticos donde prima el aprovechamiento del espacio frente a seguridad y rendimiento, por ejemplo en los repositorios de software.



Posteriormente han ido apareciendo otras múltiples agrupaciones más complejas, siendo las más comunes:

RAID 3: Similar a RAID 0 pero se añade un disco de paridad. Tiene baja seguridad y bajo rendimiento ya que no se puede leer y escribir a la vez, provoca muchos cuellos de botella. Sin embargo, se aprovecha el 75% de almacenamiento bruto en un caso con 4 discos.



RAID 4: Mismo concepto que RAID 3 pero en este caso el acceso a los discos es independiente con lo que podemos leer y escribir en distintos discos a la vez.  Esto es posible porque la información se guarda a nivel de bloque en lugar de hacerlo en bytes como en RAID 3.



RAID 6: Igual que el RAID 5 pero añadiendo otro bloque de paridad, el rendimiento es mejor en las lecturas pero penalizas las escrituras al tener que estar calculando dos bits de paridad. Mejoras en seguridad pero disminuye el aprovechamiento del espacio.



Y por último existen los niveles RAID anidados, siendo los más usados:
RAID 0+1: Es un espejo de divisiones. Varios discos se agrupan en RAID 0 y luego se replica el grupo en otro grupo espejo.



RAID 1+0: Es una división de espejos. Igual que la agrupación anterior pero se invierten los RAID. Son muy usados en entornos de producción que requieran rendimiento. La única pega es que no permite salvaguardar los datos cuando se produce un doble fallo.



RAID 30: Es una agrupación en Raid 0 de dos conjuntos Raid 3. Rendimiento similar al Raid 3 pero se añade seguridad al conjunto ya que puede fallar un disco de cada grupo.



RAID 50: Misma idea que los Raid 30 pero haciendo la división Raid 5.



RAID 10+0: En realidad es un 1+0+0, es decir, una división más de un RAID 1+0. Son los llamados RAID cuadriculados. Se utiliza en entornos que requieran gran tamaño con buen rendimiento, como pueden ser grandes bases de datos.



RAID 10+1: Es un espejo de un RAID 1+0, también llamado Network Raid. Se suele utilizar en la replicación de cabinas en entornos críticos.


Gracias, Wikipedia, por prestarme estos gráficos tan útiles.


Texto extraído de mi proyecto final de carrera: Implantación de una SAN corporativa.

DAS vs NAS vs SAN




¿Cómo y dónde se almacenan los datos?

Conociendo y comprendiendo las diferencias.






DAS (Direct Attached Storage) es la forma clásica de conexión al almacenamiento, es decir, conexión directa al servidor o Pc. Es el comúnmente llamado almacenamiento local.

NAS (Network Attached Storage) es la forma contraria de acceso, es decir, por red y es el llamado almacenamiento remoto. Toda la información contenida en una NAS reside en un servidor cuyas características y ubicación son desconocidas por los puestos clientes. Tiene las ventajas que puede administrarse y restringirse el acceso a los datos, pueden ser compartidos, pueden ser respaldados por seguridad y sobretodo pueden estar agrupados y centralizados.

Las NAS trabajan directamente sobre las redes existentes en protocolos TCP/IP. Esto tiene sus ventajas e inconvenientes. Como punto fuerte decir que al aprovechar la infraestructura de red existente abarata los costes de instalación y mantenimiento, pero en detrimento del rendimiento ya que pueden producirse cuellos de botella afectando directamente a otros servicios.

SAN (Storage Area Network), son otro tipo de redes, que aunque comparten filosofía con las NAS la infraestructura de red es totalmente independiente, manejando elementos exclusivos como switches, cableado, tarjetas, etc. Lo más normal es que intercambien la información en tramas y comandos SCSI o Fibre Channel. Evidentemente el coste es mucho mayor pero también lo son sus rendimientos y velocidades. 


Como ejemplo gráfico se muestran a continuación las siguientes figuras extraídas de Wikipedia (siempre ayudando).




Como se ha ido comentando en puntos anteriores, implantar una SAN corporativa  produce múltiples beneficios de los cuales resumiremos los más importantes:

Interconectividad: Permite conectar a la red diferente tipos de elementos servidores de distintas razas, cabinas de almacenamiento, switches, etc.

Escalabilidad: Siempre permite ampliaciones de hardware si el volumen dimensionado se queda escaso o crecen las necesidades.

Alta disponibilidad: Permite duplicar o redundar los elementos críticos para mejorar la seguridad y así conseguir un sistema tolerante a errores.

Información centralizada: Se asegura el acceso a la información desde cualquier punto de la red, de igual forma para respaldarla.

Ubicación dispersa: Puede estar situada en sitios geográficamente distantes, aumentando así la seguridad y el rendimiento.

Administración: Es común que cuente con una administración centralizada y sencilla, reduciendo así el coste de los recursos humanos necesarios.

Rendimiento: Acceso a los datos de forma rápida al ser una red de alta velocidad.

Tamaño: El espacio que ocupa la información almacenada puede ser prácticamente infinito siempre y cuando se añadan los elementos adecuados.

Consolidación: Se puede prescindir de elementos obsoletos y se acaba con las islas de información.

Seguridad: Los datos sensibles pueden ser protegidos de forma confidencial, segura y fiable.


Texto extraído de mi proyecto final de carrera: Implantación de una SAN corporativa.


jueves, 25 de abril de 2013

Oracle ARCHIVE LOG




Hemos recibido varios comentarios acerca del modo ARCHIVELOG que comentábamos en el segundo post: qué es, para que sirve, cómo saber si está puesto... Intentaremos dar un breve paseo.





El modo ARCHIVELOG en una base de datos Oracle tiene varias utilidades, todas ellas enfocadas a la seguridad de nuestra información. Nos permite, razón primordial, hacer un backup en caliente, restaurar ficheros corruptos, recuperar una BBDD en un momento dado, etc.

Al poner la base en este modo, recomendado para todos los entornos productivos, necesitamos configurar la FLASH_RECOVERY_AREA. Es un directorio físico donde se almacenan estos archives y los backup. Hay que definir su ruta y su tamaño, recomendablemente en un disco aparte. Estos parámetros se encuentran en el init:

db_recovery_file_dest=E:\BD_Backup\flash_recovery_area
db_recovery_file_dest_size=100G

Para comprobar estos datos, hay que abrir una consola SQL*PLUS, conectamos con SYS y escribimos lo siguiente:

show parameters recover;




Para ver si está activado escribimos:

archive log list;



Podemos ver que efectivamente lo está y estamos en condiciones de hacer nuestro backup, según el anterior post.

Lo siguiente es ver como se puede activar/desactivar, ambos pasos requieren parada del sistema.

Activar ARCHIVELOG

connect sys/**** as sysdba

shutdown immediate;
alter database archivelog;
alter database open;

shutdown immediate;
startup ;



Desactivar ARCHIVELOG

connect sys/**** as sysdba

shutdown immediate;
alter database noarchivelog;
alter database open;

shutdown immediate;
startup ;



Cualquier otra duda, seguimos en contacto.
Saludos



miércoles, 17 de abril de 2013

How to "Restore Oracle Backup"





PREGUNTA: Ya tengo un backup, y ¿ahora que?, ¿se puede probar esto?

RESPUESTA: Pues claro que sí, vamos a ello.





Como ya hemos visto en otra entrada del blog, automatizar un backup de Oracle es relativamente sencillo, si sabemos lo que hacemos.
Ahora nos toca subir un escalón más, y es restaurarlo.

Tenemos dos escenarios, restore sobre el mismo servidor (catástrofe) o restaurar sobre otra máquina (para trastear, por ejemplo). Recomiendo esta última práctica para estar ágiles el día que tengamos un desastre.


En cualquier caso necesitamos los siguientes requisitos previos:


  • Software Oracle Database instalado en la misma versión que se hizo el backup.
  • Instancia creada con oradim.
  • Misma estructura de directorios: discos, letras, carpetas, etc. Si no queremos estar haciendo "renames".
  • Fichero de parámetros init o spfile.
NOTA: si estamos en el primer escenario, todo esto ya lo tenemos listo al haber tenido ya una BBDD produciendo. En otro caso, aplicar los 4 puntos.

  • Dejamos limpio el directorio donde va a restaurarse la BBDD (sin control_files, redologs ni datafiles).
  • Lanzamos un restore desde RMAN (*NOTA 2).
  • Salimos a fumar un cigarro.
  • Otro más.
  • Y a disfrutar de nuestra BBDD.

*NOTA 2: Estos pueden ser unos buenos comandos de restore:

Verificamos que nuestra instancia está arrancada (OracleServiceSID)

Comprobamos que está en estado nomount:


set oracle_sid=****

rman target sys/****

shutdown immediate

startup nomount

Restauramos los control_files desde el último backup válido:

restore controlfile from 'F:\BACKUP\Flash_recovery_area\BACKUPSET\2013_03_06\O1_MF_NCNDF_DATAFILES_8MFTFRPM_.BKP';

Montamos la BBDD y la restauramos:

alter database mount;
run {
allocate channel oem_backup_disk1 type disk;
restore database;
switch datafile all;
recover database;
release channel oem_backup_disk1;
}

Esto nos extraerá todos los datafiles con la fecha y hora en la que se hizo el respaldo. Si en el directo flash_recovery_area también están los archives, se irán aplicando hasta el último que tengamos y así tener unos datos más recientes.


CONSEJO: Las pruebas e inventos, mejor con gaseosa. Nos montamos un servidor piloto y vamos trasteando todas estas cositas.  

Saludos


lunes, 15 de abril de 2013

Windows Server 2012: Primeros pasos (I)



Pues ya lo tenemos aquí. Hemos tenido tiempo de verlo en congresos, probar las betas, y leer miles de blogs, pero llega la hora de ponerlo en producción y nos damos de bruces con la realidad. No deja de ser un Windows 2008 pero con todo cambiado de sitio y ahora toca buscarlo.
Perdón por los puristas, no es lo mismo, tiene alguna cosita nueva.

Lo primero nada más arrancar, vemos esto:




¿Es broma? 
No, se llama interfaz Metro y está pensado para dispositivos táctiles.

¿Pero hay que administrar un servidor Windows con el dedo? 
No, pero estaría entretenido, ¿te imaginas en un CPD muerto de frío tocando las pantallas? Cómico, es el calificativo más oportuno que se me ocurre. 
La razón es que el núcleo del sistema operativo es compartido con Windows 8, que sí tiene más sentido ser usado en tablets o en portátiles táctiles.

Pinchamos en Desktop y nos vamos al interfaz de escritorio.

Siguiente cuestión: ¿Donde está mi botón inicio?
Pues ni está ni se le espera. Hay formas de sacarlo con software de terceros, pero personalmente prefiero acostumbrarme a funcionar sin él con atajos de teclado.
(http://www.pcactual.com/articulo/zona_practica/paso_a_paso/paso_a_paso_software/12021/devuelve_boton_inicio_windows.html)
Si pinchamos en la esquina inferior derecha, al lado de la hora nos sale este menú tan simple, donde tenemos todo lo que necesitamos.




Pues manos a la obra, como todo administrador, lo primero es hacer ciertos retoques al sistema limpio:

1º Desactivar control de cuentas (UAC)

Podemos hacer de la forma clásica (windows+r -> msconfig) pero aquello no termina de funcionar como debiera.Tenemos que tocar el Registro de Windows o bien usar este pequeño script, que en definitiva hace lo mismo:


  1. Abrimos una consola Power Shell como Administrador (Ojo, importante).
  2. Ponemos estas dos líneas que modifican la parte del registro necesaria y reinician el servidor.
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value "0"

shutdown -r -t 0


2º Desactivar prevención de ejecución de datos (DEP)

Nos vamos al interfaz Metro y botón derecho sobre mi pc, luego clic en propiedades en la barra inferior. 



Luego el camino es el de siempre:




3º Desactivar firewall y activar escritorio remoto:

Este es más sencillo y creo que no merece la pena comentaralo, una vez encontrado el panel de control.

4º Desactivar la seguridad de IE:

Algo de lo más tedioso cuando queremos descargar algún software y no para de preguntarnos si estamos seguros.

Aquí tenemos que abrir el server manager, que es el primer icono de la barra inferior, y nos vamos a servidor local. Luego lo desactivamos.




Con estos pequeños retoques ya podemos empezar a instalar software sin que tengamos problemas con los permisos o restricciones. 

Saludos



jueves, 11 de abril de 2013

How to "Oracle Backup"




PREGUNTA: ¿Cómo montamos un backup de una base de datos Oracle?


RESPUESTA: Depende del backup que quieras montar.





Esta contestación tan ambigua se puede llegar a entender cuando conocemos la tipología de los posibles respaldos, esto es:

Backup lógico: Yo no lo llamaría backup como tal, pero la realidad es que mucha gente lo usa para tal efecto. Es el archiconocido Export/Import.

Desde la versión 10GR1 tenemos disponible una evolución de esta herramienta, Data  Pump, pero hoy en día se pueden seguir usando ambas a gusto del consumidor. Recomiendo este artículo para conocer las bondades del expdp:

Backup físico en frío: Consiste en parar la BBDD manualmente (servicio OracleServiceSID) y copiar todos ficheros que la componen: datafiles, controlfiles, initfile o spfile. Esta copia puede ser con cualquier software de terceros (aconsejo Robocopy) o con el clásico CTL+C y CTL+V.
La pega evidente es que necesitamos una parada del sistema durante el tiempo que dure la operación y luego rezar para que la copia haya sido buena.

Backup físico en caliente: Opción recomendada, más que nada porque es RMAN (propio de Oracle) quien gestiona toda la operación.
Lo realmente bueno es que se puede hacer en cualquier momento del día, las veces que se quieran y sin parar la producción (backup en caliente).

La única consideración es que necesitamos que nuestra base de datos esté en modo ARCHIVELOG, configurar la Flash_recovery_area y disponer de un almacenamiento donde guardar esta información. Evidentemente la duración del backup o de una recuperación del mismo es inversamente proporcional a las prestaciones del hardware.

Un ejemplo sencillo es el siguiente:

Nos construimos un .bat con la siguiente instrucción:

rman target sys/password cmdfile=D:\Backup\BACKUP.rman log=D:\BACKUP\ RMAN.log

El fichero *.rman debería incluir estos comandos:

delete noprompt backup;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
backup database;
backup archivelog all not backed up delete all input;
exit

Finalmente encolamos nuestro archivo por lotes en una tarea programada con la frecuencia que estimemos oportuna y tendremos nuestro backup listo y disponible.

Prueba, experimenta, comparte y recuerda: “Si quieres obtener resultados diferentes, no sigas haciendo las mismas pruebas”, Albert Einstein.

Saludos.

martes, 9 de abril de 2013

Primera entrada

Esto empieza a caminar, hoy nace el blog.

Dicen que para dejar legado en esta vida, debes plantar un árbol, tener un hijo y escribir un libro. Pero en ningún sitio especifica si este puede ser electrónico o en formato blog. Sea como fuere, en este sitio voy a tratar de aportar mi granito de arena a esta sociedad llamada del conocimiento y de las nuevas tecnologías de la información ( TI ).

Esta idea nace de ver como funciona una famosa multinacional, en donde todos sus técnicos especializados, tienen su propio blog y comparten el saber adquirido, o más bien parte del mismo. Todo tiene un precio.

Los usuarios de sus productos comparten dudas e inquietudes acerca de los mismos, los técnicos responden en la medida de sus posibilidades y van publicando casos curiosos que se han ido encontrando, donde el problema tiene una solución identificada.

Simplemente me pareció una idea genial y me gustaría replicarla. Espero que todos disfrutemos en esta trepidante aventura.

Saludos.