Guide du constructeur de distribution Oracle Solaris 11 Express

Chapitre 3 x86 : conception et création d'une machine virtuelle

Vous pouvez utiliser le constructeur de distribution pour concevoir et créer une machine virtuelle Oracle Solaris préinstallée. Consultez les informations suivantes.

Qu'est-ce qu'une machine virtuelle ?

Une machine virtuelle est un conteneur logiciel totalement isolé capable d'exécuter son système d'exploitation et ses applications comme s'il s'agissait d'un véritable ordinateur. Une machine virtuelle (VM) se comporte exactement comme un ordinateur physique. Elle contient son propre matériel virtuel : CPU, mémoire RAM, disque dur et carte d'interface réseau (NIC) basés sur du logiciel. La VM créée à l'aide du constructeur de distribution contient un système d'exploitation Oracle Solaris préinstallé.

VirtualBox est une application de virtualisation x86 qui facilite la création de machines virtuelles.

Qu'est-ce que le produit final ?

Lorsque le constructeur de distribution crée une machine virtuelle, celle-ci est exportée dans trois formats par défaut et stockée comme un ensemble de fichiers dans le répertoire <build_area>/media sur le système hôte.


Remarque –

Un système hôte correspond au système sur lequel vous exécutez le constructeur de distribution et créez une machine virtuelle.

Un système client correspond au système sur lequel vous déployez une machine virtuelle.


Les fichiers sont stockés dans les sous-répertoires et aux formats suivants :

Les fichiers contenus dans chaque dossier correspondent à des images de machine virtuelle. Vous pouvez graver les fichiers sur un DVD.


Remarque –

Un autre produit final est un fichier XML qui enregistre, pour référence, les paramètres utilisés par le constructeur de distribution pour configurer la machine virtuelle.


Configuration système requise pour la création de machines virtuelles

Afin de pouvoir créer une machine virtuelle, votre système hôte doit disposer de la configuration suivante.

Tableau 3–1 Tableau de la configuration système requise

Configuration requise 

Description 

40 Go d'espace disque disponible 

Pour utiliser le constructeur de distribution et les fichiers manifest par défaut, vous avez besoin de 40 Go d'espace disque disponible dans le jeu de données ZFS sur le système hôte où l'image de machine virtuelle sera créée. L'espace réellement nécessaire dépend en partie du nombre de packages que vous choisissez d'installer dans l'image. 

4 Go de mémoire 

Vous nécessitez environ 4 Go de mémoire sur le système hôte pour pouvoir exécuter un invité VirtualBox, le système d'exploitation et le constructeur de distribution. Ce total inclut environ 1 Go pour l'exécution de la machine virtuelle et environ 3 Go pour l'exécution du système d'exploitation et du constructeur de distribution. 

Version d'Oracle Solaris 

Installez le système d'exploitation (SE) Oracle Solaris x86 sur le système hôte. 

La version Oracle Solaris sur votre système doit être la même que celle des images d'installation automatisée que vous utilisez avec le constructeur de distribution. 


Remarque –

Pour exécuter le constructeur de distribution sur votre système, vous devez assumer le rôle root en exécutant la commande su -.


Accès réseau 

Le constructeur de distribution utilise également une image du programme d'installation automatisée (IA) et un fichier manifest de client d'installation automatisée afin d'effectuer une installation dans la machine virtuelle. Le système hôte qui exécute le constructeur de distribution doit avoir un accès réseau à un référentiel IPS, tel que http://pkg.opensolaris.org, qui est spécifié dans le fichier manifest de client d'installation automatisée.

Vous pouvez utiliser le fichier manifest de client d'installation automatisée par défaut ou fournir un fichier manifest de client d'installation automatisée personnalisé comme décrit à la section Facultatif : personnalisation des spécifications de version. En créant un fichier manifest de client d'installation automatisée personnalisé, vous pouvez modifier les spécifications d'installation, par exemple définir une cible d'installation particulière ou modifier la liste des packages à inclure dans le système d'exploitation.

VirtualBox, version 3.0.12 

VirtualBox doit être installé sur le système hôte. 

Package distribution-constructor

