Cheatsheet: como convertirte en el seasoned sysadmin que siempre soñaste.
Ese, el que gana poco trabajando para una multinacional de medio pelo para arriba y únicamente produce vitamina D cuando la luz de su display le pega en la palma de las manos. Ese que nunca una mujer podría encontrar atractivo y que prefiere un servidor a un partido de fútbol.
Como convertirte en ese sysadmin al que los demás sysadmincitos junior miran desde abajo. Ese veterano de mil guerras con el rostro desfigurado por cicatrices, ese Rambo del Bash que te hace indestructible ahora, pero que cuando te jubiles te habrá dejado el cerebro a la miseria. Ese que no necesita recurrir nunca a stackoverflow por que se sabe el comando de memoria.
Ese.
La que sigue es únicamente una lista orientativa. Es esperable que todo aquel que busque iniciarse en el milenario y mal apreciado arte del sysadmineo linuxero de mierda se las apañe solo y no venga a este post a preguntar pelotudeces. Es decir: si querés ver hasta donde te la bancás, que tan grande la tenés, que tanto más que tus pares sabés o que tan mejor sos tomá, seguí esta lista al pié de la letra. No avances al paso siguiente hasta no haber completado el inmediato anterior por que es una guía que se sigue de forma secuencial.
20 sencillos pasos que son un dolor de huevos tanto individualmente como en conjunto y que deberías ser capaz de realizar en no menos de tres a cuatro años:
- Configurá un KVM hypervisor.
- Creá una VM con Spacewalk server sobre Centos 7. Puntos extra si configurás la importación de erratas para poder ver información sobre updates y vulnerabilidades o cuestiones de seguridad.
- Creá una VM que aprovisione de DNS y DHCP a todo tu futuro entorno de testing. Configurá las DHCP options para usar el Spacewalk server como PXE Boot para poder usar Cobbler en instalaciones desatendidas. Asegurate de que cada forward zone del DNS server tenga configurado un reverso usando un formato similar a interno.redvirtual (evitar usar .local).
- Usar el Spacewalk server para instalar automáticamente dos nuevas VMs que van a ser tu nuevo par de servidores LDAP master y slave para autenticación en el dominio. Asegurate de que se registren en el servidor con Spacewalk. No usar plain text LDAP ni permitir binds anónimos al domain.
- Reconfigurá los tres servidores que creaste hasta ahora para que empiecen a utilizar autenticación LDAP.
- Creá dos nuevas VMs desatendidas que van a ser tu pool de master/master PostgreSQL servers, usá pgpool-II para configurar la replicación entre ambas. Exportá la base de datos de tu spacewalk e importala en el nuevo cluster pgsql. Reconfigurá luego tu spcaewalk para que funcione a partir de la base de datos alojada en el pool pgsql.
- Configurá un Puppet Master y conectalo a tu spacewalk server para identificar el inventario que necesitará y con el cual trabajará. Vale hacer trampa y usar Ansible.
- Creá otra VM. Instalá iscsitgt y nfs-kernel-server. Exportá dos shares, un LUN y un NFS.
- Creá otra VM e instalale Bakula. La base de datos en el cluster postgresql, las imágenes de las VM que corre Bácula en el LUN iscsi y las de las demás VMs en el NFS.
- Creá otras dos VMs, instalá dos instancias de apache2.
- Creá otras dos VMs. Instalá tomcat en ambas. Instalá JBoss cache para replicar el caché de sesiones entre ambas. Instalá JBoss Wiki y configurá los dos httpd servers con apache2 para que sean reverse-proxy del cluster con tomcat.
- Instalá otra VM, instalá iptables, creá una regla que haga round-robin load-balancing entre los dos httpd servers. Vale usar HAProxy también.
- Instalá otra VM con postfix. Configurala para que use una casilla de Gmail como relayhost y para que pueda recibir mensajes únicamente de tu red local.
- Instalá otra VM y configurá un Nagios Server que monitoree por SNMP el estado de todos los servicios relevantes implicados en las configuraciones anteriores chequeando cada puerto, la respuesta o banner de cada puerto y la cantidad de espacio libre en disco. Que te mande emails usando la VM con postfix.
- Instalá otra VM que sea un syslog server, apuntá los syslog de todas las otras VMs para que envíen sus logs a esta. Puntos extra por configurar Logstash, Kibana, Graylog o cualquier mierda similar para parsear logs.
- Documentá todo lo que hiciste hasta ahora en tu nueva Wiki.
- Creá los manifest de puppet necesarios para asegurarte de que cada una de todas estas VMs se está autenticando contra LDAP, registrando en el Spacewalk y tiene backups en el Bakula.
- Utilizando los manifests configurá un razor profile que te permita recrear desde cero cualquiera de estos servers de forma automática.
- Borrá todas las VMs que son secundarias, volvé a crearlas desde el razor profile y volvé a unirlas a su respectivo pool o cluster.
- Bonus: testeá los profiles en Centos 5 y 6 hasta lograr que funcionen de forma transparente.
Si llegaste hasta acá, bienvenido al lado de mierda de la fuerza, colega.
Muy buena tu guia, la verdad es que me voy a proponer hacerla..
Una pregunta, cuál sería el hardware mínimo que soporte todas esas VMs?? Andaría en alguna PC Desktop «gamer» o si o si recomendas invertir en algún server tipo ProLiant de HP, o de los Lenovo xSeries??
Total como es para probar y aprender, no va a contener un gran volumen de datos, y me gustaría gastar lo menos posible jeje.
Las PC «Gamer» de hoy en día se aproximan mucho a los servers de hace 4 años en cantidad de RAM y storage y con un server de hace 4 años te sobraba. Seguir esta guía te va a insumir mas tiempo que hardware, creeme. Con cualquier PC de gama media ya debería bastar.
Considerá unos 512MB de RAM mínimo por VM, un vCPU por VM. 8GB de storage por VM y fijate si llegás.