Merge branch 'disques' into 'master'

Draft: Changeent d’un disque d’Hyperviseur

See merge request nounous/documentation!43
merge-requests/43/merge
Pyjacpp 2026-06-15 23:45:18 +02:00
commit 12080f4219
4 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,126 @@
# 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 /
4096. 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>-part3` où `rpool` 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.