Реально ли, при использовании SSD, затюнить ZFS так, что бы zvol выдавал результаты, схожие с LVM (на тех же дисках)?
Буду благодарен ссылкам на истории успеха, либо замечаниям по конфигурации и тестам.
Готов дать более подробную информацию (спрашивайте) или провести ещё тесты (давайте ваши предложения).
Результаты тестов:
-
LVM (завершился полностью):
- read : io=102400MB, bw=123902KB/s, iops=30975, runt=846292msec
- clat (usec): min=55, max=30008, avg=1027.43, stdev=708.63
- write: io=102400MB, bw=114611KB/s, iops=28652, runt=914901msec
- clat (usec): min=73, max=31133, avg=1111.09, stdev=689.31
- read : io=102400MB, bw=123902KB/s, iops=30975, runt=846292msec
-
ZFS (я не выдержал и нажал CTRL+C до окончания теста):
- read : io=34590MB, bw=50676KB/s, iops=12669, runt=698962msec
- clat (usec): min=2, max=1259.5K, avg=2521.13, stdev=22789.39
- write: io=42635MB, bw=62461KB/s, iops=15615, runt=698959msec
- clat (usec): min=28, max=1262.7K, avg=2044.76, stdev=20667.92
- read : io=34590MB, bw=50676KB/s, iops=12669, runt=698962msec
Настройки fio:
[readtest]
blocksize=4k
filename=/dev/.....
rw=randread
direct=1
buffered=0
ioengine=libaio
iodepth=32
[writetest]
blocksize=4k
filename=/dev/....
rw=randwrite
direct=1
buffered=0
ioengine=libaio
iodepth=32
Железо:
- Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz x1
- 64 Гб ОЗУ (51 свободно)
- SSD: Intel SSDSC2BA200G4
- Система почти простаивает (load average < 1)
Версии софта:
- proxmox 5.3 (сейчас обновиться до 5.4 не готов).
- linux 4.15.18-10-pve
- zfs 0.7.12-1 (
cat /sys/module/zfs/version
) - zfsutils-linux 0.7.12-pve1~bpo1
- fio-2.16
Параметры zfs:
- zfs_arc_max: 0
- не стал писать другие параметры, ибо
<cut></cut>
не срабатывает в форуме
Настройки пула и zvol:
- ashift=12
- primarycache=metadata
- volblocksize=4K
- checksum=off
- compression=off
- logbias=throughput (logbias=latency пробовал, результаты чуть хуже)
- dedup=off
- sync=standard
Настройки lvm: по-умолчанию
UPD: идея в том, что бы понять, какая будет максимальная производительность у ZFS volume (относительно raw disk либо LVM). Понятно, что COW медленней, чем не COW. Вопрос в том, какую производительность можно выжать из COW.