Installez la copie la plus récente du package distribution-constructor, qui contient l'application du constructeur de distribution, sur le système hôte.


Remarque –

Vous pouvez utiliser le gestionnaire de packages pour installer le package requis. Le gestionnaire de packages est disponible dans la barre de menu sur le bureau du système d'exploitation Oracle Solaris. Dans la barre de menu, cliquez sur Système>Administration>Gestionnaire de packages.

Vous pouvez également utiliser les commandes IPS, telles que la suivante, pour installer ce package :


# pkg install distribution-constructor

Création d'une machine virtuelle

    Le processus utilisé pour créer une machine virtuelle est très simple :

  1. Obtention d'une image d'initialisation d'installation automatisée

  2. Facultatif : personnalisation des spécifications de version

  3. Création de la machine virtuelle

Obtention d'une image d'initialisation d'installation automatisée

Une machine virtuelle complète sera créée à l'aide des paramètres spécifiés dans le fichier manifest de la machine virtuelle, vmc_image.xml. Il s'agit d'un fichier XML qui se trouve sous /usr/share/distro_const/vmc/vmc_image.xml. Le fichier vmc_image.xml désigne un jeu par défaut de scripts de finalisation permettant de mettre en oeuvre les paramètres spécifiques au support final pour la machine virtuelle. En outre, une image d'initialisation du programme d'installation automatisée (IA) est utilisée pour créer la machine virtuelle.

Vous devez fournir l'image d'initialisation d'installation automatisée. Vous devez ensuite modifier le fichier manifest de la machine virtuelle afin qu'il désigne cette image.

Téléchargez une image d'installation automatisée et référencez-la dans le fichier manifest de la machine virtuelle comme suit.


Remarque –

Vous pouvez créer une image d'installation automatisée personnalisée à l'aide du constructeur de distribution. Cependant, il n'est pas nécessaire de créer une image personnalisée.


ProcedureFourniture d'une image d'initialisation

  1. Téléchargez une image d'installation automatisée x86 sur la page http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html.


    Remarque –

    L'image d'installation automatisée fait environ 200-250 Mo.


    Assurez-vous que la version de l'image d'installation automatisée correspond à la version du système d'exploitation Oracle Solaris que vous prévoyez d'installer dans votre machine virtuelle.

  2. Stockez l'image IA sur votre système de fichiers local.

    L'image d'installation automatisée est un fichier .iso, un ensemble de logiciels fourni dans un seul fichier. Lorsque vous téléchargez l'image, vous l'enregistrez en tant que fichier .iso sur votre système.

    Notez le nom et l'emplacement de ce fichier. Vous devrez indiquer ces informations dans le fichier manifest.

  3. Modifiez vmc_image.xml afin qu'il désigne cette image, comme suit.

    Recherchez le champ XML suivant dans le fichier manifest :


    <script name="/usr/share/distro_const/vmc/prepare_ai_image">
    	<checkpoint
    		name="prepare-image"
    		message="prepare bootable ai image"/>
    	<argslist>
        <!-- Path to bootable AI image ISO -->
    		"/export/home/name_of_bootable_ai_image"
        <!-- What AI client manifest to use for installation.
             "default" will use the existing AI client manifest
             included on the AI media.  To use a custom
             AI client manifest, provide a path to your custom manifest -->
        "default"
     </argslist>
    </script>

    Le champ ci-dessus fait référence au script de finalisation prepare_ai_image. Ce script détecte et prépare l'image d'initialisation spécifiée pour l'installation sur la machine virtuelle et fournit une option permettant de spécifier un fichier manifest de client d'installation automatisée personnalisé.

    La ligne suivant ce script fournit un chemin d'accès par défaut à une image d'installation automatisée, à l'aide du substituant name_of_bootable_ai_image en lieu et place du nom de fichier actuel.


    "/export/home/name_of_bootable_ai_image"

    À l'aide de votre nom de fichier, remplacez cette ligne afin qu'elle désigne l'emplacement sur votre système local de l'image d'installation automatisée que vous avez téléchargée à l'étape précédente. Par exemple,


    "/export/home/myimage.iso"

    Remarque –

    L'emplacement du fichier est indiqué entre guillemets. Ne supprimez pas les guillemets. Ils permettent de délimiter chaque argument dans le champ.


    Vous pouvez modifier davantage le champ prepare_ai_image afin qu'il désigne un fichier manifest de client d'installation automatisée personnalisé, comme décrit dans la section suivante.

