HowtoRAIDLogiciel: avertissements et cas UEFI
This commit is contained in:
parent
62d39acbd5
commit
c1a7d0624a
|
@ -99,40 +99,42 @@ ARRAY /dev/md42 UUID=457bb528:02ab827a:a7d2dac2:42fd5302
|
||||||
|
|
||||||
### Remplacer un disque
|
### Remplacer un disque
|
||||||
|
|
||||||
Cas classique : vous avez un disque défectueux (prenons */dev/sdz*) et plusieurs volumes RAID,
|
Cas classique : vous avez un disque défectueux, `/dev/newdisk`, et plusieurs volumes RAID,
|
||||||
par exemple *md1*, *md2*, etc. Voici précisément comment le remettre en place :
|
par exemple `md1`, `md2`, etc. Voici précisément comment le remettre en place :
|
||||||
|
|
||||||
En table de partitions GPT :
|
En table de partitions GPT :
|
||||||
|
|
||||||
|
**Rappel** : `/dev/newdisk` est le disque à remplacer, `/dev/sda` est un disque sain.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# apt install gdisk
|
# apt install gdisk
|
||||||
# sgdisk --replicate=/dev/sdz.new /dev/sda.old
|
# sgdisk --replicate=/dev/newdisk /dev/sda
|
||||||
# sgdisk --randomize-guids /dev/sdz.new
|
# sgdisk --randomize-guids /dev/newdisk
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
En table de partitions DOS (si inférieure ou égale à Debian 7) :
|
En table de partitions DOS (si inférieure ou égale à Debian 7) :
|
||||||
|
|
||||||
|
**Rappel** : `/dev/newdisk` est le disque à remplacer, `/dev/sda` est un disque sain.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# sfdisk --dump /dev/sda.old > /tmp/part.out
|
# sfdisk --dump /dev/sda > /tmp/part.out
|
||||||
# sfdisk --force /dev/sdz.new < /tmp/part.out
|
# sfdisk --force /dev/newdisk < /tmp/part.out
|
||||||
# partprobe /dev/sdz.new
|
# partprobe /dev/newdisk
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Puis on restaure les partitions, par exemple :
|
Puis on restaure les partitions, par exemple :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# mdadm /dev/md1 --add /dev/sdz.new1
|
# mdadm /dev/md1 --add /dev/newdisk1
|
||||||
mdadm: added /dev/sdz.new1
|
mdadm: added /dev/newdisk1
|
||||||
# mdadm /dev/md2 --add /dev/sdz.new2
|
# mdadm /dev/md2 --add /dev/newdisk2
|
||||||
mdadm: added /dev/sdz.new2
|
mdadm: added /dev/newdisk2
|
||||||
# mdadm /dev/md3 --add /dev/sdz.new3
|
# mdadm /dev/md3 --add /dev/newdisk3
|
||||||
mdadm: added /dev/sdz.new3
|
mdadm: added /dev/newdisk3
|
||||||
# mdadm /dev/md5 --add /dev/sdz.new5
|
|
||||||
mdadm: added /dev/sdz.new5
|
|
||||||
# mdadm /dev/md6 --add /dev/sdz.new7
|
|
||||||
mdadm: added /dev/sdz.new7
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
**Attention** : si le serveur démarre en UEFI, il faut aussi copier la partition EFI et la définir comme option de démarrage avec `efibootmgr`. Voir la section [#partition-efi]().
|
||||||
|
|
||||||
> *Note* : `sfdisk` peut nécessiter d'avoir un disque déjà partitionné, le contournement est de créer une partition quelconque avant de l'utiliser avec un disque vierge.
|
> *Note* : `sfdisk` peut nécessiter d'avoir un disque déjà partitionné, le contournement est de créer une partition quelconque avant de l'utiliser avec un disque vierge.
|
||||||
|
|
||||||
### Sortir une partition d'un volume RAID
|
### Sortir une partition d'un volume RAID
|
||||||
|
@ -408,8 +410,10 @@ sdb disk
|
||||||
On veut que le serveur puisse démarrer sur `/dev/sdb1` si jamais `/dev/sda` est hors service. Pour copier `/dev/sda1` dans `/dev/sdb1` et ajouter une nouvelle entrée de démarrage :
|
On veut que le serveur puisse démarrer sur `/dev/sdb1` si jamais `/dev/sda` est hors service. Pour copier `/dev/sda1` dans `/dev/sdb1` et ajouter une nouvelle entrée de démarrage :
|
||||||
|
|
||||||
```
|
```
|
||||||
# dd if=/dev/sda1 of=/dev/sdb1
|
# cp /dev/sda1 /dev/sdb1
|
||||||
# efibootmgr -c -g -d /dev/sdb -p 1 -L debian -l '\EFI\debian\grubx64.efi'
|
# efibootmgr -c -g -d /dev/sdb -p 1 -L debian -l '\EFI\debian\grubx64.efi'
|
||||||
```
|
```
|
||||||
|
|
||||||
Attention : les données dans `/dev/sdb1` ne seront pas mises à jour en même temps que celles dans `/dev/sda1`. Il faudra rejouer la commande `dd` pour mettre à jour la partition. Pour savoir quelle partition est actuellement montée sur `/boot/efi` : `# findmnt /boot/efi`.
|
Attention : pour un disque NVMe, si la partition EFI est `/dev/nvme0n1p1`, le disque à donner à `efibootmgr` (option `-d`) est `/dev/nvme0n1` sans la lettre `p`.
|
||||||
|
|
||||||
|
Attention : les données dans `/dev/sdb1` ne seront pas mises à jour en même temps que celles dans `/dev/sda1`. Il faudra rejouer la commande `cp` pour mettre à jour la partition. Pour savoir quelle partition est actuellement montée sur `/boot/efi` : `# findmnt /boot/efi`.
|
||||||
|
|
Loading…
Reference in a new issue