Transition de JumpStart d'Oracle® Solaris 10 au programme d'installation automatisée d'Oracle Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Conversion de règles et de profils à l'aide de js2ai

Cette section illustre l'utilisation d'une seule commande js2ai pour convertir un fichier rules JumpStart et tous les fichiers de profils référencés par ce fichier rules. Par défaut, chaque profil converti est sorti dans un répertoire nommé AI_profile-filename. La règle de sélection de ce profil est sortie dans ce même répertoire sous forme de fichier de critères AI.

Exemples de fichier de règles et de fichiers de profils JumpStart

Cet exemple utilise le fichier rules suivant :

# 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    -

Le fichier fdisk.profile présente le contenu suivant :

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

Le fichier mirrorfilesys.profile présente le contenu suivant :

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

Le fichier mirrorpool.profile présente le contenu suivant :

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

Le fichier rootdisk.profile présente le contenu suivant :

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

Utilisation de js2ai pour traiter un fichier rules avec des profils associés

Utilisez la commande suivante pour le traitement de ce fichier rules. Dans le rapport d'erreur, des erreurs de validation sont affichées sous la forme d'un trait d'union dans la mesure où la validation n'a pas été effectuée. La validation est supprimée par l'option –S.

# 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 sortie est stockée dans des répertoires nommés AI_profile-filename . Les fichiers de critères AI créés à partir des règles JumpStart sont nommés pour la position de la règle dans le fichier rules. Les manifestes AI sont nommés profile-filename.arch.xml, où arch est generic, x86, ou 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

Remplacement du mot-clé hostname

Le fichier journal signale que le mot-clé de règle JumpStart hostname n'est pas pris en charge en tant que mot-clé de critère AI pour la sélection d'un manifeste AI Le mot-clé hostname indique quels clients doivent utiliser le profil fdisk.profile. Dans la mesure où hostname n'est pas un mot-clé pris en charge pour la sélection des manifestes AI, le nouveau répertoire AI_fdisk.profile ne contient pas de fichier de critères AI.

Vous pouvez résoudre ce problème en remplaçant hostname par hostaddress dans le fichier rules.

Vous pouvez également résoudre ce problème en créant un fichier de critères AI qui spécifie l'adresse MAC ou IP permettant d'identifier le système hostname. Par exemple, le fichier de critères suivant est équivalent à la règle JumpStart hostname sample_host si 0:14:4F:20:53:97 est l'adresse 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>

Pour trouver l'adresse MAC d'un système, utilisez la commande dladm comme décrit à la page de manuel dladm(1M).

Pour la règle JumpStart hostaddress 10.6.68.127, la commande js2ai a automatiquement créé le fichier de critères AI AI_mirrorfilesys.profile/criteria-2.xml , en remplaçant le mot-clé JumpStart hostaddress par le mot-clé AI ipv4 :

<?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>

Pour la règle JumpStart network 924.222.43.0, la commande js2ai a automatiquement créé le fichier de critères AI AI_rootdisk.profile/criteria-3.xml, en spécifiant une plage d'adresses IP basée sur l'adresse réseau donnée :

<?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>

Pour la règle JumpStart arch i386, la commande js2ai a automatiquement créé le fichier de critères AI AI_mirrorpool.profile/criteria-4.xml, en remplaçant le mot-clé JumpStart arch par le mot-clé AI cpu :

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

Correction des fichiers manifestes AI

La commande js2ai crée souvent un manifeste AI pour chaque profil JumpStart même si des erreurs sont signalées. Cette section décrit comment résoudre certaines erreurs courantes afin que les manifestes AI de sortie soient plus complets.

Exemple 2-4  Correction des erreurs fdisk.profile

La commande js2ai a indiqué les erreurs suivantes pour le profil JumpStart fdisk.profile :

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

Ces deux lignes ne sont pas prises en compte et n'ont aucune incidence sur le manifeste AI de sortie. Vous pouvez supprimer ces deux lignes si vous souhaitez que la conversion évite les messages d'erreur. Le fichier fdisk.profile présente le contenu suivant :

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

Utilisez l'option –p de l'utilitaire js2ai pour traiter ce profil uniquement.