Facultatif : personnalisation des spécifications de version

Vous pouvez choisir de personnaliser d'autres spécifications dans le fichier manifest de la machine virtuelle. Vous pouvez apporter ces changements en modifiant les champs XML du fichier vmc_image.xml avant de créer votre machine virtuelle.

Le tableau suivant répertorie les champs de vmc_image.xml, fournit les valeurs par défaut de chaque champ et indique quels champs peuvent être modifiés.


Remarque –

Certains champs de ce tableau sont également utilisés dans les autres fichiers manifest du constructeur de distribution. La plupart de ces champs sont toutefois propres au fichier manifest de la machine virtuelle.


Tableau 3–2 Champs du fichier manifest de la machine virtuelle

Champ du fichier manifest 

Description 


<build_area>rpool/dc</build_area>

Le champ de la zone de construction spécifie la zone dans laquelle la machine virtuelle sera créée. Vous pouvez utiliser la zone par défaut si elle est appropriée pour votre système ou spécifier une autre zone de construction sur le système hôte. 


Remarque –

Pour utiliser l'option de création de points de contrôle pour interrompre et reprendre le processus en cours de création, vous devez spécifier un jeu de données ZFS ou un point de montage correspondant à un jeu de données ZFS comme zone de construction. Si le jeu de données ZFS n'existe pas, il est créé au cours du processus. Le pool ZFS que vous spécifiez doit toutefois déjà exister.



<distro_constr_flags>
		<stop_on_error>true</stop_on_error>
		<checkpoint_enable>
			true
		</checkpoint_enable>

Dans la balise <distro_constr_flags>, la valeur true appliquée à <stop_on_error> signifie que, si une erreur se produit pendant la création, le constructeur de distribution cesse de fonctionner.

La valeur true appliquée à <checkpoint_enable> vous permet d'interrompre la création de machine virtuelle à n'importe quelle étape (ou point de contrôle) et de redémarrer la création au point de contrôle spécifié. Pour plus d'instructions, reportez-vous à la section Création d'une image par étapes à l'aide de l'option de points de contrôle.


<finalizer>

La section finalizer contient une liste de références aux scripts de finalisation exécutés lors de la création de la machine virtuelle. Ceux-ci sont utilisés pour personnaliser l'image et sont exécutés dans l'ordre où ils apparaissent dans le fichier manifest.

Comme indiqué dans les entrées de script suivantes, chaque champ du script inclut le champ checkpoint obligatoire contenant le nom du point de contrôle. Le point de contrôle indique l'étape de création de la machine virtuelle lorsque ce script est exécuté. Le champ de point de contrôle contient également un message de point de contrôle. Lorsque le script s'exécute, le message s'affiche.

Chaque script comprend également le champ argslist qui fournit les arguments nécessaires à l'exécution dudit script. Vous pouvez modifier ces arguments comme décrit dans ce tableau.


Remarque –

Les arguments sont encadrés par des guillemets. Ne supprimez pas les guillemets. Ils délimitent chaque argument dans le champ.



<script name="/usr/share/distro_const/vmc/prepare_ai_image">
	<checkpoint
		name="prepare-image"
		message="prepare bootable ai image"/>
	<argslist>
    <!-- Path to bootable AI image ISO -->
		"/export/home/name_of_bootable_ai_image"
    <!-- What AI client manifest to use for installation.
         "default" will use the existing AI client manifest
         included on the AI media.  To use a custom
         AI client manifest, provide a path to 
         your custom manifest -->
    "default"
 </argslist>
</script>


Dans la section précédente, vous avez modifié la référence du script prepare_ai_image pour désigner l'image d'installation automatisée téléchargée. Dans ce champ, vous pouvez également indiquer un pointeur vers un fichier manifest de client d'installation automatisée personnalisé. Lorsque vous fournissez un fichier manifest de client d'installation automatisée personnalisé, vous pouvez modifier les spécifications d'installation par défaut, par exemple définir une cible d'installation particulière ou modifier la liste des packages à installer sur le système d'exploitation.

Modifiez la variable "default" par le chemin d'accès au fichier manifest de client d'installation automatisée personnalisé. Le chemin correspond à un chemin de fichier sur le système sur lequel vous exécutez le constructeur de distribution, comme illustré dans l'exemple suivant.


"home/user/mymanifest.xml"

Pour plus d'informations sur la création d'un fichier manifest de client d'installation automatisée personnalisé, reportez-vous à la section relative à la création d'un fichier manifest d'installation automatisée personnalisé du Guide du programme d'installation automatisée d'Oracle Solaris 11 Express.


<script name="/usr/share/distro_const/vmc/create_vm">
	<checkpoint
		name="create-vm"
		message="create and configure virtual machine"/>
	<argslist>
		"16000"
		"1536"
		"opensolaris"
	</argslist>
</script>

Le script create_vm crée et configure la machine virtuelle. Le champ argslist fournit 3 arguments pour le script. Vous pouvez modifier ces arguments comme suit.

  • Taille du disque de la machine virtuelle : la valeur par défaut est de 16 000 Mo. Les valeurs possibles sont comprises entre 12 000 et 99 999 999 Mo.

  • Taille de la mémoire RAM de la machine virtuelle  : la valeur par défaut est de 1 536 Mo. Les valeurs possibles sont comprises entre 1 000 et 16 384 Mo.

  • Type de machine virtuelle : le type par défaut est opensolaris pour une machine virtuelle 32 bits. Sinon, utilisez opensolaris_64 pour une machine virtuelle 64 bits.


Remarque –

Le script create_vm et ses arguments ont une incidence spécifique sur la machine virtuelle au cours de sa création. Reportez-vous à la section sur le script post_install_vm_config ci-dessous pour connaître les arguments ayant une incidence sur la machine virtuelle après son installation.



<script name="/usr/share/distro_const/vmc/install_vm">
	 <checkpoint
		name="install-vm"
		message="Boot and Install virtual machine"/>
</script>

Le script install_vm initialise et installe la machine virtuelle dans la zone de construction.


<script name="/usr/share/distro_const/vmc/
post_install_vm_config">
	<checkpoint
		name="post-config"
		message="Post installation virtual machine 
configuration"/>
	<argslist>
		"1024"
		"1"
		"on"
	</argslist>
</script>

Le script post_install_vm_config effectue la configuration post-installation sur la machine virtuelle. Le champ argslist fournit 3 arguments pour le script. Vous pouvez modifier ces arguments comme suit.

  • Taille de la mémoire RAM de la machine virtuelle : la valeur par défaut est de 1 024 Mo. Les valeurs possibles sont comprises entre 1 000 et 16 394 Mo.

  • Nombre de CPU de la machine virtuelle : la valeur par défaut est de 1 CPU. Les valeurs possibles sont comprises entre 1 et 32.

  • Prise en charge VT-x/AMD-V de la machine virtuelle : elle peut être activée ou désactivée.


<script name="/usr/share/distro_const/vmc/export_esx">
	<checkpoint
		name="export-esx"
		message="Export virtual machine for VMWare ESX"/>
	<argslist>
		"esx"
	</argslist>
</script>

Le script export_esx convertit la machine virtuelle en un ensemble de fichiers ESX prêts pour l'importation. Si vous souhaitez que vos fichiers de machine virtuelle soient configurés au format ESX, utilisez ce script. Sinon, mettez ce script en commentaire.

Par exemple, si vous souhaitez mettre en commentaire le champ suivant : 


<sample_script>example</sample_script>

Entourez-le de balises, comme suit : 


<!--
<sample_script>example</sample_script>
-->

La machine virtuelle ESX se compose d'un ensemble de fichiers dans le dossier build_area/media/esx.


Remarque –

Si vous utilisez les scripts export_esx et export_ovf, des machines virtuelles identiques pour chaque format sont créées.



