GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo reemplazar un disco en un grupo ZFS no redundante?

zpool attach pool old-disk new-disk

Eso convertirá el disco antiguo en un espejo tanto con el disco antiguo como con el disco nuevo y comenzará a volver a instalar, después de lo cual podrá desconectar el disco antiguo.

zpool detach pool old-disk

Probado con dispositivos de bucle:

# 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

No sé si las cosas eran tan diferentes en `13 pero 'zfs replace' funciona en grupos no redundantes. Simplemente ejecuta el comando 1 en lugar de separarlo primero.

d1 es 1G, d2 es 2G, ambos son archivos vacíos en /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. Cómo particionar un disco en Linux

  2. ¿Cómo reemplazar una cadena en un archivo (s)?

  3. Cómo mover /tmp en un disco separado como un punto de montaje separado (en línea)

  4. ¡Cómo escapar! en contraseña?

  5. ¿Por qué mi grupo de ZFS no se expande con ZFS en Linux?

Cómo crear particiones en Linux

Cómo verificar el uso del espacio en disco en Linux

Cómo conectar los editores en línea de ONLYOFFICE a OwnCloud

Cómo enumerar particiones de disco en Linux

Cómo configurar un grupo de almacenamiento ZFS en Ubuntu

Cómo cifrar la partición en Linux