En los casos en los que no es factible ni práctico iniciar o usar scripts para automatizar el aprovisionamiento posterior de los sistemas, puede ser un desafío crear sistemas de prueba para usted o sus compañeros de trabajo. Por ejemplo, si intenta utilizar varios sistemas Red Hat Satellite para su propio aprendizaje, le llevaría mucho tiempo instalar una máquina virtual, sincronizar contenido, crear vistas de contenido, etc. ¿Qué pasa si finalmente construyes el sistema como quieres, pero mientras estudias, accidentalmente lo inutilizas? O está tratando de depurar un sistema cuando no sabe cómo funciona en primer lugar o está pasando por el largo proceso de reconstruirlo desde cero. Si pone estos sistemas a disposición de sus compañeros de trabajo, aumenta la probabilidad de que un sistema quede inutilizable.
[ También te puede interesar: Administrador de volúmenes lógicos (LVM) versus partición estándar en Linux]
Como solución a estos desafíos, utilicé instantáneas de Logical Volume Manager (LVM). Para comenzar, primero creé una nueva máquina virtual (VM) cuyo almacén de respaldo era un volumen lógico. Instalé el sistema operativo, configuré los servicios y configuré el sistema como una imagen dorada . Luego tomé una instantánea del LVM e inicié la máquina virtual desde esa instantánea. Cuando el sistema necesitaba restablecerse al estado dorado, era un proceso simple de destruir y eliminar la VM actual y crear una nueva instantánea. Entonces podría iniciar la máquina virtual desde esa instantánea recreada.
Para que esto sea más accesible para los usuarios, se creó una WebUI que usaba componentes PEAR, PHP y sudo
acceso para que Apache ejecute el lvremove
predeterminado , lvcreate
, virsh
y xm
comandos Además, se crearon dos scripts personalizados, uno de los cuales simplemente SSH a la VM y ejecutaría who
para ver si alguien lo estaba usando, y el otro era un script que ejecutaría esos comandos LVM para virsh destroy $1
, lvremove /dev/vgvms/$1.ss -f
y luego lvcreate -L +5G -s -n $1.ss /dev/vgvms/$1.gold
. Con este método, era importante asegurarse de que el nombre de la VM coincidiera con el nombre del LVM y que la instantánea fuera *.ss
con la imagen dorada nombrada como *.gold
.
Tenía un pequeño título con un enlace a lorenz , que era un sistema que usaba el mismo tipo de configuración pero era un hipervisor para clientes RHEL básicos, no para servidores Satellite. La tabla principal en WebUI se completa con el código:
if(is_array($inactive_guests)) {
foreach ($inactive_guests as $key=>$value) {
$tpl->setVariable(array(
'server_name' => $key,
'virsh_status' => $value['status'],
'fqdn' => $value['fqdn'],
'userinfo' => $value['userinfo'],
'notes' => $value['notes'],
'inactivecontrols' => inactive_controls($key)));
$tpl->parse('inactiveserver');
}
}
La WebUI muestra esos campos para cada sistema, dando este resultado:
Las principales ventajas de este método son que puede restaurar rápidamente a un buen estado conocido, WebUI informa si alguien está usando un sistema en particular y es un sistema sencillo de configurar. Sin embargo, algunos de los inconvenientes son que requiere bastante almacenamiento y no hay forma de reservar un sistema para evitar que otra persona lo use o lo restaure a su estado dorado. Sin embargo, con un poco de desarrollo adicional, esos problemas podrían solucionarse.
Los créditos por el desarrollo inicial de este proyecto son para Jeremy Agee y Patrick Wiggins. Puede descargar el código fuente de WebUI.
[ Curso gratuito:Resumen técnico de Red Hat Satellite. ]