En mi servidor de archivos local tengo raid-6 en unidades de disco duro 7x.
dd if=/dev/zero of=tempfile bs=1M count=2048 conv=fdatasync
La prueba de velocidad local me da 349 MB / s de velocidad de escritura.
Las escrituras remotas a Samba desde SSD (> 2 Gb / s de velocidad de lectura) me dan 259 MB / s de escrituras. Pero las escrituras remotas en la unidad iSCSI (en el iniciador iSCSI de Win10) me dan solo 151 Mb / s de escrituras.
configuración de raid6: tamaño de fragmento de 128K, stripe_cache_size = 8191. El mapa de bits de intención de escritura está en SSD (Samsung 860 PRO, fragmento de mapa de bits 4096K).
Array montado con opciones: rw,noatime,nobarrier,commit=999,stripe=128,data=writeback
configuración de open-iscsi: el objetivo se basa en un archivo de 4Tb.
¿Alguna pista de por qué iSCSI es más lento que Samba en escrituras? ¿Alguna pista sobre cómo mejorar la velocidad de escritura de iSCSI?
Supongo que tiene algo que ver con el deseo de open-iscsi de vaciar las escrituras en el disco después de cada operación, lo que aumenta la amplificación de escritura en raid6 debido a reescrituras de paridad excesivas. Pero no estoy seguro de cómo solucionarlo. Acelere más que la seguridad de los datos actualmente escritos en caso de corte de energía.
Como nota al margen, el objetivo iSCSI de ietd más antiguo tenía la capacidad de habilitar el modo de reescritura (usando IOMode=wb
) y la velocidad de escritura sostenida era mucho más rápida. Desafortunadamente, parece estar actualmente sin mantenimiento.