Como remover o disco ZIL quebrado do pool do ZFS

7

Eu tenho um pool ZFS, que contém dois discos rígidos espelhados e um ramdisk para logs. No meu cenário, esse disco de log morreu:

# zpool status -x tank
  pool: tank
 state: FAULTED
status: An intent log record could not be read.
    Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
    or ignore the intent log records by running 'zpool clear'.
   see: http://illumos.org/msg/ZFS-8000-K4
  scan: none requested
config:

    NAME                    STATE     READ WRITE CKSUM
    tank                    FAULTED      0     0     0
      mirror-0              ONLINE       0     0     0
        ada0                ONLINE       0     0     0
        ada1                ONLINE       0     0     0
    logs
      6324139563861643487   UNAVAIL      0     0     0  was /dev/md1

Agora eu gostaria de descartar logs perdidos e remover o dispositivo morto da piscina, mas eu não posso fazer isso:

# zpool clear -F tank 6324139563861643487
cannot clear errors for 6324139563861643487: one or more devices is currently unavailable

Eu também não consigo trazer a piscina on-line:

# zpool remove tank 6324139563861643487 
cannot open 'tank': pool is unavailable

Como eu ignoro os registros de log de intenção?

    
por Anthony Ananich 18.05.2014 / 19:26

2 respostas

3

Existe uma opção que permite importar o pool com um dispositivo quebrado. Foi assim que consegui recuperar a piscina:

# zpool export tank
# zpool import -m tank
# zpool status tank
  pool: tank
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://illumos.org/msg/ZFS-8000-2Q
  scan: none requested
config:

NAME                    STATE     READ WRITE CKSUM
tank                    DEGRADED     0     0     0
 mirror-0              ONLINE       0     0     0
   gpt/disk1           ONLINE       0     0     0
   gpt/disk2           ONLINE       0     0     0
logs
 6324139563861643487   UNAVAIL      0     0     0  was /dev/md1
cache
 gpt/disk3             ONLINE       0     0     0

errors: No known data errors
# zpool clear tank
# zpool remove tank 6324139563861643487
# zpool status tank
  pool: tank
 state: ONLINE
  scan: none requested
config:

NAME                    STATE     READ WRITE CKSUM
tank                    ONLINE       0     0     0
 mirror-0              ONLINE       0     0     0
   gpt/disk1           ONLINE       0     0     0
   gpt/disk2           ONLINE       0     0     0
cache
 gpt/disk3             ONLINE       0     0     0

errors: No known data errors
    
por 11.09.2014 / 15:49
-1

Acho que você deve substituir o dispositivo com falha antes de poder trazer a piscina on-line.

Então você pode descartar usando o disco de log.

    
por 25.06.2014 / 18:07

Tags