5 votes

Puis-je consolider un zpool zfs multi-disques sur un seul disque (plus grand) ?

J'ai ce zpool :

    bash-3.2# zpool status dpool
  pool: dpool
 state: ONLINE
 scan: none requested
 config:
        NAME                                     STATE     READ WRITE CKSUM
        dpool                                    ONLINE       0     0     0
          c3t600601604F021A009E1F867A3E24E211d0  ONLINE       0     0     0
          c3t600601604F021A00141D843A3F24E211d0  ONLINE       0     0     0

Je voudrais remplacer ces deux disques par un seul (plus grand). Est-ce possible ? zpool attach me permet de remplacer un disque physique, mais pas les deux à la fois.

7voto

ewwhite Points 193555

Non, je ne pense pas que cela soit possible de la manière que vous décrivez.

Vous peut Cependant, créez un nouveau pool avec le disque unique et copiez vos systèmes de fichiers ZFS dans le nouveau pool à l'aide d'une simple commande zfs send/receive processus.

1voto

Michael McCloskey Points 1765

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 .

  1. 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
  2. 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      -      -      -         -
  3. Régler le autoexpand propriété :

    # zpool set autoexpand=on test
  4. 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.

  5. 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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X