Tema anterior: Instalación del dispositivo para Windows

Tema siguiente: Referencia de instalación de Windows


Instalación del kit para dispositivos para Windows

Para Windows Server 2003 (32 y 64 bits) y Windows Server 2008 (32 y 64 bits).

Archivos
Compatibilidad

Las versiones de apk-*-windows son compatibles con las distros de SO siguientes:

Para instalar el APK, se necesita lo siguiente:

Preparación de la imagen

Los pasos siguientes pueden variar, en función de cómo se instaló el SO originalmente. El script de configuración de APK no realiza estos pasos, que dependen de la discreción del operador que los realice. Algunos de estos pasos requieren acceso a GUI y puede que no sea posible la ejecución de un script automatizado en ellos. Otros pasos son invasivos y pueden ser destructivos. Por lo tanto, la ejecución de estos pasos en un script automatizado puede ser desaconsejable.

Omita los pasos que no sean apropiados.

  1. Desactive todos los elementos visuales de la experiencia del escritorio (menús animados, sombras, funcionalidad de arrastrar la ventana completa, etc.) para mejorar el funcionamiento en VNC o un escritorio remoto.
  2. Desactive el protector de pantalla y el bloqueo de pantalla.
  3. Establezca una contraseña fuerte para la cuenta del administrador.
  4. Desinstale o desactive todos los servicios del SO que no vaya a utilizar (por ejemplo, el servicio del explorador y el servicio del servidor).
  5. Instale todas las revisiones de actualizaciones de Windows (cada revisión requerirá un proceso de reinicio independiente).

    Nota: No instalar las actualizaciones en Windows 2008 puede dar lugar a un error del APK.

  6. Active la administración remota (mediante los servicios de terminal).

    Nota: La activación de la administración remota es diferente de la configuración del SO como Terminal Server. La configuración del SO como Terminal Server requiere licencias pagadas para cada cliente. Active la administración remota únicamente si éste es el uso intencionado de la instalación.

  7. Configure la red con una dirección IP a la que se pueda acceder públicamente. A continuación, se pueden realizar los pasos restantes mediante el escritorio remoto.
  8. Instale CygWin (www.cygwin.com). Realice la instalación como Administrador y haga clic en la opción de instalación para todos los usuarios. Añada por lo menos lo siguiente al conjunto base de paquetes: servidor de ssh. No configure usted mismo el servidor de sshd; permita que lo haga el APK.
  9. Asegúrese de que las siguientes utilidades de GNU estén instaladas (deberían estar en los paquetes base, pero compruébelo y añádalas si no es así): bash, wget, gzip y tar.
  10. Instale los controladores de dispositivos con reconocimiento de XEN (paravirtuales o PV), si lo desea. Si se utilizan controladores de PV, se recomienda el reinicio de Windows tras la instalación de los controladores y antes de instalar el APK. Verifique que los controladores PV funcionan normalmente.

Nota: Para la instalación mínima de Windows 2003 se necesita más de 1 GB de espacio en disco. Windows 2008 necesita casi 8 GB para la instalación completa (menos para el núcleo de servidor). Deje espacio suficiente para instalar CygWin y las revisiones de Windows Update (tenga presente que Windows conservará todas las versiones anteriores de los archivos binarios reemplazados por las revisiones). Verifique que quedan al menos de 5 a 10 MB de espacio disponible para la instalación del APK y para espacio adicional para archivos de registro, archivos temporales, etc.

Instalación del APK

Instale el APK en un sistema activo. No se puede instalar el APK para Windows en una imagen de disco de SO montada que en realidad no se esté ejecutando. Para obtener los mejores resultados, utilice una imagen del SO que tenga configurado el acceso de red externo e inicie sesión en ella mediante un cliente de escritorio remoto de su SO favorito (por ejemplo, rdesktop). Esto proporciona mejor funcionamiento interactivo que usar VNC para consultar la pantalla de vídeo con emulación de HVM.

  1. Inicie sesión como Administrador y abra un shell de CygWin.
  2. Copie los archivos del APK en el directorio /tmp.
  3. Cambie al directorio raíz de CygWin (/) y desempaquete el archivo binario del APK en el directorio raíz, por ejemplo:
    cd / gtar -zxf tmp/apk-2.0.10-windows.tar.gz 
    
  4. Ejecute el script de instalación:
    bash tmp/apk-install 
    

Debería completarse sin ningún mensaje de error. Si hay mensajes de error, compruebe los pasos de preparación anteriores y repita el procedimiento.

Nota: Ejecutar varias veces el script de instalación no entraña riesgos ni deteriorará la instalación de ninguna manera.

El script de instalación y el archivo tar del APK se pueden eliminar realizando lo siguiente:

  1. Ejecute el siguiente comando:
    rm tmp/apk-install  tmp/apk-*.tar.gz 
    
  2. Apague el sistema operativo.

Si la preparación de la imagen se ha llevado a cabo fuera de un grid de CA AppLogic, ahora la imagen se puede copiar en un grid y utilizarla para crear un dispositivo.

