Como alguien que ha pasado (y fallado) distintos exámenes de Red Hat, estoy en condiciones de revelar en exclusiva (?) que es lo que hay que tener para lograr la ansiada certificación: mucho culo mucha práctica. Realmente mucha práctica, y este post se trata de facilitar la obtención de esa práctica.
Primero que nada, debido al acuerdo de confidencialidad que aceptan cuando rinden cualquier examen de Red Hat, no pueden brindar detalles sobre los contenidos del mismo. Lo que si se puede hacer es hablar sobre los objetivos de los exámenes, algo que en los casos del EX200 y EX300 (los más populares, ya que brindan las certificaciónes RHCSA y RHCE respectivamente) están disponibles acá:
- http://www.redhat.com/es/services/training/ex200-red-hat-certified-system-administrator-rhcsa-exam
- http://www.redhat.com/es/services/training/ex300-red-hat-certified-engineer-rhce-exam
Antes de comenzar a practicar, resulta fundamental averiguar la versión de sistema operativo en que está basado el examen en que están anotados. De poco sirve practicar network teaming o firewalld (features de RHEL7) si cuando llega el examen te enteras que está basado en RHEL6. El ambiente de práctica que voy a describir a continuación está enteramente basado en CentOS7, así que es compatible con un examen de RHEL7.
Para poder ejecutar todos los objetivos del examen vamos crear la siguiente infraestructura virtual:
O sea que vamos a:
- Crear una red interna para poder conectar el ambiente de práctica, sin interferir con la red pública del host, ni tener acceso directo a internet.
- Crear un servidor de infraestructura de red, que automaticamente proveerá servicios de:
- DHCP: Prove direcciones IP desde 10.11.1.100 a 10.11.1.109 para los “labos”.
- DNS: Provee resolución de nombres directa y reversa para la zona example.com (los equipos mencionados en el punto anterior).
- Kerberos: Un servidor kerberos listo para ser utilizado en autenticación de usuarios y recursos de red, como NFS.
- LDAP: Servidor que provee información de usuarios y grupos pre-cargados en un DN dc=example,dc=com.
- Yum: El iso que uso para instalar el server, queda montado y disponible como repositorio yum para instalar el sistema operativo y paquetes adicionales en los labos.
- PXE: Y lo mejor de todo, al instalar server, éste queda configurado como servidor PXE, así que todos los labos pueden instalarse y reinstalarse en minutos con un kickstart mínimo.
Una aclaración antes de seguir. Saber configurar un server Kerberos, DHCP o LDAP es muy valorable, pero créanme que si no es un objetivo del examen que van a dar (y no lo es en EX200 y EX300), les va a convenir no concentrarse en esa tarea por ahora, es por eso que la instalación del server se encarga de todo a través del kickstart, para que no pierdan tiempo configurando lo mínimo e indispensable. Por otra parte, este proceso permite reinstalar el ambiente completo cuantas veces quieran, dejándolo siempre en el punto de partida.
Ahora sí, suponiendo que arrancan casi de cero, y solo tienen un servidor físico corriendo RHEL/CentOS 6 o 7, éste es el procedimiento completo para usar este ambiente de práctica:
- Instalar la plataforma de virtualización:
virthost[/opt/centos7]# yum group install "Virtualization Host"
- Iniciar libvirtd:
virthost[/opt/centos7]# systemctl enable libvirtd ln -s '/usr/lib/systemd/system/libvirtd.service' '/etc/systemd/system/multi-user.target.wants/libvirtd.service' virthost[/opt/centos7]# systemctl enable libvirt-guests ln -s '/usr/lib/systemd/system/libvirt-guests.service' '/etc/systemd/system/multi-user.target.wants/libvirt-guests.service' virthost[/opt/centos7]# systemctl start libvirtd virthost[/opt/centos7]#
Notarán que libvirtd inició, por defecto, un bridge llamado virbr0:
virthost[/opt/centos7]# ip addr show virbr0 27: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:12:a4:47 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever
Esa red sirve para conectar las maquinas virtuales con la red pública del equipo, por lo que no queremos usarla en nuestros servidores “labo”.
- Descargar la imágen iso de CentOS7 de acá, y guardarla en /opt/centos7
- Descargar el archivo tar que contiene el kickstart de instalación, la definición de los equipos virtuales y la red interna de acá. Luego de descomprimirlo en /opt/centos7, deberían tener estos archivos:
virthost[/opt/centos7]# wget -q -O Example.tgz http://bit.ly/1GunC4m virthost[/opt/centos7]# tar -xzf Example.tgz virthost[/opt/centos7]# ll total 4209696 -rw-r--r--. 1 root root 4310695936 Apr 20 16:01 CentOS-7-x86_64-DVD-1503-01.iso -rw-r--r--. 1 root root 215 Apr 20 16:00 internal.xml -rw-r--r--. 1 root root 2355 Apr 20 18:59 labo100.xml -rw-r--r--. 1 root root 16360 Apr 23 15:57 server.ks -rw-r--r--. 1 root root 2941 Apr 20 16:13 server.xml virthost[/opt/centos7]#
- Crear la red interna, a la que server.example.com va a dar los servicios básicos:
virthost[/opt/centos7]# cat ./internal.xml <network> <name>internal</name> <bridge name='virbr1' stp='on' delay='0' /> <mac address='52:54:00:05:4e:d3'/> <domain name='internal'/> <ip address='10.11.1.1' netmask='255.255.255.0'></ip> </network> virthost[/opt/centos7]# virsh net-define ./internal.xml Network internal defined from ./internal.xml virthost[/opt/centos7]# virsh net-autostart internal Network internal marked as autostarted virthost[/opt/centos7]# virsh net-start internal Network internal started virthost[/opt/centos7]# ip addr show virbr1 72: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 52:54:00:05:4e:d3 brd ff:ff:ff:ff:ff:ff inet 10.11.1.1/24 brd 10.11.1.255 scope global virbr1 valid_lft forever preferred_lft forever
- Al igual que con la red, defino el server, y al menos un labo, con archivos xml previamente creados. Luego para crear otros labo pueden clonar el primero desde virt-manager.
virthost[/opt/centos7]# virsh define ./server.xml Domain server defined from ./server.xml virthost[/opt/centos7]# virsh define ./labo100.xml Domain labo100 defined from ./labo100.xml
- También debo crear los archivos que van a ser el disco rígido de cada máquina:
virthost[/opt/centos7]# qemu-img create -f raw /var/lib/libvirt/images/server.img 10G Formatting '/var/lib/libvirt/images/server.img', fmt=raw size=10737418240 virthost[/opt/centos7]# qemu-img create -f raw /var/lib/libvirt/images/labo100.img 10G Formatting '/var/lib/libvirt/images/labo100.img', fmt=raw size=10737418240
- Voy a exportar el directorio /opt/centos7, donde estoy trabajando, de manera que Anaconda pueda usar el kickstart que tengo preparado:
virthost[/opt/centos7]# cat /etc/exports /opt/centos7 *(ro) virthost[/opt/centos7]# virthost[/opt/centos7]# systemctl start nfs virthost[/opt/centos7]# exportfs -a
- Finalmente, en virt-manager, enciendo el server, y al iniciar desde el iso, voy a modificar la entrada que dice “Install CentOS7” de la siguiente manera, para que apunte al kickstart:
Luego le dan enter y esperan a que el kickstart haga lo suyo. Cuando vean en la consola el prompt, ya pueden instalar un labo.
- Para instalar el labo definido anteriormente, simplemente le dan virsh start, o lo encienden desde virt-manager, y lo dejan iniciar por red, mostrando este menú:
Eso es todo! Ya pueden practicar todos los objetivos de los exámenes. Recuerden que para reinstalar un labo, solo tienen que volver a bootear por PXE. Para reinstalar el server, vuelven al paso 9 de este proceso. Así de simple. Por si las necesitan, todas las claves están en texto plano en el kickstart del server.
Y para finalizar, algunas recomendaciones sobre tareas que deberían probar en cada labo:
- Crear un archivo de configuración de repositorio en Yum, apuntando a http://server.example.com/pub/centos7/repo/
- Agregar una nueva placa de red y configurar teaming/bonding
- Configurar autenticación de usuarios usando LDAP y Kerberos
- Restringir el acceso al labo mediante firewalld (o iptables)
- Compartir directorios en server mediante NFS y/o Samba y configurarlos en labo usando Kerberos
- Y todo lo que diga la página de objetivos de cada exámen!
Éxito en los exámenes, y si tienen algún comentario o duda, no duden en contactarme.
17 thoughts on “Como practicar para exámenes de Red Hat (EX200 y EX300)”
groso Eric!!
Excelente Eric, todo a la perfección!!!
Gracias, me alegro que te sirva
muy buen tutorial con mucho contenido especifico
Gracias, espero te sirva, y éxito en los exámenes!
Hola Master,
que tipo de ambiente base/Add-Ons, debería instalar para este propósito?
buen material, saludos
Hola,
En el host necesitas un cpu con tecnología de virtualización ( flagsVT-x o AMD-V en Intel y AMD respectivamente), y tener instalado nfs-utils (para compartir el kickstart al server por nfs) y el grupo “Virtualization Host” (para poder correr las máquinas virtuales). Todo es parte del repositorio del SO, así que no necesitas ningún add-on.
Saludos,
Eric
Gracias por el aporte Eric, una consulta , cuanto de memoria necesitaria en mi portatil para levantar este laboratorio ?
Con 2GB debería correr bien, quizá menos, sobre todo si tanto el host como las VMs usan el mismo SO (RHEL/CentOS 7) y ksm está activado.
los examenes de rhel 6 para rhcsa, son casi similares a los del rhle7 pra rhcsa
Cuanto es el puntaje minimo para pasar?
Yo no diría que son similares. Desde mi punto de vista, hubo muchos cambios de RHEL6 a RHEL7, más que en versiones anteriores. No te preocupes por el puntaje mínimo (además de que no se puede hablar sobre las cuestiones específicas de los exámenes). Te recomiendo que practiques todos los puntos usando esta guia, y los objetivos listados en https://www.certdepot.net/rhel7-rhcsa-exam-objectives/
tienes que sacar un 70% para tener el PASS, pero como vayas a quedarte al 70% estás fastidiado.
Mi consejo: Ve a por el 100%.
al bajar el archivo Example.tgz me baja el archivo vacío. no puedo continuar con el procedimiento :/ si puedes enviarmelo o subirlo nuevamente lo agradeceria.
Excelente aporte muchas gracias
Hola tengo un problema ejecutando virt-manager me podrias ayudar? el el proceso de carga del virtualizador me muestra el siguiente mensaje:
Warning failed to fetch kickstart from nfs:192.168.122.1:/opt/centos7/server.ks
y de alli en adelante no avanza no compendo porque
ya lo resolví de la siguiente forma:
#firewall-cmd –permanent –add-service=nfs zone=internal
#firewall-cmd –reload
y listo funcionó a practicar gracias.
Buenos dias
hay algun video sobre estos pasos?
el server me arranca bien , pero el labo no funciona, quisiera mirar mas al detalle