Salut,
ernie wrote:Je sais que le resilvering est sévère pour l'ensemble des disques du pool.
Je ne comprends pas tellement "cette certitude"
... c'est plus l'intégrité du pool qui est important que "l'ensemble des disques"
ZFS ne fait que des transactions de blocs.
Il a des objectifs (lire,écrire, "resilverer", ...) Tout ceci se fait par transaction, il récupère ce qu'il a besoin puis met en place les choses avec une "logique".
Certes, dans un environment très sollicité, pour éviter des usures prematurées de la mécanique des disques durs, il faut respecter des "montages propres" pour que le matériel s'use correctement.
Mais, hormis cet aspect, il n'y aucune importance, ZFS est un FS moderne et il s'adapte (il lui faut juste de la mémoire).
En gros, on peut faire les pires montages, mélanger des disques lents et rapides, faire un pool entrelacés avec un vieux disque IDE et un SSD, faire un miroir avec un disque dur et une clef USB, et autres joyeuseté, çà n'a aucune importance !, il fera ce qu'il faut avec ce qu'il a, tout simplement.
Si tu veux utliser ton pool pendant un resilvering, le soucis se situera sur les capacités de la machine que tu mets a disposition, c'est à dire que dans l'idéal il faut que le temps de resilvering soit le plus court possible (pour retrouver le niveau de fiabilité le plus haut).
C'est là que tombe tous les artifices qui permettent d'optimiser le fonctionnement de ZFS, je veux dire par là qu'on peut mettre un SSD en zcache pour accélérer les lectures (en fait diminuer les lectures sur le pool) et éventuellement un zlog (pour faire des écritures mieux "absorbées" par le pool), mais dans le cas d'un resilvering ou d'un scrub, le zcache et le zlog ne servent à rien, c'est le pool uniquement qui est en jeu.
Donc, c'est purement un aspect "matériel" qui sera important. C'est pour çà qu'un resilvering qui se fera sur un pool à base de SATA et pire encore en USB durera "une plombe" ou plus exactement "une durée critique gênante pendant l'opération". Quand on a des données importantes il faut "penser" au système lorsqu'il sera dans ce genre de phase (resilvering ou scrub).
Mais peut importe le type de dev, ce qui est important, c'est d'avoir des dev qui soit viable.
Pour moi, le plus important et de revenir à une situation optimale dans le niveau le plus élevé et dans le plus bref délai, on pourrait imaginer une chose du style:
niveau 3: scrub venant d'être terminée et tous les dev OK et de même type et de hautes performances (SAS)
niveau 2: scrub venant d'être terminée et tous les dev OK et de même type
niveau 1: scrub venant d'être terminée et tous les dev OK
niveau 0: pool en fonctionnement (çà semble marcher, on en sait pas plus)
niveau -1: dev en défaut mais avec une structure prête (comme le miroir)
niveau -2: dev en défaut mais avec une structure/action a mettre en place (action physique à faire)
niveau -3: dev en défaut mais avec une structure/action a mettre en place et avec des dev lents ou hétérogènes
Mais c'est un vision simpliste.
Car il faut metre par là-dessus une charge éventuelle et des risques potentiels (un resilvering depuis 2 jours à 97% avec une coupure de courant

... Yeesss ! )
Par expérience (la mienne, et, elle n'est pas forcément bonne car limitée), il faut retrouver le meilleur état de fonctionnement et au plus vite, ZFS pardonnera et fermera les yeux sur les dev qu'on lui donne, mais il lui faut un niveau de réplication de données suffisant.
Dans ton cas, il faudrait voir comment se passe un scrub (temps), ce que çà représente.
- si il est rapide, tu peux te permettre d'enlever un disque et de le remplacer par un autre (l'idéal serait un raidz2: un disque en panne et un disque pour "l'échange" volontaire".
C'est pour moi le plus tranquille
Il faut voir ta charge en cas de resilvering, avoir un SSD n'améliorera aucunement le resilvering mais allégera la lecture du pool, donc, laissera "la dispo système" pour le resilvering. Il faut bien voir là deux opérations avec des buts distincts et malheureusement, utiliser un système en charge avec une opération de resilvering sera dans la réalité un "tout".
A moins d'avoir une "charge immense", ne te focalise pas sur les dev de différents types, ZFS gère très bien la chose, il faut en priorité absolue avoir une niveau de réplication le plus élevé possible.
Je ne sais pas si j'ai vraiment répondu à ta question
... mais je donne le fond de ma pensée (Sleid aura peut-être une vision différente)