Archivos para 26 junio 2009

26
jun
09

cosas de zfs

Advertencia:

Este post es un resumen de los pequeños problemas que me he ido encontrando con ZFS, no describe el proceso de creación ni quiero que sea evaluador, simplemente es para anotarme cosas de el proceso de aprendizaje.

Prefacio

En el ultimo día me estuve peleando con zfs el fabuloso sistema de ficheros de opensolaris, solaris, freebsd, etc… ha sido un gran descubrimiento ver su potencial pero aun así hay cosas que me gustaría comentar de este sistema de ficheros en opensolaris.

Documentación

La documentación en el wiki de opensolaris es muy extensa y muy grande, quizás excesivamente grande se puede perder uno con facilidad, un poco de orden estaría bien al igual que una sección newbe. Aun así se encuentra todo y se agradece una documentación completa para poder indagar.

Referencias a la GUI

Hay muchas referencias a una gui para gestionar zfs y otros servicios en solaris y que se referencia en opensolaris y no esta, tuve que indagar en los foros un poco para ver que ocurría, y al final es tan simple que la gente instala este servicio de solaris en opensolaris.

Nombres SUN

En los productos Sun le gusta poner nombres a todo, y al final se pierde mucho uno en la nomenclatura y pierde el fondo de lo que esta trabajando por debajo, pero bueno es acostumbrarse, si has trabajado con java sabes que ocurre mucho.

26
jun
09

Resumen del Jueves

El jueves continué por donde me había quedado, el servidor nas. Tuve que reinstalar pues parece que hubo algún problema en la instalación, una vez reinstalado empecé a hacer el raid5. ZFS provee de varios mecanismos para hacer raid el equivalente a raid5 es raidz, en mi caso utilice raidz2 para ello. Los dispositivos primero añadí tres discos de 8GB y los configure con driver sata.

nas virtualbox

nas virtualbox

Una vez ya añadidos solo tuve que crear el pool con el comando zpool( existe una GUI en Solaris para realizar estas tareas desde web facilitando la instalación de estos recursos)

pfexec zpool create zpool raidz2 c9t1d0 c9t2d0 c9t3d0

Después creamos el sistema sobre el que vamos a montarlo(ZFS):

pfexec zfs create zpool/media

ZFS tiene un interfaz de comandos muy potente que nos permite configurar el sistema muy completamente pudiendo configurar el pool

zfs set compression=on zpool
zfs set setuid=off pool
zfs set exec=off pool

En este caso el sistema no va a guardar ejecutables solo datos, por ello desactivar el uid y los permisos de ejecución es añadir seguridad al medio, adicionalmente también podemos comprimir el sistema pero como el equipo no esta sobrado de cpu lo desactivé.

Compartir el pool en la red es muy sencillo por ello he creado dos distintos, unos compartido en nfs y otro en cifs(samba).
Instalamos cifs

pkg install SUNWsmbs SUNWsmbskr

después iniciamos el servicio

svcadm enable -r network/smb/server

Aquí tuve problemas pues no quería arrancar el servicio, pero bueno lo arregle desactivandolo y volviendo a activarlo.

Como he dicho he creado otro sistema dentro del pool media2

zfs create -o casesensitivity=mixed zpool/media2

La razón de esto es evitar problemas con windows pues no al pasar los ficheros se convierten todos los caracteres del nombre de fichero a minúsculas. Ahora solo falta activar la compartición.

zfs set sharesmb=on zpool/media2

Para compartir por nfs es muy parecido

zfs set sharenfs=on zpool/media

Ahora solo faltaría activarlo en los clientes, pero eso lo dejo para el próximo día antes vamos a activar el sistema de snapshots, zfs nos deja guardar instancias temporales de un pool o directorio para ello lleva una interfaz gráfica que lo que hace es activar el servicio zfs snapshots de la siguiente manera

frequent snapshots every 15 mins, keeping 4 snapshots
hourly snapshots every hour, keeping 24 snapshots
daily snapshots every day, keeping 31 snapshots
weekly snapshots every week, keeping 4 snapshots
monthly snapshots every month, keeping 12 snapshots

y desde el navegador de archivos podemos recuperar los ficheros en un momento determinado. En el próximo post podre screenshots de ello.

Hoy es el ultimo día en España de mi novia en muuucho tiempo así que hoy viernes no podre tampoco trabajar, por ello el sábado y el domingo me toca trabajar a tope :) .

24
jun
09

Resumen del martes

Este martes continué el proyecto, me tocó reinstalar la Debian pues parece que no termino bien la instalación y el sistema era inservible. Una vez acabado instalé el OpenSolaris para el glashfish, por suerte en el sistema de paquetes lleva ya una versión para instalar (pkg install glassfishv2). Esta versión inicialmente no crea ninguna zona (glassfish trabaja con zonas, mayor comodidad respecto por ejemplo jboss) por tanto hay que crear una zona para trabajar

pfexec asadmin create-domain --user admin --adminport 4848 domain-php

Nos preguntara dos passwords a la hora de generar la zona, una vez hemos acabado tenemos que crear el servicio

pfexec asadmin create-service --type das --passwordfile password.txt /var/appserver/domains/domain-php

En el fichero password.txt va los passwords de los servicios de la siguiente manera
AS_ADMIN_USER=admin
AS_ADMIN_PASSWORD=adminadmin
AS_ADMIN_MASTERPASSWORD=changeit

Y poco más, ahora solo tenemos que hacerlo funcionar y ver el estado del servicio

svcadm enable domain1
y para ver el estado

svcs -x domain1

También he estudiado que firewall añadir, me interesa que la maquina debian no lleve ningún tipo de interfaz, solo la shell y acceder desde ssh solamente, en opensalaris esta pendiente deshabilitar el modo gráfico para que solo se acceda por ssh, pero de momento por comodidad se deja en marcha.

