ZFS hot replace

ZFS permet de remplacement automatiquement des disques à chaud. Cela permet par exemple d’étendre la capacité du pool ZFS ou encore de remplacer un disque défectueux, ou encore de changer de technologie de disque (passage sur un SSD, sur une autre technologie d’IO virtuelles…) Nous allons ici partir du principe que notre serveur possède un slot de libre (sur une VM c’est plus simple, il suffit d’ajouter le disque à chaud). Nous insérons un disque de données vierge de capacité égale (ou supérieure) dans ce slot. Il est reconnu par le système en mode hotplug (SATA, SCSI, Virtio…). Afin de remplacer le disque, il suffit de taper la commande:

zfs replace mypool ada2 /dev/ada3

Bien sur vous pouvez choisir de changer de technologie de disque (ici une migration d’un disque ATA vers un disque virtio:

zfs replace mypool ada2 /dev/vtbd0

Vous pourrez ensuite vérifier l’état de la récupération avec:

zpool status

S’il y a un nombre suffisant de données, vous verrez le pool passer en mode resilvering. Cela signifie qu’il copie les données du premier disque vers le second. Voilà, vous savez désormais comment remplacer un disque dans un pool ZFS Dans mon cas cela a permis de passer d’une technologie SATA en mode writethough à des disques Virtio en mode DirectSync, améliorant sensiblement les performances d’écriture.