8 votes

Linux ZFS ne met pas en tampon les écritures dans le tampon d'écriture (SLOG/ZIL) ?

Lors d'une entrée/sortie en écriture, la colonne d'enregistrement en zpool iostat -v ne montre aucune activité de ZIL, jamais. Il en résulte des temps d'attente plus élevés que prévu lors de l'écriture de données sur le disque (parfois plus de 80 ms pendant la contention).

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

Mon périphérique /zlog/zilcache n'a jamais d'entrées/sorties. Il s'agit d'un fichier sur une mémoire flash très rapide. Je peux l'écrire et le lire lorsque je le retire du magasin ZFS, mais ZFS semble l'ignorer.

L'appareil semble disponible :

  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

Est-il possible de configurer ZFS pour qu'il mette en cache les écritures sur le périphérique de logs afin d'accélérer les accusés de réception ?

Merci

7voto

jlliagre Points 8651

Je crois que vous comprenez mal l'objectif de la ZIL. Vous la décrivez comme un cache d'écriture, ce qu'elle n'est pas. L'absence d'activité sur la ZIL peut être un comportement normal en fonction de ce qui est exécuté sur votre machine.

Rien n'est jamais lu à partir du ZIL, c'est un dispositif d'écriture seulement. La seule exception pourrait se produire lors de l'importation d'un pool après un crash.

Il n'y a d'écriture que si les applications effectuent des écritures synchrones. Les E/S régulières, comme le déplacement de fichiers, n'utilisent pas la ZIL.

Vous pouvez définir sync=always sur le jeu de données pour forcer toutes les écritures à se comporter comme si elles étaient synchrones.

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