En plus de la commandezpool add, vous pouvez utiliser la commande zpool attachpour ajouter un périphérique à un périphérique existant, en miroir ou non.
Si vous connectez un disque pour créer un pool root mis en miroir, reportez-vous à la section Configuration d'un pool root mis en miroir (SPARC ou x86/VTOC).
Si vous remplacez un disque dans le pool root ZFS, reportez-vous à la section Remplacement d'un disque dans un pool root ZFS (SPARC ou x86/VTOC).
Exemple 3-5 Conversion d'un pool de stockage bidirectionnel mis en miroir en un pool de stockage tridirectionnel mis en miroirDans cet exemple, zeepool est un miroir bidirectionnel. Il est converti en un miroir tridirectionnel via la connexion de c2t1d0, le nouveau périphérique, au périphérique existant, c1t1d0.
# zpool status zeepool pool: zeepool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM zeepool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 errors: No known data errors # zpool attach zeepool c1t1d0 c2t1d0 # zpool status zeepool pool: zeepool state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Fri Jan 8 12:59:20 2010 config: NAME STATE READ WRITE CKSUM zeepool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 592K resilvered errors: No known data errors
Si le périphérique existant fait partie d'un miroir tridirectionnel, la connexion d'un nouveau périphérique crée un miroir quadridirectionnel, et ainsi de suite. Dans tous les cas, la réargenture du nouveau périphérique commence immédiatement.
Exemple 3-6 Conversion d'un pool de stockage ZFS non redondant en pool de stockage ZFS en miroirEn outre, vous pouvez convertir un pool de stockage non redondant en pool de stockage redondant à l'aide de la commande zpool attach. Par exemple :
# zpool create tank c0t1d0 # zpool status tank pool: tank state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 errors: No known data errors # zpool attach tank c0t1d0 c1t1d0 # zpool status tank pool: tank state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Fri Jan 8 14:28:23 2010 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t1d0 ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 73.5K resilvered errors: No known data errors
Vous pouvez utiliser la commande zpool detach pour séparer un périphérique d'un pool de stockage mis en miroir. Par exemple :
# zpool detach zeepool c2t1d0
Toutefois, cette opération échouera en l'absence de répliques de données valides. Par exemple :
# zpool detach newpool c1t2d0 cannot detach c1t2d0: only applicable to mirror and replacing vdevs