Según el wiki de debian lo ideal seria un shorewall aunque he mirado y Vuurmuur tiene muy buena pinta, el problema es que no esta en lenny por lo que parece.

También he puesto otra instancia de OpenSolaris para toquetear un poco con ZFS, y empezar el nas.

De los objetivos de ayer solo se ha quedado pendiente el ipmultipah, que retomo el jueves. Hoy miércoles me es imposible retomar el proyecto debido a que he ido al medico por la mañana y la he perdido por completo, y esta tarde estaré con mi chica que se va un año al extranjero, de todas formas hay tiempo y lleva buen ritmo y antes del día dos estará acabado y testado.

23
jun
09

Resumen del Lunes

Hoy ha sido un día duro, he tenido que recuperar algo de información y empezar a encontrarme los primeros problemas, vamos empezando.

Resumen de hechos:

  • Instalación de la debian para proxy
  • Instalación de OpenSolaris para MySql (posible reinstalación)
  • Instalación de los módulos de RAM nuevos
  • Actualización de la BIOS
  • Configuración de VirtualBox

Perfil del Anfitrión

El anfitrión con el sistema de virtualización es el siguiente:

Linux localhost.localdomain 2.6.29.4-167.fc11.i686.PAE #1 SMP Wed May 27 17:28:22 EDT 2009 i686 athlon i386 GNU/Linux

7GiB System Memory

AMD Athlon(tm) 64 X2 Dual Core

Y el sistema operativo anfitrión es Ferdora 11.

Posteriormente paso el lshw para un análisis completo.

Configuración de Virtualbox

Para que los servicios funcionen de cara al exterior y se comuniquen entre ellos necesitamos un dispositivo bridge, aparte para poner direcciones estáticas y así tener mejor controlado los equipos cuando estén en host-only (son pocos y un servidor dhcp es innecesario para este asunto).

En este caso en preferencias de Virtualbox tenemos los cambios a realizar en red, también configuramos las maquinas virtuales para que funcione con el dispositivo bridge que tenemos (se genera al instalar VirtualBox).

Problemas de hardware

Uno de los problemas que uno quiere es encontrarse con problemas de hardware, el principal es la falta de ram pues cuando estaba haciendo cálculos de recursos que iba a necesitar la ram era critica, solo había tres Gigabites de memoria y solo las maquinas solaris ya consumían cuatro y medio o cinco. He comprado cuatro gigas nuevos pero mi equipo se negaba a usarlos congelando el arranque de fedora, así que he investigado y era problema de la BIOS así que te nido que preparar un freedos en un stick usb y los programas adecuados, averiguar que opciones de freedos necesitaba y actualizar, ha sido más largo de lo que quería pues los fallos podían ser muchos y tuve que comprobar uno a uno. Una vez puestos ya podía usarlos pues fedora lleva de serie un kernel con PAE activado.

Instalación de la Debian

Ya tengo lista la debian para trabajar con ella, solo falta comprobar que squid venga con soporte de x-forward sino tendré que recompilar el paquete para poder balancear. Las opciones de la instalación se la he dejado al instalador de debian que me ha dejado un sistema de particiones muy bueno (divide y clacula el espacio para /tmp /var, /usr, etc…

Disco virtual de 8 Gigabites

Instalación de OpenSolaris

La instalación ha sido muy sencilla pues el instalador es como el de ubuntu pero más simplificado, me queda ver como va el particionado pero me parece que con ZFS no es necesario al tener volúmenes lógicos. Se ha instalado Mysql
pfexec pkg install SUNWmysql5
y Vpanel para mysql, seguramente también instalaré phpmyadmin para poder explorar fácilmente mysql, pero se quedará como opcional.

El Martes

Para el martes espero poder instar la otra instancia de mysql configurar la ipmultipath, instalar glashfish con soporte php y hacer un test de squid.

21
jun
09

Presentación y esquema

Diagrama prueba

Diagrama prueba

Hola, voy a presentar el esquema de lo que sera el proyecto para la prueba:

- Un servidor proxy que balancea con round robin sobre Debian GNU/Linux (un router puede substituir físicamente este sistema)

- Dos equipos que que tienen virtualizados dos sistemas OpenSolaris, uno para un servidor de aplicaciones Glashfish y otro para Mysql, los servidores están sincronizados mediante una replicación master to master.

- Servidor NAS que provee en este caso de las particiones temporales al proxy y provee a a los servidores mysql de sistema de backup. Este sistema es un OpenSolaris con ZFS que tiene una serie de discos en raid 5.

De aqui sacamos una pequeña lista inicial de tareas:

  • Instalación de Opensolaris para glashfish y mysql (luego replicamos el disco duro).
  • Instalación de Debian para proxy.
  • Instalación del servidor NAS con Opensolaris.
  • Configuración de los servidores Mysql para replicación.
  • Configuración del Proxy con balanceo.
  • Configuración del Firewall en el Proxy.
  • Configuración de IPmultipath o iptables para atacar una unica ip a los servidores mysql.
  • Configuración del Servidor de NAS por CFIS o NFS(aún en estudio).
  • Configurar la aplicación PHP para que funcione en glasfish con Caucho Resin.
  • Configurar el sistema de backup de MYSQL.
  • Configurar el sistema de Ip’s de proveedor virtual.
  • Automatización de actualizaciones y envíos de correos de seguridad.
  • Realización de test de prueba.
  • Realización de test de seguridad.

Según se vaya realizando el progreso la bitácora se actualizara con los cambios diarios o según progreso.




Seguir

Get every new post delivered to your Inbox.