Si la imagen se ha creado en un grid como una nueva instalación de SO, desactive la opción de dispositivo no administrado deseleccionando la casilla de verificación de código de ingeniería de campo.

Verifique que el esquema del dispositivo esté establecido como hda/hdb/hdc/hdd para unidades de disco de IDE o sda/sdb/sdc/sdd para unidades de disco de SCSI (en el editor: modifique Límite, General, Modo de virtualización, Opciones avanzadas).

Información importante específica de Windows

Nombres de archivo

A menos que se indique otra cosa, los nombres de este documento pertenecen al espacio de nombres del archivo CygWin, que emula un sistema Posix.

Nota: Estos nombres no se pueden utilizar con ninguna utilidad que no sea Cygwin. Esto incluye los binarios del APK (vme y udlparse), así como todas las herramientas de línea de comandos de Windows nativas. La mayor parte de las utilidades de Cygwin aceptarán o un nombre CygWin (de tipo posix) o un nombre Windows (por ejemplo, C:\ruta\), a excepción de aquéllas que consideran que las cadenas que contienen ":" se refieren a nombreEquipo:nombreArchivo, tales como scp, rsync y, en especial, tar. A esta última se le puede forzar a aceptar un nombre Windows con la opción --force-local.

Para convertir un nombre de archivo entre los espacios de nombres de Windows y Cygwin, utilice cygpath.

windowspath=`cygpath -w /var/applogic/appliance.desc`

Montajes de disco

Al especificar un punto de montaje para discos, utilice los nombres siguientes, como desee:

X - una sola letra (A,B,D-Z) hará que el disco esté accesible como X:\.

X:\ - igual que X

C:\dir1\[dir2\...] - hace que el disco esté accesible en el subdirectorio indicado del sistema de archivos de arranque. Si el directorio no existe, se creará.

Nota: No se recomienda permitir que el APK cree el directorio, porque los permisos predeterminados del directorio podrían no ser los deseados.

Dejar un disco sin un punto de montaje especificado en el descriptor de clase hará que el APK lo pase por alto y deje su asignación de montaje en Windows tal cual. En este caso, cualquier asignación de punto de montaje para ese disco que se haga manualmente desde el propio Windows será persistente y prevalecerá sobre la asignación del mismo punto de montaje a otro disco mediante el descriptor de clase (la última asignación no tendrá ningún efecto y el disco quedará sin montar). Por ejemplo, si ha especificado lo siguiente en el editor de clases o en el cuadro de diálogo Modificar:

disk 0 -> (arranque)
disk 1 -> (ningún montaje asignado)
disk 2 -> Z:\ 

e inicia sesión en el dispositivo, quite Z de disk2 y asígnelo a disk1; a continuación, Z permanecerá asignado a disk1 en todos los reinicios la asignación "disk2 -> Z" del descriptor de clase no se aplicará. No se montará disk2 en ningún sitio, hasta que Z se elimine de disk1 o se establezca algo distinto de Z para disk2.

C:\ está reservado y no se puede asignar como punto de montaje para ningún disco. Cualquier asignación para el disco de arranque se pasará por alto y se declarará como montada en C:\ en el descriptor de instancia del dispositivo.

No utilice rutas de montaje con subdirectorios de ninguna unidad excepto C:. De lo contrario, el montaje podría quedar inutilizable, puesto que depende del orden en que se montan los discos.

Tenga presente que Windows no se negará a montar un disco sin formatear (o que esté formateado con un sistema de archivos que Windows no entienda). No habrá ningún error o advertencia de ningún tipo cuando el APK asigne el montaje, pero los intentos de acceder al punto de montaje y a todas sus subrutas producirán un error.

Nombres de usuario

El script de instalación del APK hará que el alias CygWin del Administrador sea la raíz. Por lo tanto, la raíz será el nombre de usuario que verá todo el código binario de CygWin y que aparecerá como nombre de usuario actual en un shell de CygWin, así como en listados de directorio. Esta configuración permite acceder al dispositivo mediante el comando de shell remoto (3t ssh nombre-de-componente).

Tenga en cuenta que la asignación entre nombres de usuario de CygWin y nombres de usuario de Windows no es automática, se describe en los archivos de /etc/passwd y /etc/group, que no se actualizan automáticamente al añadir o eliminar usuarios de Windows. CygWin incluye utilidades para mantener los archivos de /etc/passwd y /etc/group. Cuando las utilice, asegúrese de conservar la asignación especial para la raíz creada por el APK; de lo contrario, el inicio de sesión de ssh del grid dejará de funcionar.

Personalización del comportamiento del dispositivo: referencia rápida

Configuración del dispositivo init

Si el archivo /etc/sysconfig/applogic_init está presente, el script init del APK lo interpreta como un shell que incluye un script (con el comando "."). Los parámetros siguientes se pueden definir en /etc/sysconfig/applogic_init:

APK_AUTH_KEY_PATH

