На моем локальном файловом сервере у меня есть raid-6 на жестких дисках 7x.
dd if=/dev/zero of=tempfile bs=1M count=2048 conv=fdatasync
Тест локальной скорости дает мне скорость записи 349 МБ / с.
Удаленная запись в Samba с SSD (скорость чтения> 2 Гбит / с) дает мне 259 МБ / с записей. Но удаленная запись на диск iSCSI (на инициаторе iSCSI в Win10) дает мне всего 151 Мбит / с.
raid6 config - размер фрагмента 128K, stripe_cache_size = 8191. Битовая карта с намерением записи находится на SSD (Samsung 860 PRO, 4096K битовый фрагмент).
Массив монтируется с опциями: rw,noatime,nobarrier,commit=999,stripe=128,data=writeback
Настройка open-iscsi: цель основана на файле 4Tb.
Любые намеки, почему iSCSI медленнее, чем Samba при записи? Любые советы о том, как улучшить скорость записи iSCSI?
Я предполагаю, что это как-то связано с желанием open-iscsi сбрасывать записи на диск после каждой операции, что увеличивает усиление записи на raid6 из-за чрезмерной четности перезаписей. Но я не уверен, как это исправить. Ускорить его важнее, чем безопасность записанных на данный момент данных на случай отключения электроэнергии.
В качестве примечания побольше, ietd iSCSI target имел возможность включить режим обратной записи (используя IOMode=wb
), а постоянная скорость записи была намного выше. К сожалению, в настоящее время он не поддерживается.
источник
Ответы:
Прежде всего, RAID-6 является проблемой из-за вычисления двойной четности. Во-вторых, вы можете подключить iSCSI target дважды в MS iSCSI Initiator, включить RR или наименьшую глубину очереди (к сожалению, Win10 не поддерживает многопоточность, поэтому вместо этого вы можете протестировать ее с Windows Server).
На самом деле доступ на уровне блоков должен быть быстрее, чем доступ на уровне файлов. Какой тип инструмента для тестирования вы используете на сайте Windows? Я бы порекомендовал использовать diskpd или FIO. Кроме того, вы можете использовать что-то вроде Starwind в качестве гораздо более быстрой цели iSCSI.
https://www.starwindsoftware.com/starwind-virtual-san#Hyper-V
источник
iSCSI следует использовать на уровне блоков, описание вашей настройки звучит так, как будто вы используете файловую систему, помещаете в нее файл и затем запускаете этот файл как блочный уровень iSCSI.
Это далеко не идеал, и определенно не установка для сравнения скоростей. Попробуйте использовать lvm поверх raid6 для сегментирования пространства и остаться на блочном уровне для iSCSI, или используйте raid6 непосредственно как устройство iSCSI.
В текущей настройке данные передаются по сети, попадая в файл в файловой системе, который (скорее всего) не оптимизирован для этого типа рабочей нагрузки, а также передается другим процессам. Можно выполнить такую настройку с iSCSI, но это следует рассматривать как неоптимизированное резервное решение.
источник
Обратите внимание, что
dd
это очень простой тест, и он ОЧЕНЬ склонен к искажению. Например, выdd
пишете нули - если что-то имеет особый случай для данных, полных нулей (например, потому что это может выполнять сжатие), вы увидите фантастическую производительность, но переключитесь на запись ненулевых «реальных данных», и внезапно эта производительность может исчезнуть. ..Чтобы ответить на ваш вопрос (как и при любом бенчмаркинге), вам действительно нужно выделить фрагменты, чтобы определить, что представляет проблему. Например, запись в файловую систему Windows напрямую (а не через iSCSI) также чрезвычайно быстрая? Если вы берете ту же аппаратную конфигурацию и запускаете Linux вместо Windows, это так же быстро или замедляется? Что произойдет, если вы перейдете к использованию инструмента тестирования, такого как fio ?
К сожалению, слишком много возможностей, чтобы иметь возможность ответить на такой вопрос хорошо ...
источник