<script name="/usr/share/distro_const/vmc/export_ovf">
	<checkpoint
		name="export-ovf"
		message="Export virtual machine in OVF format"/>
	<argslist>
		"ovf"
	</argslist>
</script>

Le script export_ovf convertit la machine virtuelle en un ensemble de fichiers OVF prêts pour l'importation. Si vous souhaitez que vos fichiers de machine virtuelle soient configurés au format OVF, utilisez ce script. Sinon, mettez ce script en commentaire de telle sorte qu'il ne soit pas exécuté.

La machine virtuelle OVF se compose d'un ensemble de fichiers dans le dossier build_area/media/ovf.

Création de la machine virtuelle

Une fois que vous avez personnalisé le fichier manifest de la machine virtuelle, vous êtes prêt à créer une machine virtuelle. Exécutez l'utilitaire distro_const pour créer la machine virtuelle, en utilisant les points de contrôle facultatifs pour interrompre, tester et reprendre la création selon vos besoins. Pour obtenir des instructions sur l'utilisation de l'utilitaire distro_const, reportez-vous à la section Création d'une image.

Dépannage lors de la création

Le constructeur de distribution utilise le programme d'installation automatisée pour effectuer une installation dans la machine virtuelle. Le programme d'installation automatisée, exécuté dans le client de la machine virtuelle, ne peut plus communiquer la progression à l'hôte de machine virtuelle. Le constructeur de distribution ne peut donc pas suivre précisément la progression de l'installation dans le client de la machine virtuelle. Une fois l'installation terminée, le programme d'installation automatisée désactive la machine virtuelle et le constructeur de distribution reprend sa tâche.


Remarque –

Si le programme d'installation automatisée rencontre une erreur qui entraîne un échec de l'installation, la machine virtuelle n'est pas arrêtée. Le constructeur de distribution semble alors se suspendre, alors qu'il attend en réalité que la machine virtuelle s'arrête.


Vous pouvez contrôler la progression de l'installation automatisée en cours d'exécution dans le client de la machine virtuelle. Utilisez l'utilitaire rdesktop disponible dans les référentiels IPS Oracle Solaris standard ou utilisez un autre client RDP.

    Pour vous connecter à la console d'une installation de machine virtuelle en cours d'exécution, effectuez les opérations suivantes :

  1. Si ce n'est pas déjà fait, installez le package rdesktop.


    # pkg install remote-desktop/rdesktop
  2. Connectez la machine virtuelle en cours d'exécution qui semble être bloquée.


    # rdesktop -a 16 localhost:3389

Cette commande indique à rdesktop de se connecter à la machine locale sur le port 3389, avec une profondeur de couleur de 16 bits pour de meilleures performances.

Le numéro de port utilisé dans cette commande est le numéro de port par défaut utilisé par la première machine virtuelle démarrée sur l'hôte. Si vous exécutez plusieurs appels du constructeur de distribution, recherchez dans le fichier journal détaillé du constructeur de distribution le port sur lequel la machine virtuelle est exécutée. Des lignes similaires à celles qui suivent s'affichent dans le fichier journal :


==== install-vm: Boot and Install virtual machine 

Invoking: VBoxHeadless startvm OpenSolaris_VM
VirtualBox Headless Interface 3.0.8

Listening on port 3389

La dernière ligne du fichier journal indique que la machine virtuelle en question peut être contactée sur le port 3389. Une fois la commande rdesktop exécutée, une fenêtre d'interface graphique dans laquelle vous pouvez voir la console pour la machine en cours d'exécution s'ouvre. Vous pouvez vous connecter à la console comme suit :


username: jack
password: jack

Remarque –

Le nom d'utilisateur et le mot de passe par défaut sont « jack » et « jack ». Le mot de passe root par défaut est « solaris ».


Une fois connecté, vous pouvez déboguer l'installation, comme toute autre installation client du programme d'installation automatisée. Reportez-vous à l'annexe A sur le dépannage des installations automatisées, dans le Guide du programme d'installation automatisée d'Oracle Solaris 11 Express .

Informations complémentaires

Voir Informations supplémentaires relatives à l'installation.