Repérer le disque en erreur :
# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Mon Aug 30 09:08:11 2021
Raid Level : raid1
Array Size : 487204864 (464.63 GiB 498.90 GB)
Used Dev Size : 487204864 (464.63 GiB 498.90 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Fri Nov 17 09:02:39 2023
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Consistency Policy : bitmap
Name : 51-15-15-150:1
UUID : bbc193b6:b0f276fa:a3635716:c6f5186e
Events : 37531
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
- 0 0 1 removed
1 8 19 - faulty /dev/sdb3
Sortir le disque de l’array RAID :
mdadm --manage /dev/md1 --fail /dev/sdb3 --remove /dev/sdb3
Remplacer physiquement le disque.
Redémarrer le serveur en mode rescue.
Créer les partitions sur le nouveau disque (reference : https://wiki.evolix.org/HowtoRAIDLogiciel) :
fdisk -l /dev/sda <== regarder le type de partition
Si GPT :
sgdisk --replicate=/dev/newdisk /dev/sda
sgdisk --randomize-guids /dev/newdisk
Si MS-DOS :
sfdisk --dump /dev/sda > /tmp/part.out
sfdisk --force /dev/newdisk < /tmp/part.out
partprobe /dev/newdisk
Puis ajouter les partitions au RAID :
mdadm /dev/md1 --add /dev/newdisk1
mdadm /dev/md2 --add /dev/newdisk2
[...]
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 https://wiki.evolix.org/HowtoRAIDLogiciel#partition-efi)
Installer le secteur de démarrage :
mount /dev/mdX /mnt
mount --rbind /dev /mnt/dev
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
chroot /mnt bash
grub-install /dev/newdisk
Rebooter en mode normal.
Détecter le disque à changer :
for id in $(megacli -PDlist -a0 | grep "Device Id" | awk '{print $3}' | sort -n); do echo "LSI ID : $id" ; /usr/lib/nagios/plugins/check_smart.pl -l -i megaraid,$id -d /dev/sda | grep -v "^OK"; echo ; done
Récupérer le status RAID :
megaclisas-status
Récupérer le status SMART :
smartctl -s on -a -d megaraid,23 ${DEVICE} -T permissive
Faire clignoter la LED du disque pour faciliter la détection physique sur le châssis :
megacli -PdLocate --start -PhysDrv [8:4] -a0
Créer un ticket au support :
Un disque remonte des erreurs SMART sur le serveur sd-125287.
Erreur remontée : Reported_Uncorrect=19
Serial du disque : 164114FF4824.
Afin de faciliter la détection physique du disque sur le châssis, nous avons activé sa LED clignotante.
Voici un test RAID :
# megaclisas-status
[...]
Voici le log SMART complet sur disque en question :
# smartctl -s on -a -d megaraid,23 /dev/sda -T permissive
[...]