documentation/outils/materiel/disques/changer-disque-hyperviseur.md

5.6 KiB
Raw Blame History

Changer un disque dun hyperviseur

Cette fiche a pour vocation de documenter le changement dun disque pour un hyperviseur.

Disposition actuelle

Actuellement, chaque hyperviseur a deux disques de 1 à 2To, en redondance. Il faut noter que la redondance boot est gérée par Proxmox, la redondance donnée est quant à elle gérée par ZFS. Ils sont partitionnés comme suit:

  • Partition despacement, du secteur 2014 secteurs de 34 à 2047. Parfois de 2048 à 4095. Cette partition ne contient aucune données, elle ne sert que comme espacement avant la première «vraie» partition???

  • Partition de boot, cette partition soccupe du démarrage du système, elle est entièremnt gérée par Proxmox. Elle occupe 512Mo à partir du secteur 2048 /

  1. Cest une partition EFI.
  • Le reste du disque est occupée par la partiton de donnée (par exemple 1To), cest une partiton en miroir gérée par ZFS, elle a le type Solaris /usr & Apple ZFS. Il est important de noter que ZFS ne soccupe du miroir que dune unique partition et non du disque entier.

Cette table de partition est donnée à titre indicative, et peut varier ou être amené à évoluer. En cas de changement de disque, il est préférable de copier le partitionnement de lautre disque le plus fidélement possible.

Changement physique du disque

Identifier le disque à changer grâce à la LED de statut, et procéder au changement physique du disque. De nombreux bugs de compatibilité ou physique peuvent survenir quil faudra malheuresement traiter au cas pour cas. Les conseils de débuggage de la fiche en question sappliquent, notamment dmesg -T qui journalise les évènement disques notamment.

Partitionnement du nouveau disque

Cette étape peut se faire sur un ordinateur en amont ou directement sur la machine si elle fonctionne. Cette étape peut se faire via lutilitaire fdisk préinstallé sur les serveurs.

Pour lister les disques actuellement présents et leurs table de partionnement faites:

fdisk -l

Une fois le disque identifié (nous supposerons dans la suite que vous souhaitez repartitionner le disque /dev/sdx), pour commencer lédition, tapez:

fdisk /dev/sdx

Cela ouvre une interface interractive afin de gérer le partionnement, les changements seront mis en cache, et il faut les valider à la fin.

Tapez p pour afficher la table de partitionnement courante. Et m pour la liste des commandes.

La première étape est de (re)faire une table de partitionnement. Nous utiliserons le format GPT. Tapez g pour créer une table vierge.

Il faut maintenat créer les partitions. Nous commençons par la partition despacement. Tapez n pour ajouter une nouvelle partition. Donnez lui lidentifiant 1. Mettez le premier secteur à 34 ou 2048 en fonction de ce que permet le disque. Entrez ensuite le dernier secteur 2047 ou 4095. Il faut ensute changer le type de la partition avec t en BIOS boot (numéro 4). Lauteur de ces lignes se demande si cette partition est vraiment utile?

Nous allons créer la partition. Créer une partition 2 en tapant n. Faites la commencer après la premiére (option par défaut). Donnez lui, 512Mo en tapant +512M. Puis changer le type via t en EFI System (numéro 1).

Il faut maintenant créer la partition de données. Créer une partition 3 avec n. Faites la commencer après (défaut). Laissez là prendre toute la fin du disque (option par défaut) ou faites la correspondre à la taille de lautre disque (en donnant +nombre de secteur par exemple). Changer le type en Solaris /usr & Apple ZFS via t (numéro 163).

La table de partitionnement est maintenant complète, vérifiez-là une dernière fois avec p avant de lenregistrer avec w.

Redondance boot

Nous allons configurer la deuxième partition EFI pour le démarrage du système. Cela nécessite dutiliser lutilitaire proxmox-boot-tool. Je suppose dans la suite que cette partition est /dev/sdx2. La documentation officielle est https://pve.proxmox.com/wiki/Host_Bootloader.

Pour afficher les disques de démarrage, faites proxmox-boot-tool status. Si des anciens disques sont toujours présents, il est possible de néttoyer avec proxmox-boot-tool clean (à vérifier).

Nous allons commencer par formater la partition avec proxmox-boot-tool format /dev/sdx2.

Ensuite nous initialisons le système avec proxmox-boot-tool init /dev/sdx2.

Le disque doit maintenant apparaître dans proxmox-boot-tool status.

Miroir ZFS

Il faut maintenant configurer le miroir zfs de la partition de données que je supposerais être /dev/sdx3. Je suppose ici que la pool zfs est configuré et quil sagit dun simple changement de disque.

Faites zpool status pour voit létat de la pool. Un des disques doit être dans létat REMOVED ou OFFLINE. Notez sont nom, cela peut-être soit lidentifiant de lancien disque ou un numéro quelquonque.

Il faut identifier le nom du nouveau disque, par exemple via ls -l /dev/disk/by-id. Notez le nom de la partition, par exemple ata-ST2000XX000-xxxxxx_XXXXXXXX-part3. Attention! Contrairement au disques de stockage, nous nous intéressons seulement à synchroniser la partition de données, remarquez le -part3.

Nous pouvons maintenant lancer le remplacement avec zpool replace rpool <ancien disque> <nouveau disque>-part3rpool est le nom de la pool où effectuer le changement (on noublie pas le -part3!). La commande peut prendre quelques minutes à séxécuter.

ZFS va maintenant procéder à la synchronisation du miroir. Cette opération peut prendre quelques heures à une journée.