Ubicación en la que se almacenan la clave pública de acceso de SSH del dispositivo. El comando 3t comp ssh se conecta a los dispositivos mediante la clave privada correspondiente. El valor predeterminado es /home/Administrator/.ssh. Si se establece como una cadena vacía, la clave no se almacenará en ningún sitio.
Si la ubicación especificada es un archivo existente, se conservarán el propietario y los permisos. De lo contrario, el archivo se creará con el propietario "raíz".

APK_CONFIG_FILES

Lista de archivos separados por espacios a los que se aplican propiedades de dispositivo. Sustituye la lista de archivos de configuración especificada en el cuadro de diálogo Modificar límite de la GUI (para los dispositivos que no están utilizando APK). Un dispositivo equipado con el APK utilizará la lista APK_CONFIG_FILES que se encuentra en el propio dispositivo, y no la lista especificada en la GUI.
Importante: Si se instala el APK en un dispositivo existente, compruebe en el descriptor de clase (mediante el editor de GUI) la presencia de archivos de configuración en la ficha Archivos de configuración del cuadro de diálogo Ver clase / Modificar límite. Transfiera la lista de archivos a la configuración APK_CONFIG_FILES en el dispositivo.

APK_HOSTNAME_UPDATE

Si se establece este parámetro en No, se desactiva el comportamiento predeterminado de cambiar el nombre de host (también denominado como nombre del equipo en Windows) a una cadena obtenida a partir del nombre de instancia del dispositivo.
Desactivar el cambio automático del nombre de host puede ser deseable para los dispositivos de "Servidor virtual privado/dedicado", donde el propietario del dispositivo mantiene todos los aspectos de su configuración, incluido el nombre de host.
Nota: Si APK_HOSTNAME_UPDATE se establece en Sí (o no se establece en absoluto), el cambio de nombre de host activará un reinicio del SO. Esto ocurrirá la primera vez que se inicie o cada vez que se cambie el nombre de instancia del dispositivo y se reinicie. Dado que este reinicio se lleva a cabo antes de que el APK comunique el inicio correcto, el efecto observado es que parece que el dispositivo tarda el doble en iniciarse. El operador verá un mensaje de entrada en modo de mantenimiento en los detalles de progreso del inicio en caso de que el APK haya activado un reinicio.

APK_AUTOMOUNT

Si se establece este parámetro en No, se desactiva la asignación automática de letras de unidad o puntos de montaje, como se especifica en la clase de dispositivo. También se desactivan todos los controles de estado del volumen en el APK.

Importante: Esta opción se debe utilizar si se equipa el dispositivo con un dispositivo de CD-ROM configurado (asignando una imagen con formato ISO como uno de sus discos virtuales). El montaje automático del APK no funciona en esta combinación particular y provocará un error en el reinicio del dispositivo.

Importante: El archivo /etc/sysconfig/applogic_init se ejecuta antes de que se recuperen o apliquen los datos de configuración; por consiguiente, el script no puede depender de la presencia de ninguno de los archivos de configuración del dispositivo. No utilice este archivo para ejecutar código de inicialización, solamente para las variables de configuración definidas anteriormente.

Ejemplo /etc/sysconfig/applogic_init:

APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 

Comprobación del dispositivo después del inicio

Si el archivo /etc/sysconfig/applogic_appliance está presente, el script late init del APK lo interpreta como un shell que incluye un script (con el comando "."), después de que todos los demás servicios del dispositivo se hayan iniciado. El estado de retorno del script indica si se considerará que el dispositivo se ha iniciado correctamente (started OK) o no se pudo iniciar (failed). Si el script imprime un mensaje en stderr y devuelve un error, la última línea de este mensaje se utilizará como el mensaje de error que se envíe al controlador.

Ejemplo de un archivo de comprobación después del inicio para un dispositivo de servidor Web; comprueba que el servidor está en funcionamiento y responde a HTTP GET a la página principal:

if ! wget -q -O /dev/null http://localhost/ ; then
echo "start failed - Web server is not responding" >&2
return 1
fi
return 0 

Evite utilizar /etc/sysconfig/applogic_appliance como script de inicio para iniciar servicios del dispositivo. Hacerlo impediría el uso o comprobación de su formulario de instalación fuera de un dispositivo que tenga el APK instalado.

Importante: Nota específica de Windows: A diferencia de las demás plataformas con las cuales es compatible el APK, la comprobación después del inicio de applogic_appliance se inicia después de que el SCM (Service Control Manager) de Windows haya cargado todos los servicios, y NO cuando han terminado de inicializarse. La situación se complica por el hecho de que, en Windows 2003/2008, algunos servicios los inician otros servicios por medio de una llamada a una API, en lugar de como una dependencia explícita (y, por lo tanto, para tener la certeza de que se han iniciado no basta con esperar al evento de finalización de carga de servicios automática). En consecuencia, cualquier código de comprobación de inicio que se agregue al archivo /etc/sysconfig/applogic_appliance debe tenerlo en cuenta y esperar a todos los servicios que tenga que controlar, por si no se han inicializado todavía.