Есть сервер с 15 HDD SAS 7200. Все диски JBOD. Собираю из них различные виды ZFS (/zfs-test-vol) и получаю совершенно непонятные мне результаты скорости:
raid0 - Скорость записи результата примерно 1,1GB/s, при этом на каждый диск (согласно данным zpool iostat) пишется 155-165 МБ/с и 180-200 операций, согласно системного iostat 150-160МБ/с и 190-210tps. Кроме последнего диска, на него 60-70МБ/с и 90-100tps.
raid10+1HS - Скорость записи результата примерно 1,1GB/s, при этом на каждый диск (согласно данным zpool iostat) пишется 140-150 МБ/с и 300-400 операций, согласно системного iostat 150МБ/с и 400-450tps.
raidz (1/2/3 не сильно отличаются, цифры от 1) - Скорость записи результата примерно 450МБ/s, при этом на каждый диск (согласно данным zpool iostat) пишется 30-33 МБ/с и 1000-1150 операций, согласно системного iostat 30-33МБ/с и 1000-1050tps.
draid (1/2/3 не сильно отличаются, цифры от 1) - Скорость записи результата примерно 430МБ/s, при этом на каждый диск (согласно данным zpool iostat) пишется 30-32 МБ/с и 600-650 операций, согласно системного iostat 29-32МБ/с и 550-650tps.
Метод тестирования:
mkdir /tmp/src
mount -t tmpfs none /tmp/src -o size=210G
dd if=/dev/random of=/tmp/src/test1 bs=1K count=209715200 status=progress
#если сделать просто fallocate, то скорость записи хаотическая, т.к. нули оптимизируются
dd if=/tmp/src/test1 of=/zfs-test-vol/test bs=16K status=progress
Собственнно вопросы:
1. Как draid медленнее raidz? В особенности учитывая, что обращений, в которые мог бы утыкаться, гораздо меньше.
2. За счёт чего такая разница в iops? Я понимаю, что zfs, кроме данных ещё и журналы пишет, но он их и на 10 рейде пишет.
3. Откуда на HDD больше 200 iops?))))
4. Как его можно ускорить?