Vous devez être en mesure de zpool attach
le nouveau disque plus grand, attendez que la mise en miroir soit terminée, puis zpool detach
les anciens lecteurs.
編集部 : J'avais mal lu votre question, et j'étais persuadé que vous les utilisiez en tant que miroir.
Je reconnais que la meilleure solution consiste à créer un nouveau pool et à envoyer de manière récursive tous les jeux de données vers le nouveau pool, mais si vous ne pouvez vraiment pas le faire, vous pouvez toujours suivre les étapes que je décris, à condition de partitionner le nouveau disque, plus grand, en deux partitions, chacune au moins aussi grande que le disque qu'elle est censée remplacer.
Je vous le déconseille, principalement parce que (1) la gestion devient plus complexe et (2) vous ne pourrez pas tirer parti du cache en écriture du disque.
Je colle ici la séquence telle qu'elle a été réalisée sur une boîte Illumos récente. Veuillez noter que je crée des fichiers vides pour montrer cela, au lieu d'utiliser des disques entiers et des tranches/partitions, car je ne peux pas jongler avec les périphériques physiques sur cette boîte. Les fichiers sont nommés aa1
, aa2
et aa3
.
-
Préparer les appareils. aa3
est d'une taille de 200 millions, tandis que aa1
et aa2
sont de 100M seulement :
# dd if=/dev/zero of=/opt/local/aa1 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa2 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa3 bs=1M count=200
-
Créer notre groupe de test :
# zpool create test mirror /opt/local/aa1 /opt/local/aa2
Vérifier que tout s'est bien passé :
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 106K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 106K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
-
Régler le autoexpand
propriété :
# zpool set autoexpand=on test
-
Attachez le nouveau dispositif :
# zpool attach test /opt/local/aa2 /opt/local/aa3
Tout va bien ?
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 120K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 120K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
/opt/local/aa3 - - - -
Oui, c'est le cas.
-
Détachez les deux premiers développeurs :
# zpool detach test /opt/local/aa1
# zpool detach test /opt/local/aa2
Enfin, vérifions à nouveau la piscine :
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 196M 124K 195M - 0% 1.00x ONLINE -
/opt/local/aa3 196M 124K 195M -
Il est correctement passé à 200 Mo.