miércoles, 24 de febrero de 2010

Avanza el training de sysadmins..

Primera Clase

El training para sysadmins comenzó el lunes, mucha teoría, por el lado de la autocrítica creo que comenzó un poco desordenado para el tipo de training al que estoy acostumbrado a asistir, pero por lo positivo rescato que solo tenemos 25 hs. (un poco menos incluso, restando las horas de la evaluación final), y no hay libro ni tutorial que permita llegar hasta un buen nivel en tareas administrativas relativamente básicas (package management, logical volume administration, etc.), que contemple menos de 150 a 250 hojas de explicaciones largas sobre infinidad de temas relativos a la administración, mayormente enfocados en detalles muy buenos de conocer, pero que se pueden aprender mejor luego si se da una buena base a los trainees.

La conclusión es que el primer tema lo planifiqué sobre lineamientos generales y lo expuse haciendo un pipe literal de mi memoria+experiencia a lo que decía y escribía en el pizarrón. El resultado fue al principio un poco entrecortado, pero después de un rato ya se empezó a ver cómo muchos trainees pasaban de pensar en Linux como algo semi-misterioso a verlo como si fuera una versión ligeramente más difícil de manejar que un Windows típico.

Segunda Clase

Hoy empecé a dictar el segundo tema, pero primero hicimos un raid rápido sobre algunas tareas necesarias para correr VirtualBox y realizar una instalación de SLES11 en una vm (virtual machine), al final VirtualBox pidió un cierto pam-devel que no existía en los dvds de instalación (?, lo estoy viendo..leer más adelante), así que suspendimos esa parte del práctico y avanzamos sobre el tema 2 en sí.

Está bueno darles a los trainees tareas miscelaneas a realizar, incluso aunque sea bajo supervisión, ya que van viendo que "hacer cosas complejas" en Linux está al alcance de cualquiera. En particular la gente configuró un repositorio remoto (configurado localmente en un webserver en el laboratorio), cargaron los paquetes de desarrollo para compilar aplicaciones (-devel varios, kernel-src y demás tools), conocieron de primera mano sus primeros comandos de consola (whoami, ls, etc.), hicieron algo de troubleshooting cuando vimos que varios no tenían configurada la placa de red y tuvimos que configurarla y ver que estuviera en línea y llegando un server remoto (yast, ifconfig, ping), se ubicaron en un uso real de los comandos, cuando necesitamos hacer o saber algo y corremos comandos para ello, finalmente se copiaron un archivo remoto vía scp y tocaron la superficie de las tareas típicas de adm. remota (ssh, puertos, confirmar aceptación de keys, entender que necesitan idenficarse con usuario/pass, que tienen que ubicar una pc remota por ip, etc.), descubrimos juntos que hay que ser preciso al escribir comandos, mayúsculas y escribir los nombres y paths tal como son, y varios ya empezaron a desarrollar su precisión al tipear, para ahorrar tiempo en correcciones.

El segundo tema arrancó con algo que me pareció un poco difícil para algunos trainees, ya que tenemos inscriptos que tienen poca experiencia con Linux (una instalación exitosa reciente o menos experiencia inclusive), el tema era "Grub" y nos fuimos con mc directamente a /boot/grub/menu.lst y el impacto fue considerable, especialmente gracias a los "disk-by-id" de SLES (con sus identificadores de dispositivo estilo kilométrico). Por lo positivo, muy bueno, por cierto, es que pasado el breve shock inicial y ya comentadas las diferentes secciones y la lógica de "menu.lst", todo se volvió una "pavada", bien por los novatos.

Después estuvimos un rato trabajando con Yast haciendo modificaciones simples a Grub, y luego mostré un poco el manejo de consola, y aunque grub-install.unsupported (el grub-install funcional de SLES), funciona, no grabé los cambios porque ya se hacía tarde y me había olvidado como se parametrizaba el disco destino (aparte de /dev/sda y similares) y no daba para googlear ni 3 minutos siquiera. En un momento, reconfiguramos Grub con Yast, rebooteamos la pc y tuvimos un error de "no hay boot record viable" típico de un MBR sin booteador...que fue otro ejercicio de troubleshooting inesperado cuando me corrigieron preguntandome si había un llavero USB conectado a la pc...era así en efecto, lo sacamos y Grub "volvió" a funcionar.

Hubo otro incidente que llevó al troubleshooting cuando pasó lo de pam-devel y el paquete de VirtualBox, buscamos en Yast el pam-devel y como no estaba, les conté que en el repositorio local solamente estaba cargado uno de los dos dvds de instalación de SLES, y que tenía la .iso del otro en un llavero USB, así que nos pusimos a pensar soluciones para el problema, finalmente salió el tema de "mount -o loop" para extraer directamente el .rpm de la imagen .iso...y averigûamos que no existía un pam-devel en ninguno de los 2 dvds de instalación (es un tema que estoy viendo todavía).

Luego de esto continué explicando el proceso de arranque, init, runlevels y demás, y fue bastante más teórico de lo que había previsto que fuera. Terminamos al filo de poder ya encarar los prácticos para el tema 2 en mayor profundidad.

Es cierto que elegí un enfoque ligeramente complicado al dictar un curso utilizando múltiples fuentes de información (varios libros, en inglés y español, y tutoriales), y especialmente al momento de tratar procedimientos y metodología para SLES al mismo tiempo que comento comparativamente los mismos temas, durante el desarrollo del curso, relacionando SLES, RHEL y Ubuntu LTS. A pesar de la dificultad incrementada de ese enfoque, estoy contento porque puedo ver en los trainees la cara de "entendí, era fácil al final", y lo era, solo que ese tipo de información no se puede sacar ni recitar desde una sola fuente de material escrito, ya sea comercial o gratuito.

Cuando terminé la clase, 17.10 hs. aprox., probé la técnica "martillo por destornillador" para el "tornillo" virtual que era el paquete .rpm de VirtualBox pidiendo una dependencia que no existía para SLES. Un cierto "rpm -ivh --nodeps paquete.rpm" y se instaló sin más problemas (ninguna salida de fallos en los scripts que compilan módulos de Vbox para el sistema por ejemplo), luego arranqué el programa y se ejecutó sin problemas, así que para la próxima ya vamos a ir con "--nodeps" si es que mi vm local no presenta mayores errores con el VirtualBox forzado.

El viernes termina la semana y ya están completados los materiales para los primeros 3 temas del curso, la documentación completa del curso está montada en un webserver privado en el laboratorio y la tiene el bedel encargado para los asistentes al curso. La tercera clase se perfila como la clase más práctica de todas y espero poder arrancar con el tema 3, adm. de software y mostrar la facilidad con la que se adm. aplicaciones en Linux, que podría ser una habilidad crítica para incentivar a los trainees a mejorar sus skills de administración.

No hay comentarios: