Red Hat Training
A Red Hat training course is available for Red Hat Satellite
Guía de iniciación
Aprovisionamiento e Implementación con Red Hat Network Satellite
Edición 2
Red Hat Engineering Content Services
Resumen
Capítulo 1. Introducción
Definiciones
- Kickstarting
- El proceso de instalación automática de un sistema de Red Hat que requiere una mínima intervención del usuario. En términos técnicos, kickstart se refiere a un mecanismo en el programa de instalación de Anaconda que permite la escritura en el instalador de una descripción concisa del contenido y configuración de una máquina , en la que luego actúa. La definición concisa del sistema se conoce como Perfil Kickstart.
- Perfil Kickstart
- El archivo kickstart es un archivo de texto que especifica todas las opciones necesarias para instalar una máquina con kickstart, incluidas la información sobre particiones, configuración de red y paquetes a instalar. En Satélite de RHN, un perfil de Kickstart es un superconjunto de una definición kickstart de Anaconda tradicional, ya que la implementación de Satélite se crea en mejoras de Cobbler para instalación con kickstart. Un perfil Kickstart presume la existencia de un árbol de Kickstart.
- Árbol Kickstart
- Los archivos de software y soporte necesarios para kickstart una máquina. Este árbol también se llama un "árbol de instalación". Es por lo general la estructura de directorio y archivos obtenidos de los medios de instalación que se distribuyen con un lanzamiento determinado. En terminología de Cobbler, un árbol de Kickstart es parte de una Distro - abreviación de distribution.
- PXE (Preboot eXecution Environment)
- Un protocolo de bajo nivel que hace posible instalar con kickstart máquinas vacías (por lo general físicas o reales,) encendidas sin preconfiguración de la máquina de destino. PXE depende de un servidor DHCP para informar a clientes acerca de servidores bootstrap (para propósitos de este documento, instalaciones de Satélite 5.5 o superiores). PXE debe estar soportado en el firmware de la máquina de destino para poder ser utilizado. Es posible usar las herramientas de virtualización y reinstalación de Satélite sin PXE, aunque PXE es muy útil para arrancar nuevas máquinas físicas o reinstalar máquinas que no están registradas al Satélite.
Aprovisionamiento de escenarios
- Nuevas instalaciones
- Aprovisionar un sistema que no haya tenido un sistema operativo instalado (también se conoce como instalaciones en vacío).
- Instalaciones virtuales
- Satélite soporta huéspedes KVM y Xen totalmente virtualizados y huéspedes Xen para-virtualizados.
- Reaprovisionamiento
- Los sistemas físicos y huéspedes pueden ser re-aprovisionados, siempre y cuando estén registrados a la misma instancia de Satélite. Consulte la Sección 2.5.2, “Re-aprovisionamiento”.
Capítulo 2. Kickstart
2.1. Paquetes requeridos
rhn-tools
koanspacewalk-koan
rhn-tools existente para acceder a estos paquetes desde su canal personalizado.
kernel e initrd estén en lugares específicos dentro del árbol kickstart. Sin embargo, estos sitios difieren según la arquitectura. La tabla a continuación explica las diferentes ubicaciones:
Tabla 2.1. Archivos de distribución requeridos por arquitectura
| Arquitectura | kernel | Imagen inicial de disco de RAM |
|---|---|---|
| IBM System z | RUTA_de_ÁRBOL/images/kernel.img | RUTA_de_ÁRBOL/images/initrd.img |
| PowerPC | RUTA_DE_ÁRBOL/ppc/ppc64/vmlinuz | RUTA_DE_ÁRBOL/images/pxeboot/vmlinux |
| Todas las demás arquitecturas | RUTA_DE_ÁRBOL/images/pxeboot/vmlinuz | RUTA_DE_ÁRBOL/images/pxeboot/initrd.img |
2.2. Árboles Kickstart
Procedimiento 2.1. Instalación automática de árboles kickstart
satellite-sync.
- Elija la distribución en la que desea basar sus kickstart y ubique ese canal de base de distribución junto con el canal de herramientas de RHN correspondiente.Por ejemplo, si desea utilizar Red Hat Enterprise Linux 5 para arquitectura x86, necesitará el canal
rhel-i386-server-5y su correspondiente canal de herramientas de RHNrhn-tools-rhel-i386-server-5. - Si se trata de un Satélite conectado, sincronice el Servidor satélite con los servidores de Red Hat directamente mediante
satellite-sync. Si el Servidor satélite se desconecta, deberá obtener los vaciados de canal desconectados desde los servidores de Red Hat y sincronizarlos con ellos. - La sincronización del canal automáticamente creará el árbol kickstart correspondiente a esa distribución.
Procedimiento 2.2. Instalación manual de árboles kickstart
- Copie la instalación ISO a su Servidor satélite y móntela en
/mnt/iso - Copie el contenido de la ISO en un sitio personalizado. Se recomienda crear un directorio dentro de
/var/satellitepara todas sus distribuciones personalizadas. Por ejemplo, copie el contenido de la distribución RHEL beta en/var/satellite/custom-distro/rhel-i386-server-5.3-beta/ - Use la interfaz de red del Satélite de RHN para crear un canal de software personalizado. Utilice Canales → Administrar canales de software → Crear nuevo canal para crear un canal principal con un nombre y etiqueta apropiados. Para el ejemplo anterior, use la etiqueta rhel-5.3-beta.
- Empuje los paquetes de software del sitio del árbol al canal de software recién creado mediante el comando
rhnpush:rhnpush --server=http://localhost/APP -c 'rhel-5.3-beta' \ -d /var/satellite/custom-distro/rhel-i386-server-5.3-beta/Server/
El subdirectorio dentro del árbol podría diferir según la distribución. - Una vez que los paquetes de software hayan sido empujados, pueden borrarse de la ruta de árbol mediante el comando
rm. Los paquetes aún se almacenan en el servidor de Satélite dentro del canal y ya no se requieren en el árbol.rm /var/satellite/custom-distro/rhel-i386-server-5.3-beta/Server/*.rpm
Nota
Puede elegir dejar los paquetes de software dentro del árbol kickstart. Así podrán ser instalados con el comandoyummás adelante. - Use la interfaz de red del Satélite de RHN para crear la distribución. Utilice Sistemas → Kickstart → Distribuciones → Crear nueva distribución para crear la distribución, con la etiqueta apropiada y la ruta de árbol completa (tal como
/var/satellite/custom-distro/rhel-i386-server-5.3-beta/. Seleccione el canal base creado anteriormente y la Generación de instalador correcta (tal como Red Hat Enterprise Linux 5). Para completar la creación, seleccione Crear distribución Kickstart. - Para mantener el mismo software a través de varios entornos y sistemas. el canal de herramientas de RHN de un canal base existente de Red Hat Enterprise Linux puede ser clonado como un canal hijo del canal base creado recientemente. La clonación de un canal hijo puede realizarse mediante:
- En la interfaz de red de Satélite, haga clic en Canales → Administrar canales de software → Clonar canal
- Elija el canal hijo que desea clonar desde la cuadro desplegable Clonar desde: y elija el estado del clon.
- Haga clic en Crear canal
- Complete la información necesaria y elija el canal padre en el que debe estar el canal hijo.
- Haga clic en Crear canal

Figura 2.1. Creación de una distribución Kickstart
2.3. Perfiles Kickstart
Procedimiento 2.3. Creación de perfil Kickstart con un asistente
- Seleccione Sistemas → Kickstart → Crear un nuevo perfil Kickstart
- Proporcione una Etiqueta apropiada, y elija el Canal de base deseado y el árbol para Kickstart
- Seleccione el Tipo de virtualización. Consulte la Tipos de virtualización para obtener mayor información sobre tipos de virtualización. Haga clic en Siguiente para continuar.
- Seleccione el sitio de descarga para el perfil kickstart. Si está utilizando una distribución personalizada, ingrese el sitio de su árbol como una URL (HTTP y FTP son compatibles), de lo contrario, use la opción predeterminada. Haga clic en Siguiente para continuar.
- Ingrese la contraseña de root y haga clic en terminar para completar la creación de perfil.
- El perfil kickstart completo será creado. Para ver el perfil, haga clic en Archivo Kickstart.
Procedimiento 2.4. Creación de perfiles Kickstart con el método crudo
- Seleccione Sistemas → Kickstart → Cargar un nuevo archivo Kickstart
- Proporcione una etiqueta apropiada, y elija la distribución deseada.
- Seleccione el Tipo de virtualización deseado. Consulte Tipos de virtualización para obtener mayor información sobre tipos de virtualización.
- Si tiene un perfil kickstart existente, cargue el archivo. De lo contrario, escriba el perfil kickstart en el cuadro de texto Contenido de archivo.A continuación, una muestra de Kickstart crudo que se puede utilizar como punto de partida:
install text network --bootproto dhcp url --url http://$http_server/ks/dist/org/1/ks-rhel-i386-server-5 lang en_US keyboard us zerombr clearpart --all part / --fstype=ext3 --size=200 --grow part /boot --fstype=ext3 --size=200 part swap --size=1000 --maxsize=2000 bootloader --location mbr timezone America/New_York auth --enablemd5 --enableshadow rootpw --iscrypted $1$X/CrCfCE$x0veQO88TCm2VprcMkH.d0 selinux --permissive reboot firewall --disabled skipx key --skip %packages @ Base %post $SNIPPET('redhat_register') - Debido a que el servidor de Satélite de RHN no maneja la distribución especificada como la
urlen kickstart, necesitará incluir la opciónurl --urlen su perfil, similar a lo siguiente:url --url http://satellite.example.com/ks/dist/org/1/my_distro
Remplacemy_distropor la etiqueta de distribución y1por su org id. - Los perfiles crudos kickstart usan
$http_serveren lugar del nombre de host de Satélite. Este se completará cuando se procese la plantilla kickstart. - El fragmento
redhat_registerse utiliza para manejar el registro.

Figura 2.2. Kickstart crudo
Todos los perfiles Kickstart tienen un tipo de virtualización asociado a ellos. Esta tabla resume las diferentes opciones:
Tabla 2.2. Tipos de virtualización
| Tipo | Descripción | Uso |
|---|---|---|
| ninguno | No virtualización | Use este tipo para aprovisionamiento normal de tipo, instalaciones vacías e instalación virtualizada que no son Xen o KVM (tales como VMware o Virtage) |
| Huésped virtualizado KVM | Huéspedes KVM | Use este tipo para aprovisionar huéspedes KVM |
| Huésped Xen totalmente virtualizado | Huéspedes Xen | Use este tipo para aprovisionar huéspedes Xen
Nota
Esta opción requiere soporte de hardware en el host, pero no requiere un sistema operativo en el huésped.
|
| Huésped Xen para-virtualizado | Huéspedes Xen | Use este tipo para aprovisionar un huésped virtual con paravirtualización XEN. La paravirtualización es el modo más rápido de virtualización. Requiere un indicador PAE en la CPU del sistema, y un sistema operativo modificado. Red Hat Enterprise Linux 5 soporta huéspedes en paravirtualización. |
| Xen Virtualization Host | Hosts Xen | Use este tipo para aprovisionar un host virtual con para-virtualización Xen. Los huéspedes Xen para-virtualizados y hosts tienen soporte si el hardware es compatible. |
kernel-xen en la sección %packages.
qemu en la sección %packages.
Nota
2.4. Plantilla
for y declaraciones if en los archivos kickstart. Esto se realiza mediante la herramienta cheetah.
- Para reutilizar una sección específica de un kickstart, tal como una sección de particionamiento de disco, entre múltiples kickstarts.
- Para realizar algunas acciones
%postde forma consistente a través de varios kickstarts. - Para definir un fragmento a través de varios roles de servidor tales como un servidor DNS, un servidor proxy y un servidor de red. Por ejemplo, un servidor de red tiene el siguiente fragmento definido:
httpd mod_ssl mod_python
Si desea crear un perfil de servidor de red, incluya el fragmento de servidor de red en la sección%packagede su archivo Kickstart. Para que un perfil sea tanto servidor de red como servidor de proxy, incluya ambos fragmentos en la sección de paquetes. Si desea añadir otro paquete al fragmento de servidor de red,mod_perlpor ejemplo, actualice el fragmento y todos los perfiles que lo están utilizando se actualizarán de forma dinámica.
La plantilla permite definir una variable que va a ser utilizada a través de un archivo kickstart. Las variables están sujetas a una forma de herencia que les permite establecerse en un nivel y sobrescribirse en niveles inferiores. Por lo tanto, si una variable se define a nivel del sistema, sobrescribirá la misma variable definida en el perfil o niveles de árbol kickstart. De la misma manera, si se define una variable en el nivel de perfil, sobrescribirá la misma variable definida en el nivel de árbol kickstart.
Nota
Los fragmentos reutilizan partes del código entre varias plantillas kickstart. Estas pueden extender muchas líneas e incluir variables. Pueden incluirse en un perfil kickstart mediante el texto $SNIPPET('snippet_name'). Puede crear un fragmento para una lista de paquetes, para un %post script o para cualquier texto que normalmente se incluiría en un archivo kickstart.
/var/lib/cobbler/snippets/. Hay una plantilla del kickstart con asistente de estilo en /var/lib/rhn/kickstarts/wizard/, la cual explica los diferentes fragmentos y su uso.
redhat_register es un fragmento predeterminado que sirve para registrar máquinas a un servidor de Satélite de RHN como parte de un kickstart. Utiliza una variable especial llamada redhat_management_key para registrar la máquina. Para usar el fragmento, establezca la variable redhat_management_key en cualquier sistema, perfil o nivel de distribución y luego añada $SNIPPET('redhat_register') a una sección de kickstart %post. Cualquier kickstart con asistente de estilo generado por el servidor de Satélite de RHN ya incluirá el fragmento en la sección %post.
/var/lib/rhn/kickstarts/snippets/. El servidor de Satélite de RHN almacena fragmentos para diferentes organizaciones en diferentes directorios, con el fin de que los fragmentos personalizados sean almacenados con un nombre de archivo similar al siguiente, donde 1 es la ID de la organización:
$SNIPPET('spacewalk/1/snippet_name')
Nota

Figura 2.3. Fragmentos Kickstart
Los caracteres $ y # se utilizan durante el plantillado para especificar variables y controlar el flujo. Si necesita estos caracteres para cualquier otro propósito en un script, necesitará escaparlos para que no sean reconocidos como variables. Esto se puede realizar en varias formas:
- Sitúe un carácter de barra invertida (
\) antes de cada instancia de$o#que necesite ser ignorada durante el emplantillado. - Envuelva el script entero en
#raw ... #end rawTodos los scripts%prey%postcreados mediante los Kickstarts con asistentes de estilo vienen en#raw...#end rawpor defecto. Esto se puede alternar mediante la casilla de verificación de Plantilla disponible durante la edición de un script%posto%pre. - Incluya
#errorCatcher Echoen la primera línea del fragmento.
Ejemplo 2.1. Escape de caracteres especiales en plantillas
%post:
%post echo $foo > /tmp/foo.txt
$, el motor de plantilla tratará de hallar una variable llamada $foo y fallará debido a que foo no existe como variable.
$ es utilizar un caracter de doble barra invertida (\):
%post echo \$foo > /tmp/foo.txt
\$foo se procese como $foo.
#raw ... #end raw, así
%post #raw echo $foo > /tmp/foo.txt #end raw
#errorCatcher Echo en la primera línea de su plantilla kickstart. De este modo le pide al motor de plantilla que ignore las variables inexistentes y que imprima el texto tal como está. Esta opción ya se incluye en los kickstart con asistente de estilo, pero también se puede incluir en los kickstart crudos que usted mismo crea.
2.5. Instalación de una máquina con Kickstart
2.5.1. Kickstarting desde una máquina vacía
- Medios de instalación del sistema operativo estándar
- Arranque PXE
Procedimiento 2.5. Arranque desde medios de instalación
- Inserte el medio de instalación en la máquina. Los medios deben coincidir con el kickstart que va a usar. Por ejemplo, si su kickstart estaba configurado para usar el árbol de kickstart
ks-rhel-i386-server-5-u2, use el medio de instalación de Red Hat Enterprise Linux 5.2 i386. - Cuando se le indique arrancar, active el kickstart con el siguiente comando:
linux ks=http://satellite.example.com/path/to/kickstart
- Cuando el sistema arranque, descargará el kickstart e instalará en forma automática.
Procedimiento 2.6. Arranque PXE
Importante
Si tiene un servidor DHCP implementado en otro sistema en la red, necesitará acceso administrativo al servidor DHCP para editar el archivo de configuración DHCP.Si sus máquinas residen en varias redes, necesitará asegurarse de que todas las máquinas puedan conectarse al servidor DHCP. Esto puede realizarse al multialojar al servidor DHCP (mediante un VLAN truncado o real) y configurar los enrutadores o interruptores para pasar el protocolo DHCP a través de los límites de red.Configure el servidor DHCP para que apunte al servidor PXE, estableciendo la direcciónnext-serverpara los sistemas que desea que sean administrados por el Satélite de RHN.Para usar nombres de host durante la instalación, configure el servidor DHCP para indicar el dominio y las direcciones IP, incluya las siguientes líneas:option domain-name DOMAIN_NAME; option domain-name-servers IP_ADDRESS1, IP_ADDRESS2;
- En el servidor DHCP, cambie a usuario root y abra el archivo
/etc/dhcpd.conf. Añada una nueva clase con opciones para realizar una instalación de arranque PXE:allow booting; allow bootp; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.2.1; filename "pxelinux.0"; }Esta clase realizará las siguientes acciones:- Habilita el arranque de red con el protocolo
bootp. - Cree una clase llamada
PXE. Si un sistema está configurado para que tenga a PXE primero en su prioridad de arranque, se identificará comoPXEClient. - El servidor DHCP dirige el sistema al servidor de Cobbler en la dirección IP 192.168.2.1
- El servidor DHCP se refiere al archivo de imagen de arranque en
/var/lib/tftpboot/pxelinux.0
- Configure Xinetd. Xinetd es un demonio que maneja un paquete de servicios, incluyendo TFTP, el servidor FTP utilizado para transferir la imagen de arranque al cliente PXE.Active Xinetd mediante el comando
chkconfig:chkconfig xinetd on
Alternativamente, puede pasar a usuario de root, abrir el archivo/etc/xinetd.d/tftp. Ubique la líneadisable = yesy cámbiela adisable = no. - Inicie el servicio Xinetd para que TFTP pueda comenzar sirviendo a la imagen de arranque
pxelinux.0:chkconfig --level 345 xinetd on /sbin/service xinetd start
El comandochkconfigactiva el servicioxinetdpara todos los niveles de ejecución y el comando/sbin/serviceactiva inmediatamentexinetd.
2.5.2. Re-aprovisionamiento
Ejemplo 2.2. Configuración de opciones de kernel y opciones de post kernel
vnc vncpassword=CONTRASEÑA en la línea de Opciones de Kernel.
noapic, añada noapic a la línea de Opciones Post Kernel.
Procedimiento 2.7. Preservación de archivos
Nota
- Vaya a Sistemas → Kickstart → Preservación de archivos → Crear nueva lista de preservación de archivos y crear una lista de archivos a preservar.
- Vaya a Sistemas → Kickstart → Perfiles y asocie la lista de preservación de archivo con un kickstart seleccionando el perfil deseado.
- Vaya a Información de sistema → Preservación de archivo y seleccione la lista de preservación de archivo.
2.5.3. Aprovisionamiento de Huésped virtualizado
- Huésped virtualizado KVM
- Huésped Xen totalmente virtualizado
- Huésped Xen para-virtualizado
Procedimiento 2.8. Aprovisionamiento de huésped virtualizado
- Verifique si el sistema de host tiene derecho de Virtualización o de Plataforma de virtualización.
- En la página Sistemas, seleccione el host virtual apropiado, luego seleccione Virtualización → Aprovisionamiento. Seleccione el perfil kickstart apropiado e ingrese el nombre de huésped.
- Si desea configurar parámetros adicionales tales como memoria de huésped y uso de CPU, haga clic en el botón de Configuración avanzada. Las siguientes opciones pueden ser configuradas:
- Red estática o DHCP
- Opciones de kernel
- Sincronización de perfil de paquetes: cuando el kickstart termina, el sistema sincronizará su perfil de paquete al del otro sistema o perfil almacenado
- Asignación de memoria: (Predeterminada a 512MB)
- Tamaño de disco virtual
- CPU virtuales (Predeterminado a 1)
- Puente virtual: El puente de red utilizado para instalación. Se predetermina a
xenbr0para aprovisionamiento Xen yvirbr0para KVM.Nota
El puente de redvirbr0no permitirá conexión de red externa. Si requiere conexión de red externa, configure el host para crear un verdadero puente en su lugar. Sin embargo,xenbr0es el puente real y se recomienda usarlo cuando sea posible. - Ruta de almacenamiento virtual: Ruta a otro archivo, Volumen lógico LVM, directorio o dispositivo de bloque con el cual almacenar la información de disco de huésped, como por ejemplo
/dev/sdb,/dev/LogVol00/mydisk,VolGroup00, o/var/lib/xen/images/myDisk.
- Haga clic en Programar Kickstart y finalizar
2.5.4. Aprovisionamiento a través de un Proxy de RHN
- Durante el aprovisionamiento de un huésped virtual o al reaprovisionar un sistema, elija el proxy deseado desde la cajilla desplegable Seleccionar Satélite Proxy.
- Para una instalación en vacío, remplace el nombre de dominio completamente calificado (FQDN) del Satélite de RHN por el FQDN del proxy. Por ejemplo, si la URL para el archivo kickstart es:
http://satellite.example.com/ks/cfg/org/1/label/myprofile
Luego kickstart a través del proxy, use:http://proxy.example.com/ks/cfg/org/1/label/myprofile
Capítulo 3. Varios satélites
Requerimientos de ISS
- Dos o más servidores de Satélite de RHN
- Por lo menos un Satélite de RHN poblado con un canal
- Para conexiones seguras, cada Satélite de RHN esclavo también requerirá un certificado del Satélite de RHN maestro
3.1. Sincronización intersatelital (ISS)
Procedimiento 3.1. Configuración del servidor maestro
- Habilite la funcionalidad de sincronización intersatelital (ISS). Abra el archivo
/etc/rhn/rhn.confy añada o corrija la siguiente línea para que se lea:disable_iss=0
- En el archivo
/etc/rhn/rhn.conf, localice la líneaallowed_iss_slaves=. Por defecto, no se especifican satélites esclavos para sincronización . Ingrese el nombre de host de cada servidor satélite esclavo, separado por comas:allowed_iss_slaves=slave1.satellite.example.org,slave2.satellite.example.org
- Guarde el archivo de configuración y reinicie el servicio
httpd:service httpd restart
Procedimiento 3.2. Configuración de servidores esclavos
- Para configurar servidores esclavos de forma segura, requerirá el certificado
ORG-SSLdel servidor maestro. Puede descargar el certificado HTTP desde el directorio/pub/de cualquier satélite. El archivo se llamaRHN-ORG-TRUSTED-SSL-CERT, pero puede cambiarle el nombre y colocarlo en el sistema de archivos local del esclavo, como por ejemplo en el directorio/usr/share/rhn/. - Vea la lista de canales disponibles para sincronización desde el servidor maestro con el siguiente comando. Se desplegarán los canales oficiales de Red Hat y los canales personalizados disponibles:
satellite-sync --iss-parent=master.satellite.example.com --ca-cert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --list-channels
Remplace master.satellite.example.com por el nombre de host del servidor maestro.
Procedimiento 3.3. Cómo se realiza una sincronización Intersatelital
- En los servidores esclavos, abra el archivo
/etc/rhn/rhn.confen su editor de texto preferido y añada el nombre de host de servidor maestro y la información de ruta de archivo del certificado SSL:iss_parent = master.satellite.example.com iss_ca_chain = /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
- Comience la sincronización ejecutando el comando
satellite-sync:satellite-sync -c your-channel
Nota
Las opciones de línea de comandos que usted proporciona con el comandosatellite-syncsobrescribirán cualquier parámetro personalizado en el archivo/etc/rhn/rhn.conf.
3.2. Sincronización empresarial
- Si la fuente de contenido pertenece a la organización
NULL(cualquier contenido de Red Hat;) se predeterminará a la organizaciónNULL, incluso si se especifica la organización de destino. De esta manera, se garantiza que el contenido especificado esté siempre en esa organización privilegiadaNULL. - Si una organización se especifica en la línea de comandos, se importará el contenido desde esa organización.
- Si no se especifica ninguna organización, se predeterminará a la organización 1.
orgid) se utilizan para sincronizar satélites:
Ejemplo 3.1. Importar contenido del satélite maestro al satélite esclavo:
satellite-sync --parent-sat=master.satellite.example.com -c channel-name --orgid=2
Ejemplo 3.2. Importar contenido desde un volcado exportado de una organización
$ satellite-sync -m /dump -c channel-name --orgid=2
Ejemplo 3.3. Importar contenido desde Red Hat Network Hosted
$ satellite-sync -c channel-name
3.3. Casos de uso ISS
Ejemplo 3.4. Satélite de ensayo


- Ejecute el comando
satellite-syncpara sincronizar datos con rhn_parent (por lo general Red Hat Network Hosted):satellite-sync -c your-channel
- Ejecute el siguiente comando para sincronizar datos desde el servidor de ensayo:
satellite-sync --iss-parent=staging-satellite.example.com -c custom-channel
Ejemplo 3.5. Esclavos sincronizados

Ejemplo 3.6. Contenido personalizado de esclavo

Ejemplo 3.7. Sincronización bidireccional

- Asegúrese de que ambos satélites puedan compartir los certificados SSL.
- En el primer satélite, abra el archivo
/etc/rhn/rhn.confy establezca la opcióniss_parentpara señalar el nombre de host del segundo satélite. - En el segundo satélite, abra el archivo
/etc/rhn/rhn.confy establezca la opcióniss_parentpara señalar al nombre de host del primer Satélite.
Capítulo 4. Métodos y comandos API avanzados
4.1. XML-RPC API
Tabla 4.1. Métodos XML-RPC
| Espacio de nombre XML-RPC | Uso |
|---|---|
kickstart | Crea, importa y borra perfiles kickstart. También se usa para listar los árboles y perfiles de kickstart disponibles. |
kickstart.tree | Crea, renombra, actualiza y borra árboles kickstart. |
kickstart.filepreservation | Lista, crea y borra listas de preservación de archivos que pueden estar asociadas a un perfil kickstart. Una vez se haya creado una lista de preservación de archivos, puede asociarse a un perfil kickstart llamando al método API kickstart.profile.system.add_file_preservations. |
kickstart.keys | Lista, crea y elimina llaves criptográficas (GPG/SSL) que pueden asociarse a perfiles kickstart diferentes.
Nota
Una vez se haya creado la llave criptográfica, se puede asociar con un perfil kickstart llamando al método API kickstart.profile.system.add_keys.
|
kickstart.profile | Manipula rangos IP, cambia el árbol kickstart y el canal de canales hijos, descarga archivos kickstart asociados a un perfil, manipula opciones avanzadas, manipula opciones personalizadas y añade pre/post scripts asociados a un perfil kickstart. |
kickstart.profile.keys | Lista, añade (asocia) y elimina (desasocia) llaves de activación asociadas con un perfil kickstart. |
kickstart.profile.software | Manipula la lista de paquetes asociados a un perfil kickstart. |
kickstart.profile.system | Maneja preservaciones de archivos, llaves criptográficas, activa/desactiva administración de configuración y comandos remotos, configura esquemas de particionamiento y establece la información regional asociada con un perfil de kickstart determinado. |
system.provision_systemsystem.provision_virtual_guest
https://satellite.example.com/rpc/api.
4.2. Cobbler
Tabla 4.2. Comandos de Cobbler
| Comando | Uso |
|---|---|
cobbler profile list | Ejecute este comando en el host del Satélite de RHN para mostrar la lista de perfiles |
cobbler distro list | Para obtener una lista de árboles Kickstart, discos RAM y otras opciones |
cobbler system list | Mostrar una lista de los registros de sistema, creados cuando se programa un kickstart |
cobbler profile report --name=profile-name or cobbler system report --name=system-name | Para mostrar salida más detallada acerca de un objeto específico |
cobbler profile edit --name=profile-name --virt-ram=1024 | Edita varios parámetros. Este ejemplo asignara a cada instalación virtualizada de un determinado perfil 1GB de RAM. |
cobbler system edit --name=system-name --netboot-enabled=1 | Forzar al sistema a ser reinstalado en el siguiente reinicio |
cobbler system edit --name=system-name --profile=new-profile-name --netboot-enabled=1 | Asignar un sistema a un nuevo perfil para reinstalación |
cobbler system find --profile=profile-name | Listar todos los sistemas asignados a un perfil |
cobbler system find --profile="abc" | xargs -n1 --replace cobbler system edit \ --name={} --profile="def" --netboot-enabled=1 | Asignar todos los sistemas actualmente configurados al perfil def y reinstalarlos la próxima vez que se reinicien |
cobbler profile edit --name=profilename --kopts="variablename=3" --in-place | Establecer una variable de plantilla adicional en un perfil sin modificar ninguna de las otras variables |
cobbler system edit --name=systemname --kopts="selinux=disabled asdf=jkl" | Asignar varias variables al registro del sistema, e ignorar las variables anteriores que podrían configurarse |
cobbler profile find --name="*webserver*" | xargs -n1 --replace cobbler profile edit --name={} --profile="RHEL5-i386" | Establecer todas las nuevas instalaciones de los perfiles que contengan webserver como una cadena para usar un perfil llamado RHEL5-i386 |
Solo hay unos pocos parámetros Cobbler que deben cambiarse directamente en /etc/cobbler/settings. Entre ellos está pxe_just_once (descrito en Procedimiento 4.3, “Configuración de Cobbler para usar PXE”). La opción server también puede cambiarse para reflejar la dirección o el nombre del servidor de Satélite de RHN.
/etc/cobbler/settings, ejecute el siguiente comando para activar los cambios:
/sbin/service cobblerd restart cobbler sync
Importante
/etc/cobbler/settings. El servidor satélite de RHN requiere que este archivo permanezca con una cierta configuración, determinada por el instalador de Satélite de RHN. Del mismo modo, el archivo /etc/cobbler/modules.conf, debe permanecer como fue creado por el instalador del Satélite de RHN. En particular, el módulo de autenticación debe permanecer como authn_spacewalk y no se debe cambiar.
Procedimiento 4.1. Configuración de SELinux para usar con Cobbler
- Para habilitar SELinux para obtener soporte Cobbler, debe establecer el booleano que permita los componentes de servicio de red HTTPD, mediante el siguiente comando:
setsebool -P httpd_can_network_connect true
El interruptor-Pes esencial, ya que permite la conexión persistente de HTTPD a través de los reinicios de sistema. - Establezca las reglas de contexto del archivo SELinux para que TFTP sirva el archivo de imagen de arranque, mediante el siguiente comando en el servidor Cobbler:
semanage fcontext -a -t public_content_t "var/lib/tftpboot/.*"
- Debe configurar IPTables para permitir el tráfico de red de entrada y salida en el servidor Cobbler.Si existe una serie de reglas de cortafuegos que usan IPTables, añada las siguientes reglas para abrir los puertos relacionados con Cobbler, así:Para TFTP:
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
Para HTTPD:/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
Para Cobbler:/sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 25150 -j ACCEPT
Para Koan:/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25151 -j ACCEPT
- Guarde la configuración de firewall:
/sbin/iptables-save
- Para asegurarse de que todos los archivos de configuración estén sincronizados ejecute el siguiente comando:
cobbler sync
- Inicie el servidor de satélite:
/usr/sbin/rhn-satellite start
Aviso
No inicie o detenga el serviciocobblerdindependiente del servicio de Satélite que al hacerlo puede causar errores y otros problemas.Siempre utilice/usr/sbin/rhn-satellitepara iniciar o detener el Satélite de RHN.
Procedimiento 4.2. Configuración de registros de sistema de Cobbler
- Vaya a Información del sistema → Aprovisionamiento para cada sistema y seleccione el perfil kickstart con el que debe estar asociado.
- Haga clic en el botón Crear registro de sistema Cobbler para hacer la asociación.
- Esta asociación permanecerá indefinidamente en su lugar para establecer la opción
pxe_just_oncea verdadera para cualquiera de las máquinas dadas. En ese caso, la asociación se terminará después de un kickstart exitoso. Vea el Procedimiento 4.3, “Configuración de Cobbler para usar PXE” para obtener mayor información.
Procedimiento 4.3. Configuración de Cobbler para usar PXE
pxe_just_once.
- A menudo el orden BIOS se establecerá para que el arranque PXE sea primero. Esto no significa que el sistema no arrancará fuera del disco local a menos que el servidor PXE le instruya de forma remota. Esta configuración puede crear un bucle de arranque, donde el sistema se reinstale de forma continua.Para evitar bucles de arranque, abra el archivo
/etc/cobbler/settingsy añada la siguiente línea:pxe_just_once: 1
Esta configuración añade un macro$kickstart_doneen la plantilla kickstart, la cual le dice al sistema que arranque de forma local después de que haya completado la instalación, en lugar de arrancar desde la red. - Si incluye el parámetro
pxe_just_once: 1, y desea reinstalar el sistema posteriormente, no olvide cambiar el indicadornetboot-enableden el sistema. Esto puede realizarse mediante la interfaz de red del Satélite de RHN o directamente en Cobbler. Cuando el sistema vuelve a arrancar, realizará la instalación de PXE y luego volverá a arrancar desde el disco local hasta que se restablezca el indicador.Si el BIOS se establece para arrancar desde discos duros locales, no hay necesidad de tener activadopxe_just_once. Sin embargo, para reaprovisionar el sistema con PXE, será necesario llevar a cero el MBR (master boot record/Gestor de arranque maestro).
Denominación de convenciones
- Distribuciones
$tree_name:$org_id:$org_name(si han sido creadas en forma manual)$tree_name(Si es sincronizada por Satélite de RHN)- Perfiles
$profile_name:$org_id:$org_name
Importante
Nota
/var/log/cobbler/
4.3. Koan
koan (kickstart en una red) es una herramienta de cliente que permite a Satélite de RHN ser accedido de forma remota desde hosts que ya han sido aprovisionados. Koan le permite realizar aprovisionamiento de kickstart, crear huéspedes virtuales (en hosts virtuales) y listar los kickstarts disponibles desde Satélite de RHN. Está disponible en el paquete de koan.
Tabla 4.3. Comandos Koan
| Comando | Uso |
|---|---|
man koan | Leer la página de manual koan |
koan --replace-self --server=satellite.example.org --profile=profile-name o koan --replace-self --server=satellite.example.org --system=system-name | Reaprovisionar un sistema existente. Reinicia después de ejecutar este comando para instalar el nuevo sistema operativo. También sirve para actualizar kickstarts (por ejemplo, para actualizar una gran cantidad de máquinas de una versión de Red Hat Enterprise Linux a la siguiente). |
koan --virt --server=satellite.example.org --profile=profile-name o koan --virt --server=satellite.example.org --system=system-name | Aprovisionar un huésped virtual |
koan --list=profiles --server=satellite.example.org o koan --list=systems --server=satellite.example.org | Llamar a Cobbler para mostrar una lista de perfiles o sistemas disponibles para instalación remota |
Nota
/var/log/koan.
Capítulo 5. Detección y solución de problemas
- 5.1. Interfaz de red
- 5.2. Anaconda
- 5.3. Trazabilidad
- 5.4. Registro
- 5.5. Kickstarts y Fragmentos
5.1. Interfaz de red
/var/log/tomcat5/catalina.out.
/var/log/httpd/error_log.
5.2. Anaconda
Error downloading kickstart file. ¿Cuál es el problema y cómo debo corregirlo?
cobbler check y lea la salida, la cual debería ser algo así:
# cobbler check The following potential problems were detected: #0: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils? #1: yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils? #2: The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed #3: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them
cobbler check no proporciona ninguna respuesta, revise lo siguiente:
- Verifique si
httpdestá ejecutando:service httpd status - Verifique si
cobblerdestá ejecutando:service cobblerd status - Verifique si puede obtener el archivo kickstart mediante
wgetdesde un host diferente.wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
The file chkconfig-1.3.30.1-2.i386.rpm cannot be opened.. ¿Cuál es el problema y cómo debo corregirlo?
--url en el kickstart. Por ejemplo:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
200 OK. Puede hacerlo ejecutando wget y el archivo localizado en esa URL:
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 --2011-08-19 15:06:55-- http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 Resolving satellite.example.com... 10.10.77.131 Connecting to satellite.example.com|10.10.77.131|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 0 [text/plain] Saving to: `ks-rhel-i386-server-5-u3.1' 2011-08-19 15:06:55 (0.00 B/s) - `ks-rhel-i386-server-5-u3.1' saved [0/0]
200 OK, revise el registro de errores para hallar el problema. También puede revisar el archivo real que Anaconda intentó descargar buscando el archivo access_log:
# grep chkconfig /var/log/httpd/access_log 10.10.77.131 - - [19/Aug/2011:15:12:36 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server /chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:12:36 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:14:20 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.77.131 - - [19/Aug/2011:15:14:20 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19"
access_log, el sistema puede estar teniendo problemas con la configuración de red. Si las solicitudes aparecen pero no generan errores, revise el registro de errores.
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm
5.3. Trazabilidad
Subject: WEB TRACEBACK from satellite.example.com Date: Wed, 19 Aug 2011 20:28:01 -0400 From: RHN Satellite <dev-null@redhat.com> To: admin@example.com java.lang.RuntimeException: XmlRpcException calling cobbler. at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:72) at com.redhat.rhn.taskomatic.task.CobblerSyncTask.execute(CobblerSyncTask.java:76) at com.redhat.rhn.taskomatic.task.SingleThreadedTestableTask.execute(SingleThreadedTestableTask.java:54) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) Caused by: redstone.xmlrpc.XmlRpcException: The response could not be parsed. at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:434) at redstone.xmlrpc.XmlRpcClient.endCall(XmlRpcClient.java:376) at redstone.xmlrpc.XmlRpcClient.invoke(XmlRpcClient.java:165) at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:69) ... 4 more Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://someserver.example.com:80/cobbler_api at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1236) at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:420) ... 7 more
taskomatic. Intente revisar lo siguiente:
- Verifique si
httpdestá ejecutando:service httpd status - Verifique si
cobblerdestá ejecutando:service cobblerd status - Asegúrese de que no haya reglas de cortafuegos que pueden impedir conexiones de
localhost
5.4. Registro
rhnreg_ks falla cuando lo ejecuto, dice:ERROR: unable to read system id. ¿Cuál es el problema?
%post que registra la máquina al Satélite de RHN:
# begin Red Hat management server registration mkdir -p /usr/share/rhn/ wget http://satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT perl -npe 's/RHNS-CA-CERT/RHN-ORG-TRUSTED-SSL-CERT/g' -i /etc/sysconfig/rhn/* rhnreg_ks --serverUrl=https://satellite.example.com/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --activationkey=1-c8d01e2f23c6bbaedd0f6507e9ac079d # end Red Hat management server registration
- Cree un directorio para albergar el certificado SSL personalizado por el Satélite de RHN.
- Busque el certificado SSL para usar durante el registro:
- Busque y remplace las cadenas del certificado SSL de los archivos de configuración
rhn-registery luego regístrese al Satélite de RHN mediante el certificado SSL y una llave de activación. Cada perfil kickstart incluye una llave de activación que garantiza que el sistema sea asignado a la base y a los canales hijos correctos, y obtenga los derechos de sistema apropiados. Si se trata de un reaprovisionamiento de un sistema existente, la llave de activación también garantizará la asociación con el perfil del sistema anterior.
rhnreg_ks falla, podría ver errores como este en en el registro de archivo ks-post.log:
ERROR: unable to read system id.
rhn_check y el sistema no se ha registrado al Satélite de RHN.
5.5. Kickstarts y Fragmentos
/var/lib/rhn/kickstarts/. Dentro de este directorio, los kickstarts crudos residen en el subdirectorio upload y los kickstart generados con asistente están en el subdirectorio wizard:
Raw Kickstarts: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg Wizard Kickstarts: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
/var/lib/rhn/kickstarts/snippets. Cobbler accede fragmentos mediante el enlace simbólico /var/lib/cobbler/snippets/spacewalk.
Snippets: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
Importante
Apéndice A. Revision History
| Historial de revisiones | |||||||
|---|---|---|---|---|---|---|---|
| Revisión 4-2.2.402 | Fri Oct 25 2013 | Rüdiger Landmann | |||||
| |||||||
| Revisión 4-2.2 | Mon Apr 8 2013 | Gladys Guerrero-Lozano | |||||
| |||||||
| Revisión 4-2.1 | Thu Feb 21 2013 | Gladys Guerrero | |||||
| |||||||
| Revisión 4-2 | Wed Sept 19 2012 | Dan Macpherson | |||||
| |||||||
| Revisión 4-1 | Thu Aug 9 2012 | Athene Chan | |||||
| |||||||
| Revisión 4-0 | Mon June 25 2012 | Athene Chan | |||||
| |||||||
| Revisión 3-0 | Thu May 31 2012 | Athene Chan | |||||
| |||||||
| Revisión 2-0 | Thu May 24 2012 | Athene Chan | |||||
| |||||||
| Revisión 1-3 | Mon Aug 15 2011 | Lana Brindley | |||||
| |||||||
| Revisión 1-2 | Wed Jun 15 2011 | Lana Brindley | |||||
| |||||||
| Revisión 1-1 | Fri May 27 2011 | Lana Brindley | |||||
| |||||||
| Revisión 1-0 | Fri May 6, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-8 | Thu May 5, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-7 | Thu April 14, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-6 | Wed March 23, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-5 | Tue March 22, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-4 | Tue March 22, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-3 | Mon March 21, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-2 | Thu March 17, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-1 | Wed Jan 5, 2011 | Lana Brindley | |||||
| |||||||
| Revisión 0-0 | Tue Dec 21, 2010 | Lana Brindley | |||||
| |||||||