# js2ai -p fdisk.profile
Successfully completed conversion

Le manifeste AI de sortie, AI_fdisk.profile/fdisk.profile.x86.xml, présente le contenu suivant dans la strophe cible :

<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>

La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.

Exemple 2-5  Correction des erreurs mirrorfilesys.profile

La commande js2ai a indiqué les erreurs suivantes pour le profil 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

Dans un fichier de profils JumpStart, vous pouvez omettre le paramètre file-system dans la spécification filesys mirror. Dans une conversion js2ai, vous pouvez omettre le paramètre file-system, qui doit avoir l'une des deux valeurs suivantes : / ou swap.

Modifiez le fichier mirrorfilesys.profile pour ajouter "/" à la fin de la spécification filesys et pour supprimer la ligne cluster. Le fichier mirrorfilesys.profile présente le contenu suivant :

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /

Enregistrez le fichier AI_mirrorfilesys.profile/criteria-2.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.

# js2ai -p mirrorfilesys.profile
Successfully completed conversion

Le répertoire AI_mirrorfilesys.profile contient deux manifestes AI de sortie : mirrorfilesys.profile.sparc.xml et mirrorfilesys.profile.x86.xml. La seule différence entre ces deux manifestes AI est que mirrorfilesys.profile.x86.xml contient deux spécifications partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe 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>

La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.

Exemple 2-6  Correction des erreurs mirrorpool.profile

La commande js2ai a indiqué les erreurs suivantes pour le profil 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

    Utilisez l'une des deux méthodes ci-dessous pour corriger ces erreurs. Ces deux corrections produisent la même sortie de manifeste AI. Reportez-vous également à la section Conversion du périphérique any.

  • Modifiez le profil mirrorpool.profile, en remplaçant les deux entrées any par des noms de périphériques physiques. En outre, supprimez la ligne cluster. Le fichier mirrorpool.profile présentera alors un contenu similaire à celui-ci :

    install_type initial_install
    partitioning default
    pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
  • Si vous spécifiez any au lieu d'un nom de périphérique physique dans la liste vdevlist de la spécification pool, vous devez fournir des informations sur le périphérique avant la spécification qui inclut le paramètre any. Modifiez le profil mirrorpool.profile afin d'ajouter une spécification usedisk avant la spécification du pool. En outre, supprimez la ligne cluster. Le fichier mirrorpool.profile présentera alors un contenu similaire à celui-ci :

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

Enregistrez le fichier AI_mirrorpool.profile/criteria-4.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.

# js2ai -p mirrorpool.profile
Successfully completed conversion

Le répertoire AI_mirrorpool.profile contient deux manifestes AI de sortie : mirrorpool.profile.sparc.xml et mirrorpool.profile.x86.xml. La seule différence entre ces deux manifestes AI est que mirrorpool.profile.x86.xml contient deux spécifications partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe 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>

La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.

Exemple 2-7  Correction des erreurs rootdisk.profile

La commande js2ai a indiqué les erreurs suivantes pour le profil 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

    Utilisez l'une des deux méthodes ci-dessous pour corriger ces erreurs. Ces deux corrections produisent la même sortie de manifeste AI.

  • Modifiez le profil rootdisk.profile, en remplaçant rootdisk par c0t0d0. En outre, supprimez la ligne cluster. Le fichier rootdisk.profile présente le contenu suivant :

    install_type initial_install
    partitioning explicit
    filesys c0t0d0s0 15000 /
    filesys c0t0d0s1 1000 swap
  • Modifiez le profil rootdisk.profile afin d'ajouter une spécification root_device et de supprimer la ligne cluster. Le fichier rootdisk.profile présente le contenu suivant :

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

Enregistrez le fichier AI_rootdisk.profile/criteria-3.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.

# js2ai -p rootdisk.profile
Successfully completed conversion

Le répertoire AI_rootdisk.profile contient deux manifestes AI de sortie : rootdisk.profile.sparc.xml et rootdisk.profile.x86.xml. La seule différence entre ces deux manifestes AI est que rootdisk.profile.x86.xml contient une spécification partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe 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>

La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.