Version 18 (modified by fernando, 7 years ago) (diff)


  • zfs resilver delay: /* number of ticks to delay resilver */ Es un parámetro del kernel que usa zfs para evitar degradar el rendimiento.Indica los segundos que zfs espera después de cualquier zfs user io, antes de poner en cola las operaciones de io resilver.
  • zfs_resilver_min_time_ms /* min millisecs to resilver per txg */
  • zfs_top_maxinflight = 32; /* maximum I/Os per top-level */ maximum number of scrub I/O per top-level vdev
  • zfs_scrub_delay /* number of ticks to delay scrub */ how many clock ticks to delay scrub operation if triggered by zfs_scan_idle
  • zfs_scan_idle /* idle window in clock ticks */ if user I/O occurrs within this many clock ticks, delay scrub I/O by zfs_scrub_delay clock ticks

Para leerlo:

root@seal:/# echo "zfs_scrub_delay/D" | sudo mdb -k
root@seal:/# echo "zfs_scan_idle/D" | sudo mdb -k
zfs_scan_idle:  50

root@seal:/# echo "zfs_resilver_delay/D" | sudo mdb -k
zfs_resilver_delay:             0
root@seal:/# echo "zfs_resilver_min_time_ms/D"| mdb -k
zfs_resilver_min_time_ms:       3000
root@seal:/# echo "zfs_top_maxinflight/D" | mdb -k
zfs_top_maxinflight:            32

Para ver todos los parametros relacionados con ZFS:

echo "::zfs_params" | mdb -k

Para cambiarlo:

echo zfs_resilver_delay/w0 | mdb -kw

echo zfs_resilver_delay/w1 | mdb -kw

echo zfs_resilver_delay/w2 | mdb -kW

echo zfs_resilver_min_time_ms/w1388 |mdb -kW
root@seal:/export/home/admin# echo zfs_resilver_min_time_ms/D | mdb -k
zfs_resilver_min_time_ms:       5000

echo zfs_top_maxinflight/w7f |mdb -kW
root@seal:/export/home/admin# echo zfs_top_maxinflight/D | mdb -k
zfs_top_maxinflight:            127

root@seal:/export/home/admin# echo "zfs_scrub_delay/W2" | sudo mdb -kw
zfs_scrub_delay:0x4             =       0x2
root@seal:/export/home/admin# echo "zfs_scrub_delay/D" | sudo mdb -k

En el caso de c3t11d0 va muy lento 534Mb/s en 24 horas hace 15%, despues del tunning 311T scanned out of 317T at 1.36G/s, 1h8m to go 1.68T resilvered, tardo 65horas en hacer el resilver de 1.70T.