ibm:zvm-ubuntu-rescue

ZVM: Récupération d'un système Ubuntu cassé

Parfois, les choses tournent mal et le système que l'on a installé n’est plus amorçable. Peut-être la configuration du chargeur de démarrage a-t-elle été rompue lors de la tentative de modification, ou peut-être qu'un nouveau noyau l'on a installé ne démarre-t-il pas. Quelle que soit la cause, on a besoin d'un système sur lequel travailler pour corriger le problème, et le mode rescue peut être utile pour cela.

Description des options

Il existe plusieurs options pour récupérer un système Ubuntu en panne sur s390x:

Démarrage sur un ancien système

Le menu de démarrage de zipl offre par défaut une option permettant de démarrer un ancien noyau via l'option de démarrage numéro 2.

zIPL v2.3.0-build-20180425 interactive boot menu
  
 0. default (ubuntu) 
 
 1. ubuntu 
 2. old 
Please choose (default will boot in 10 seconds):

Les problèmes de démarrage sont souvent introduits avec une modification du noyau. Il y a donc de bonnes chances que le noyau précédent/ancien fonctionne toujours.

Démarrage en mode rescue

Une autre option consiste à utiliser le noyau d'installation et initrd en mode de secours (parfois aussi appelé mode de récupération). Pour activer le mode de secours, il faut démarrer avec le paramètre de démarrage rescue/enable=true, et ce paramètre doit être ajouté au fichier parmfile.ubuntu.

Le mode rescue

Démarrage en mode rescue

Le démarrage en mode rescue est légèrement différent pour une LPAR par rapport à un guest z/VM.

Pour une LPAR

Choisir l'installation réseau, indiquer le serveur où l'image a été extraite et le dossier ./boot de l'image. Ouvrir le fichier parmfile.ubuntu, ajouter le paramètre de démarrage rescue/enable=true et procéder la suite normalement pour une installation de partition logique, c'est-à-dire avec la tâche HMC Charger depuis un support amovible ou un serveur.

Mais il est préférable d’ajouter une entrée de démarrage dédiée pour le mode rescue. Par conséquent, copier le fichier parmfile.ubuntu et le fichier ubuntu.ins pour créer des versions distinctes pour le mode rescue, qui aboutissent à une entrée distincte en mode rescue dans la tâche Load from Removable Media or Server

Se connecter au serveur de démarrage réseau (FTP) et copier le fichier ins(installation) et le fichier de configuration:

$ cd <chemin d'accès à l'image de serveur ubuntu extraite> /ubuntu-server-18.04/boot
$ cp ubuntu.ins rescue.ins
$ cp parmfile.ubuntu parmfile.rescue

Modifier le nouveau fichier rescue.ins créé à partir du fichier par défaut:

$ cat rescue.ins
* Ubuntu for z Series (default kernel)
kernel.ubuntu 0x00000000
initrd.off 0x0001040c
initrd.siz 0x00010414
parmfile.ubuntu 0x00010480
initrd.ubuntu 0x01000000

, pointer sur le nouveau parmfile.rescue:

$ cat rescue.ins
* Ubuntu for z Series (default kernel)
kernel.ubuntu 0x00000000
initrd.off 0x0001040c
initrd.siz 0x00010414
parmfile.rescue 0x00010480
initrd.ubuntu 0x01000000

Ouvrir parmfile.rescue et ajouter rescue/enable=true (le fichier parmfile est vide par défaut):

$ cat parmfile.rescue
rescue/enable=true

Maintenant, démarrer la tâche Load from Removable Media or Server, sélectionner Source FTP, entrer les données du serveur de démarrage réseau (FTP), puis passer à l’étape Sélectionnez le logiciel à installer

On trouvera en plus de l’entrée par défaut une autre entrée pour le mode de rescue :

Load from Removable Media or Server - Select Software to Install - P00ABCDE:LINLPAR
Select the software to install.
Select | Name                                | Description
  *    | ubuntu-server-18.04/boot/rescue.ins | Ubuntu for z Series (default kernel)
  o    | ubuntu-server-18.04/boot/ubuntu.ins | Ubuntu for z Series (default kernel)

Sélectionner ubuntu-server-18.04/boot/rescue.ins et continuer avec OK.

Pour un guest z/VM

Il faut accéder au mini-disque où se trouvent les fichiers du programme d’installation, y compris parmfile.ubuntu, ajouter le paramètre de démarrage rescue/enable=true et procéder normalement pour une installation z/VM, c’est-à-dire l'exécution du script ubuntu exec REXX. Mais là encore, il est préférable d’ajouter un script de démarrage dédié pour le mode rescue.

Copier le fichier parmfile ubuntu et le fichier ubuntu exec pour créer des versions distinctes pour le mode rescue:

Se connecter au système z/VM, ayez le CMS actif (ipl-ed) et s'assurer d’avoir accès au minidisque où se trouvent les fichiers d’installation. Dans cet exemple, File Mode (Fm) A est utilisé, cela peut être différent en fonction du système. Copier les fichiers suivants:

copyfiles ubuntu exec a rescue exec a 
copyfiles parmfile ubuntu a parmfile rescue a

listfiles rescue * a
RESCUE EXEC     A1
listfiles * rescue a
PARMFILE RESCUE A1

Changer PARMFILE RESCUE (par défaut, il est vide):

x PARMFILE RESCUE A
* * * Top of File * * *
                      
* * * End of File * * *

Et ajouter le paramètre rescue:

x PARMFILE RESCUE A
* * * Top of File * * *
rescue/enable=true     
* * * End of File * * *

Modifier également le fichier RESCUE EXEC afin qu’il pointe vers le nouveau fichier parmfile rescue:

x RESCUE EXEC A
* * * Top of File * * *
/* REXX EXEC TO IPL Ubuntu's Rescue Mode */
/* z Systems FROM THE VM READER.         */
/*                                       */
'CP CLOSE RDR'                          
'PURGE RDR ALL'                         
'SPOOL PUNCH * RDR'                     
'PUNCH KERNEL    UBUNTU * (NOHEADER'   
'PUNCH PARMFILE  RESCUE * (NOHEADER'   
'PUNCH INITRD    UBUNTU * (NOHEADER'   
'CHANGE RDR ALL KEEP NOHOLD'            
'CP IPL 000C CLEAR'                     
* * * End of File * * *

Maintenant, démarrer le guest z/VM comme d’habitude, mais en utilisant le script REXX nouvellement créé pour le mode de secours, taper donc simplement: rescue <Enter>

Utilisation du mode rescue

En utilisant l’un ou l’autre des deux types d’installation, vous verrez apparaître les premiers écrans du programme d’installation, avec une note dans le coin de l’écran pour indiquer qu’il s’agit d’un mode recue et non d’une installation complète:

Rescue mode
                        [?] Ubuntu installer main menu                         
                                                                              
              Choose the next step in the install process:                    
                                                                              
                   Configure the network device                               
                   Configure the network                                      
                   Choose language                                            
                   Choose a mirror of the Ubuntu archive                      
                   Download installer components                              
                   Change debconf priority                                    
                   Save debug logs                                            
                   Execute a shell                                            
                   Abort the installation                                     

Le système n'est pas sur le point d'être écrasé! Le mode “Rescue” tire simplement parti des fonctions de détection de matériel disponibles dans le programme d'installation pour assurer que les disques, périphériques réseau, etc., sont disponibles lors de la réparation du système.

Au lieu de l'outil de partitionnement, on a maintenant accès à une liste des partitions du système dans laquelle on est invité à en sélectionner une. Normalement, on doit sélectionner la partition contenant le système de fichiers root que l'on souhaite réparer. On peut sélectionner des partitions sur les périphériques RAID et LVM ainsi que sur celles créées directement sur les disques:

Rescue mode                                                                     
                            [!!] Enter rescue mode
                                                                              
   Enter a device you wish to use as your root file system. You will be       
   able to choose among various rescue operations to perform on this          
   file system.                                                               
                                                                              
   If you choose not to use a root file system, you will be given a           
   reduced choice of operations that can be performed without one. This       
   may be useful if you need to correct a partitioning problem.               
                                                                              
   Device to use as root file system:                                         
                                                                              
                      /dev/sda1                                               
                      /dev/sdb1                                               
                      Assemble RAID array                                     
                                                                              
       <Go Back>                                                     

Si possible, le programme d'installation présentera maintenant une invite du shell dans le système de fichiers sélectionné, que l'on peut utiliser pour effectuer les réparations nécessaires.

Si le programme d'installation ne peut pas exécuter un shell utilisable dans le système de fichiers root sélectionné, peut-être parce que le système de fichiers est corrompu, il émettra un avertissement et proposera de donner un shell dans l'environnement du programme d'installation. On ne disposera peut-être pas autant d'outils disponibles dans cet environnement, mais ils suffiront souvent pour réparer le système de toute façon. Le système de fichiers root sélectionné sera monté dans le répertoire /target.

Une option triviale consiste simplement à démarrer le noyau d'installation standard et initrd sans aucun paramètre de noyau supplémentaire, puis à sélectionner l'entrée Start Shell dans l'écran initial.

                             [!!] Configuring d-i
                                                                              
   This is the network console for the Debian installer. From here, you       
   may start the Debian installer, or execute an interactive shell.           
                                                                              
   To return to this menu, you will need to log in again.                     
                                                                              
   Network console option:                                                    
                                                                              
                      Start installer                                         
                      Start installer (expert mode)                           
                      Start shell                                             

La fonctionnalité du shell de l’installateur Debian est limitée, mais il peut toujours servir de système de secours pour réparer une installation endommagée. Lorsqu'on n'utilise pas le mode rrecue, veiller à ne pas repartitionner ou formater accidentellement un disque susceptible de provoquer une perte de données.

Dans les deux cas, après avoir quitté le shell, le système redémarre.

ibm/zvm-ubuntu-rescue.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1