GNU/Linux >> Tutoriels Linux >  >> Linux

Comment remplacer un disque dans un pool ZFS non redondant ?

zpool attach pool old-disk new-disk

Cela convertira l'ancien disque en un miroir avec à la fois l'ancien disque et le nouveau disque et commencera la réargenture après quoi vous pourrez détacher l'ancien disque.

zpool detach pool old-disk

Testé avec des appareils en boucle :

# truncate -s 1G a b
# truncate -s 1200M c
# losetup  /dev/loop0 a
# losetup  /dev/loop1 b
# losetup  /dev/loop2 c
# zpool create test loop{0,1}
# zpool attach test loop1 loop2
# zpool status
      pool: test
 state: ONLINE
  scan: resilvered 62K in 0h0m with 0 errors on Wed Jul 31 13:43:19 2013
config:

        NAME        STATE     READ WRITE CKSUM
        test        ONLINE       0     0     0
          loop0     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            loop1   ONLINE       0     0     0
            loop2   ONLINE       0     0     0
# zpool detach test loop1
# zpool status
  pool: test
 state: ONLINE
  scan: resilvered 62K in 0h0m with 0 errors on Wed Jul 31 13:43:19 2013
config:

        NAME        STATE     READ WRITE CKSUM
        test        ONLINE       0     0     0
          loop0     ONLINE       0     0     0
          loop2     ONLINE       0     0     0

Je ne sais pas si les choses étaient si différentes dans `13 mais 'zfs replace' fonctionne sur des pools non redondants. Vous exécutez simplement la commande 1 au lieu de vous détacher en premier.

d1 est 1G, d2 est 2G, les deux sont des fichiers vides dans /tmp :

/t/test #> zpool create test /tmp/test/d1
/t/test #> zpool set autoexpand=on test
/t/test #> zpool status
  pool: test
 state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      /tmp/test/d1  ONLINE       0     0     0

errors: No known data errors
/t/test #> zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
test   1008M   258K  1008M         -     0%     0%  1.00x  ONLINE  -


/t/test #> zpool replace test /tmp/test/d1 /tmp/test/d2


/t/test #> zpool status
  pool: test
 state: ONLINE
  scan: resilvered 61K in 0h0m with 0 errors on Sun Sep 18 18:55:32 2016
config:

    NAME            STATE     READ WRITE CKSUM
    test            ONLINE       0     0     0
      /tmp/test/d2  ONLINE       0     0     0

errors: No known data errors
/t/test #> zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
test   1.98G   408K  1.98G         -     0%     0%  1.00x  ONLINE  -

Linux
  1. Comment partitionner un disque sous Linux

  2. Comment remplacer une chaîne dans un ou plusieurs fichiers ?

  3. Comment configurer le système de fichiers ZFS sous Linux avec des exemples de commande zpool

  4. Comment déplacer /tmp sur un disque séparé en tant que point de montage séparé (en ligne)

  5. Pourquoi mon pool ZFS ne s'étend-il pas à l'aide de ZFS sous Linux ?

Comment créer des partitions sous Linux

Comment vérifier l'utilisation de l'espace disque sous Linux

Comment connecter les éditeurs en ligne ONLYOFFICE à OwnCloud

Comment répertorier les partitions de disque sous Linux

Comment configurer un pool de stockage ZFS sur Ubuntu

Comment chiffrer une partition sous Linux