lunes, 1 de marzo de 2010

3er. Clase del sysadmin training

Issues

El training tuvo su tercer clase el viernes pasado y debido al ámbito de conocimientos amplios y el tiempo limitado de dictado tuvimos un par de issues:

- Con un solo dvd de instalación, la review de instalación de cada trainee se ajustó a la posibilidad de ir pasando el dvd en mano uno por uno, lo que retrasó bastante la tarea. Por lo positivo, los distintos traineés tuvieron asistencia personalizada encarando la instalación de SLES11 (en una máquina virtual), y todos instalaron sin inconvenientes el SO, lo que nos dice que el recorrido realizado en la primera clase tuvo buenos niveles de comprensión en la gente.

- Al momento de explicar el scheduler CRON, ya estábamos escasos de tiempo restante en la clase según mi planificación, así que resolví que en vez de transmitirles a los traineés interactivamente las capacidades de CRON, decidí hacer una intro rápida, y continuar en la tercer clase, ya con templates que puedan utilizar para ir conociendo el uso de CRON sin tener que descubrir sus features desde el man hasta la entrada CRON ya configurada.

- La intro teorica a la administración de paquetes fue probablemente la 2da. más fuerte luego del análisis del arranque del sistema, el inicio de init y su progresión hacia los runlevels. En la siguiente clase planeo repetir la historia de los runlevels: aunque el comienzo tuvo mucha teoría, vamos ver distintas tareas habituales en una práctica extensiva.

La clase

Tema 2 - continuación

En conjunto con los issues, se dió la 3er. clase, arrancando con la continuación de las explicaciones teóricas del uso práctico de los runlevels y servicios (el cómo y porqué de inittab, los S y K de los links simbólicos y de ahí en adelante), y siguiendo con un práctica que recorría las distintas tareas usuales en el manejo de varias tareas de administración en el arranque de Linux:

- parámetros de booteo en Grub (cómo elegir runlevels y nociones de modificación de otros parámetros en Grub),

- servicios por defecto en runlevels, comprensión y administración del tema (si un servicio está activado, aún así puede no estar corriendo, etc.)

- nociones de creación de scripts de runlevels en el contexto de compatibilidad - asegurada - con el estándar LSB.

En los prácticos ya estuvimos recorriendo transparentemente y usando mc, Yast, X y pseudo-terminales varias, los archivos de configuración en /etc, /boot/grub, etc. No deja de sorprenderme positivamente la capacidad de aprendizaje de todos novatos del training, que evidentemente solo necesitan una buena explicación teórico-práctica para, por ejemplo, pasar directamente desde no conocer para qué sirve CTRL+ALT+F1/2/3/4/5/6, a comentar (#), entradas en /etc/inittab para deshabilitar esas posibilidades, y saltar desde X hasta terminales y de vuelta, mientras en las demos vía cañon voy saltando desde Yast a consola. Varios ya se cansaron de CTRL+ALT..y de vuelta y trabajan directamente sobre terminales Gnome...enhorabuena.

Tema 3

La explicación comenzó un poco lenta, tengo que reconocerlo, la realidad es que organizar en pocas palabras un mensaje complejo y extenso como explicar simultáneamente qué es un paquete, sistemas de administración de paquetes y sus características idénticas independientemente de la distribución, requiere hablar con suficiente precisión. Después de unos 5 minutos, de explicar cómo se construyen paquetes y - repitiendo - la noción de dependencia de paquetes, me puse a explicarles cómo se igualan funcionalmente los distintos sistemas de administración de paquetes para Linux, haciendo incapié en distros concretas (SLES, RHEL, CentOS, Ubuntu, Debian), y en yum y apt. Luego de eso ya pasamos a las tareas típicas de administración de paquetes y repositorios (siempre hablando en lenguaje común y compatible con las varias distribuciones ya mencionadas).

Para finalizar incluí una explicación consciensuda de criterios de selección de repositorios, explicando paso a paso, las consecuencias legales y prácticas de la inclusión de repositorios no soportados en el listado de repositorios oficialmente soportados en una distro comercial/empresarial. Luego de esto, los trainees ya tienen la información necesaria para decidir la pertinencia de incorporar o no software, actualizado o no, no soportado oficialmente a una instalación particular (empresarial o no, oficialmente soportada o no, empresarial o home, etc.).

Luego de lo anterior pasamos directamente a las demos en cañon usando Yast (que la mayoría de los trainees repite en sus instalaciones locales al modo de prácticos rápidos), donde recorrimos las GUI de administración de repositorios y paquetes, haciendo un racconto de capacidades y tareas usuales en la administración de paquetes, cabalmente representadas en las GUIs de Yast y que podemos encontrar en otras GUIs en diferentes distros.

El manejo de paquetes y repositorios en modo texto quedó pendiente para la próxima clase, sin embargo varios ya han tomado nota de algunos comandos rpm utilizados durante el tema 2 (rpm -qa | grep -i paquete, etc.), por lo que ya realizaron un contacto comprensivo-práctico en una situación real de uso de skills de adm. de paquetes.

De momento estoy haciendo la review del avance del training y viendo si la próxima clase se podría incluir un recuento de skills, para ver qué aprendieron a hacer hasta ahora y para qué les sirve; tal vez el recuento de skills se haga al final del training porque si bien los trainees tienen en mano mucha información específica sobre un par de componentes habituales en tareas de administración, les está faltando un poco más de contexto, por ejemplo, agregar skills de administración de almacenamiento, así la posibilidad de parametrizar Grub se puede sumar a skills de recuperación de discos.

Otra cosa que estoy viendo es si ya hago el lunes una introducción a LVM, este tema no figura como parte del temario, pero les prometí a los trainees que en vista de un poco de tiempo disponible, tenía ganas de dar este tema. Creo que el manejo de volúmenes es la clave para entender una de las principales características que hacen de Linux/*nix una opción por defecto al realizar deployments importantes.

También figura como parte de las promesas de temas adicionales - siempre ajustable esto a la disponibilidad de tiempo - los temas de administración remota (VNC, SSH, túneles de protocolos sobre SSH, redireccionamiento de puertos, etc.), y configuración básica de DNS.

No hay comentarios: