Transición de Oracle® Solaris 10 JumpStart a Oracle Solaris 11.2 Automated Installer

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Conversión de reglas y perfiles con js2ai

En esta sección se muestra el uso de un único comando js2ai para convertir un archivo rules de JumpStart y todos los archivos de perfil a los que hace referencia ese archivo rules. De manera predeterminada, la salida de cada perfil se envía a un directorio denominado AI_profile-filename. La regla para seleccionar ese perfil es la salida a ese mismo directorio como un archivo de criterios de AI.

Archivo de reglas de JumpStart y archivos de perfil de ejemplo

En este ejemplo, se utiliza el siguiente archivo rules:

# The following rule matches only one system:

hostname sample_host    - fdisk.profile         -

# The following rule matches only one system:

hostaddress 10.6.68.127 - mirrorfilesys.profile -

# The following rule matches any system that is on the 924.222.43.0 network:

network 924.222.43.0    - rootdisk.profile      -

# The following rule matches all x86 systems:

arch i386               - mirrorpool.profile    -

El archivo fdisk.profile tiene el siguiente contenido:

install_type initial_install
system_type server
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /
cluster SUNWCall

El archivo mirrorfilesys.profile tiene el siguiente contenido:

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /
cluster SUNWCuser

El archivo mirrorpool.profile tiene el siguiente contenido:

install_type initial_install
partitioning default
pool newpool auto auto auto mirror any any
cluster SUNWCuser

El archivo rootdisk.profile tiene el siguiente contenido:

install_type initial_install
partitioning explicit
filesys rootdisk.s0 15000 /
filesys rootdisk.s1 1000 swap
cluster SUNWCall

Uso de js2ai para procesar un archivo rules con perfiles asociados

Utilice el siguiente comando para procesar este archivo rules. En el informe de errores, los errores de validación se muestran como un carácter de guión porque no se realizó la validación. La opción –S omite la validación.

# js2ai -rS
                                Process  Unsupported  Conversion  Validation
Name                  Warnings  Errors   Items        Errors      Errors
-------------------   --------  -------  -----------  ----------  ----------
rules                        0        0            1           0           -
fdisk.profile                0        0            2           0           -
mirrorfilesys.profile        0        0            2           0           -
mirrorpool.profile           0        0            1           1           -
rootdisk.profile             0        0            1           2           -

Conversion completed. One or more failures and/or warnings occurred.
For errors see js2ai.log
# cat js2ai.log
rules:line 3:UNSUPPORTED: unsupported keyword: hostname
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' 
with actual device name
mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

La salida se almacena en directorios denominados AI_profile-filename. Los archivos de criterios de AI creados de reglas de JumpStart son denominados para la posición de la regla en el archivo rules. Los manifiestos de AI son denominados profile-filename.arch.xml, donde arch es generic, x86 o sparc.

# ls AI_*
AI_fdisk.profile:
fdisk.profile.x86.xml

AI_mirrorfilesys.profile:
criteria-2.xml      mirrorfilesys.profile.generic.xml

AI_mirrorpool.profile:
criteria-2.xml      mirrorpool.profile.generic.xml

AI_rootdisk.profile:
criteria-3.xml      rootdisk.profile.generic.xml

Reemplazo de la palabra clave hostname

El archivo de registro informa que la palabra clave de regla de JumpStart hostname no se admite como una palabra clave de criterios de AI para seleccionar un manifiesto de AI. La palabra clave hostname especifica los clientes que deben usar el perfil fdisk.profile. Dado que hostname no es una palabra clave admitida para seleccionar manifiestos de AI, el nuevo directorio AI_fdisk.profile no contiene un archivo de criterios de AI.

Para corregir este problema, cambie hostname a hostaddress en el archivo rules.

Otra manera de corregir este problema es crear un archivo de criterios de AI que especifique una dirección MAC o una dirección IP para identificar el sistema hostname. Por ejemplo, el siguiente archivo de criterios es equivalente a la regla de JumpStart hostname sample_host si 0:14:4F:20:53:97 es la dirección MAC de sample_host:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="mac">
    <value>0:14:4F:20:53:97</value>
  </ai_criteria>
</ai_criteria_manifest>

Para buscar la dirección MAC de un sistema, use el comando dladm, como se describe en la página del comando man dladm(1M).

Para la regla de JumpStart hostaddress 10.6.68.127, el comando js2ai creó automáticamente el archivo de criterios de AI AI_mirrorfilesys.profile/criteria-2.xml y reemplazó la palabra clave hostaddress de JumpStart con la palabra clave ipv4 de AI:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <value>
      10.6.68.127
    </value>
  </ai_criteria>
</ai_criteria_manifest>

Para la regla de JumpStart network 924.222.43.0, el comando js2ai creó automáticamente el archivo de criterios de AI AI_rootdisk.profile/criteria-3.xml y especificó un rango de direcciones IP según la dirección de red determinada:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <range>
      924.222.43.0 924.222.43.255
    </range>
  </ai_criteria>
</ai_criteria_manifest>

Para la regla de JumpStart arch i386, la utilidad js2ai creó automáticamente el archivo de criterios de AI AI_mirrorpool.profile/criteria-4.xml y reemplazó la palabra clave arch de JumpStart con la palabra clave cpu de AI:

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="cpu">
    <value>
      i386
    </value>
  </ai_criteria>
</ai_criteria_manifest>

Corrección de archivos de manifiesto de AI

El comando js2ai suele crear un manifiesto de AI para cada perfil de JumpStart, aun cuando se informan errores. En esta sección se describe cómo abordar algunos errores comunes para que los manifiestos de AI de salida estén más completos.

Ejemplo 2-4  Corrección de errores de fdisk.profile

El comando js2ai mostró los siguientes errores para el perfil de JumpStart fdisk.profile:

fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster

Estas dos líneas se ignoran y no afectan el manifiesto de AI de salida. Puede suprimir estas dos líneas si desea que la conversión evite los mensajes de error. El archivo fdisk.profile tiene el siguiente contenido:

install_type initial_install
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /

Use la opción –p del comando js2ai para procesar solamente este perfil.

# js2ai -p fdisk.profile
Successfully completed conversion

El manifiesto de AI de salida, AI_fdisk.profile/fdisk.profile.x86.xml, tiene el siguiente contenido en el grupo de líneas target:

<target>
  <disk whole_disk="true">
    <disk_name name="c1t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice name="1" action="create" force="true" is_swap="true">
        <size val="5000mb"/>
      </slice>
      <slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev">
        <size val="10000mb"/>
      </slice>
     </partition>
  </disk>
  <logical noswap="false" nodump="true" >
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home"/>
      <be name="solaris"/>
    </zpool>
  </logical>
</target>

El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.

Ejemplo 2-5  Corrección de errores de mirrorfilesys.profile

El comando js2ai mostró los siguientes errores para el perfil de JumpStart mirrorfilesys.profile:

mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster

En un archivo de perfil de JumpStart, puede omitir el parámetro file-system en la especificación filesys mirror. En una conversión de js2ai, no puede omitir el parámetro file-system, que debe tener uno de los dos valores siguientes: / or swap.

Edite el archivo mirrorfilesys.profile para agregar "/" al final de la especificación filesys y para suprimir la línea cluster. El archivo mirrorfilesys.profile tiene el siguiente contenido:

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /

Guarde el archivo AI_mirrorfilesys.profile/criteria-2.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.

# js2ai -p mirrorfilesys.profile
Successfully completed conversion

El directorio AI_mirrorfilesys.profile contiene dos manifiestos de AI de salida: mirrorfilesys.profile.sparc.xml y mirrorfilesys.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que mirrorfilesys.profile.x86.xml contiene dos especificaciones partition. El manifiesto mirrorfilesys.profile.x86.xml tiene el siguiente contenido en el fragmento target:

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="false" >
    <zpool name="newpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.

Ejemplo 2-6  Corrección de errores de mirrorpool.profile

El comando js2ai mostró los siguientes errores para el perfil de JumpStart mirrorpool.profile:

mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device.
Replace 'any' with actual device name
mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster

    Utilice cualquiera de los dos métodos siguientes para corregir estos errores. Ambas correcciones originan exactamente la misma salida del manifiesto de AI. Consulte también Cómo se traduce el dispositivo any.

  • Edite el perfil mirrorpool.profile y reemplace ambas entradas any con nombres de dispositivos físicos. También, suprima la línea cluster. El archivo mirrorpool.profile tendrá un contenido similar al siguiente:

    install_type initial_install
    partitioning default
    pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
  • Si especifica any en lugar de un nombre de dispositivo físico en la lista vdev-list de la especificación pool, debe proporcionar información del dispositivo antes de la especificación que incluye el parámetro any. Edite el perfil mirrorpool.profile para agregar una especificación usedisk antes de la especificación de agrupación. También, suprima la línea cluster. El archivo mirrorpool.profile tendrá un contenido similar al siguiente:

    install_type initial_install
    partitioning default
    usedisk c6t0d0 c6t1d0
    pool newpool auto auto auto mirror any any

Guardar el archivo AI_mirrorpool.profile/criteria-4.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.

# js2ai -p mirrorpool.profile
Successfully completed conversion

El directorio AI_mirrorpool.profile contiene dos manifiestos de AI de salida: mirrorpool.profile.sparc.xml y mirrorpool.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que mirrorpool.profile.x86.xml contiene dos especificaciones partition. El manifiesto mirrorpool.profile.x86.xml tiene el siguiente contenido en el fragmento target:

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <logical noswap="false" nodump="true">
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.

Ejemplo 2-7  Corrección de errores de rootdisk.profile

El comando js2ai mostró los siguientes errores para el perfil de JumpStart rootdisk.profile:

rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

    Utilice cualquiera de los dos métodos siguientes para corregir estos errores. Ambas correcciones originan exactamente la misma salida del manifiesto de AI.

  • Edite el perfil rootdisk.profile y reemplace rootdisk con c0t0d0. También, suprima la línea cluster. El archivo rootdisk.profile tiene el siguiente contenido:

    install_type initial_install
    partitioning explicit
    filesys c0t0d0s0 15000 /
    filesys c0t0d0s1 1000 swap
  • Edite el perfil rootdisk.profile para agregar una especificación root_device y para suprimir la línea cluster. El archivo rootdisk.profile tiene el siguiente contenido:

    install_type initial_install
    partitioning explicit
    root_device c0t0d0s0
    filesys rootdisk.s0 15000 /
    filesys rootdisk.s1 1000 swap

Guarde el archivo AI_rootdisk.profile/criteria-3.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.

# js2ai -p rootdisk.profile
Successfully completed conversion

El directorio AI_rootdisk.profile contiene dos manifiestos de AI de salida: rootdisk.profile.sparc.xml y rootdisk.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que rootdisk.profile.x86.xml contiene una especificación partition. El manifiesto rootdisk.profile.x86.xml tiene el siguiente contenido en el fragmento target:

<target>
  <disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="15000mb"/>
      </slice>
      <slice action="create" force="true" is_swap="true" name="1">
        <size val="1000mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="true" noswap="false">
    <zpool name="rpool" is_root="true" >
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.