производительность zfs на медленных hdd с cache=standard
Собрал zraid2 на proxmox из 6ти HDD на 2TB (ST2000LM015, планируются использоваться под репликации, бекапы и файлопомойку, основные данные на SSD).
Создал VM на этом zraid и хотел поставить туда debian. Но установка системы шла дико долго во время установки пакетов. Минут через 30 остановил.
Отключение синхронизации (zfs set sync=disabled raid
) решила проблему производительности. Установилось быстро.
Почему так происходит? Для работы на медленных hdd требуется использовать l2arc из ssd?
Почитал ресурсы:
- https://forum.proxmox.com/threads/slow-zfs-performance.51717/
- https://serverfault.com/questions/995702/zfs-enable-or-disable-disk-cache
- https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html#zfs-nocacheflush
Параметры zpool:
- ashift=12
- compression: lz4
# zpool status raid
pool: raid
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
raid ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
errors: No known data errors
Параметры запуска vm:
/usr/bin/kvm
-id 401
-name wg-sm
-chardev socket,id=qmp,path=/var/run/qemu-server/401.qmp,server,nowait
-mon chardev=qmp,mode=control
-chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5
-mon chardev=qmp-event,mode=control
-pidfile /var/run/qemu-server/401.pid
-daemonize
-smbios type=1,uuid=0ce21302-e7ed-4c6d-8a34-32969e605407
-smp 2,sockets=1,cores=2,maxcpus=2
-nodefaults
-boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg
-vnc unix:/var/run/qemu-server/401.vnc,password
-cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep
-m 2048
-device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e
-device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f
-device vmgenid,guid=71c2d10c-a1aa-4b57-ab00-1e2bf77de1b6
-device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2
-device usb-tablet,id=tablet,bus=uhci.0,port=1
-device VGA,id=vga,bus=pci.0,addr=0x2
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
-iscsi initiator-name=iqn.1993-08.org.debian:01:7759181d764
-drive file=/var/lib/vz/template/iso/debian-10.7.0-amd64-netinst.iso,if=none,id=drive-ide2,media=cdrom,aio=threads
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200
-device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5
-drive file=/dev/zvol/raid/vm-401-disk-0,if=none,id=drive-scsi0,cache=writeback,discard=on,format=raw,aio=threads,detect-zeroes=unmap
-device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100
-netdev type=tap,id=net0,ifname=tap401i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on
-device virtio-net-pci,mac=B6:B4:5B:24:88:66,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300
-machine type=pc+pve0
-drive file=/dev/zvol/raid/vm-401-disk-0,if=none,id=drive-scsi0,cache=writeback,discard=on,format=raw,aio=threads,detect-zeroes=unmap
# pveversion -v | grep zfs
zfsutils-linux: 0.8.3-pve1
cast imul, system-root, Harliff, King_Carlo