Ao experimentar a E / S de gravação, a coluna de log zpool iostat -v
nunca mostra nenhuma atividade do ZIL. Isso resulta em tempos de espera maiores do que o esperado ao gravar dados no disco (algumas vezes acima de 80ms durante a contenção).
capacity operations bandwidth
pool alloc free read write read write
---------------- ----- ----- ----- ----- ----- -----
storage 1.88T 2.09T 3 3.01K 512K 39.3M
mirror 961G 1.05T 0 1.97K 128K 20.8M
mpathf - - 0 393 0 20.8M
mpathg - - 0 391 128K 20.6M
mirror 961G 1.05T 2 1.04K 384K 18.5M
mpathi - - 1 379 256K 21.1M
mpathj - - 0 281 128K 18.3M
logs - - - - - -
/zlog/zilcache 0 15.9G 0 0 0 0
cache - - - - - -
mpathk 232G 8M 1 0 130K 0
mpathl 232G 8M 1 0 130K 0
---------------- ----- ----- ----- ----- ----- -----
Meu dispositivo / zlog / zilcache nunca possui E / S. É um arquivo em flash muito rápido. Posso escrever e ler quando removê-lo do armazenamento do ZFS, mas o ZFS parece ignorá-lo.
O dispositivo parece disponível:
pool: storage
state: ONLINE
scan: scrub repaired 0 in 19h31m with 0 errors on Wed Nov 19 07:39:03 2014
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
mpathf ONLINE 0 0 0
mpathg ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
mpathi ONLINE 0 0 0
mpathj ONLINE 0 0 0
logs
/zlog/zilcache ONLINE 0 0 0
cache
mpathk ONLINE 0 0 0
mpathl ONLINE 0 0 0
errors: No known data errors
Alguma maneira de configurar o ZFS para armazenar em cache gravações no dispositivo de logs para obter reconhecimentos mais rápidos?
obrigado
linux
zfs
cache
zfsonlinux
user1955162
fonte
fonte
Respostas:
Eu acredito que você está entendendo mal o propósito do ZIL. Você o descreve como um cache de gravação que não é. Nenhuma atividade no ZIL pode ser apenas um comportamento normal, dependendo do que está sendo executado em sua máquina.
Nada é lido no ZIL, este é um dispositivo somente para gravação. A única exceção possivelmente ocorreria durante uma importação de pool após uma falha.
Existem gravações apenas se os aplicativos estiverem executando gravações síncronas. E / S regulares, como mover arquivos, não estão usando o ZIL.
Você pode definir
sync=always
no conjunto de dados para forçar todas as gravações a se comportarem como se fossem síncronas.fonte
zfs get sync storage
?[root@storage ~]# zfs get sync storage NAME PROPERTY VALUE SOURCE storage sync standard default [root@storage ~]#
Obrigado!!! Deixe-me saber se você não pode ler isso, pois os caracteres de retorno não foram copiados.