Dmitriy
Если уж тестить обычные ssd - то обычно имеет смысл Full Write делать или по времени гонять
дело не в full write эти накопители (как и любые не серверные) деградируют в работе RMW при тестировании fio на запись, задержки возникают при проведении операций TRIM
Dmitriy
линейная запись в том же TH - на пустой диск, без перезаписи
Dmitriy
отсюда и прекрасные результаты
Dmitriy
echo 1 >> /sys/module/zfs/parameters/zfs_trim_metaslab_skip
Dmitriy
вот это нужно сделать
Dmitriy
после этого скорость перезаписи в файл поднимается до предсказуемой
Dmitriy
и вот это echo 10 >> /sys/module/zfs/parameters/zfs_vdev_aggregate_trim
Вадим «Дым» Илларионов ☭
и вот это echo 10 >> /sys/module/zfs/parameters/zfs_vdev_aggregate_trim
А через сисктл или опции модуля этот и предыдущий параметры доступны? Чтоб в загрузке модулей зафиксировать.
Dmitriy
вот параметры которые я использовал для номализации работы RAIDZ1 состоящего из 4х SSD дисков Samsung EVO870 options zfs zfs_vdev_aggregation_limit=3932160 # for K 2,5*512K recordsize options zfs zfs_vdev_aggregation_limit_non_rotating=3932160 # for K 2,5*512K recordsize options zfs zfs_delay_scale=640000 # scale for 200MB/s options zfs zfs_vdev_async_write_max_active=15 # options zfs zfs_dirty_data_sync_percent=40 # minimum dirty data to flush options zfs zfs_trim_metaslab_skip=1 # don't trim metaslab options zfs zfs_vdev_aggregate_trim=10 # aggregate TRIM IO options zfs zfs_trim_txg_batch=64 # batch aggregate TRIM IO
Вадим «Дым» Илларионов ☭
А ссылочку на доку, которой руководствовались при подсчёте, не приведёте?
Dmitriy
https://openzfs.org/wiki/ZFS_on_high_latency_devices
Dmitriy
нужно учитывать равномерно разделение записываемого на vdev блока, между общим всеми участниками группы vdev
Dmitriy
и не забыть добавить в cron на время простоя команду сбора мусора (TRIM)
Вадим «Дым» Илларионов ☭
https://openzfs.org/wiki/ZFS_on_high_latency_devices
Огромное спасибо! А в закрепе эта ссылка присутствует? Добавить бы, коль нет.
Dmitriy
Огромное спасибо! А в закрепе эта ссылка присутствует? Добавить бы, коль нет.
вроде нет - но эта статья раскрывает саму суть планировщика, и с пояснениями Меликова касательно записи блока переменной длины в zfs - у меня сформировалось понимание: как именно настраивать эту ФС
Dmitriy
есть еще некоторые тонкости - например планировщики IO на уровне kernel
Dmitriy
желательно убедиться что udev ставит их в none/noop
Вадим «Дым» Илларионов ☭
Тем более надо в закреп. Или написать свою с упоминанием нюансов. :) А ленивые жопы, пренебрегавшие ангельским в школе, вам ещё и памятник поставят. Нерукотворный, правда... 😁
Dmitriy
выше была опечатка, вместо 10 нужно 1 options zfs zfs_vdev_aggregate_trim=1 # aggregate TRIM IO
Ivan
желательно убедиться что udev ставит их в none/noop
zfs сам не управляет планировщиком для диска ?
Dmitriy
при включении планировщика mq-scsi нет
Dmitriy
а он бывает в ядре активирован по умолчанию
Dmitriy
он же mq-deadline
Dmitriy
разница в IOPs незначительная - но однозначно noop выигрывает
Вадим «Дым» Илларионов ☭
Dmitriy
обычно можно - но два типа планировщиков блочных устройств не отключаются
Вадим «Дым» Илларионов ☭
Вот какие мерзкие типы... :)
Dmitriy
Dmitriy
https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html
riv
В общем, ребята, раскошелился я сегодня с горя на твердотельный накопитель ADATA 250 ГБ M.2 ASWORDFISH-250G-C и переходник pci-e для него, воткнул это барахлище в сервак, зареплейсил дедуп девайс и продолжаю доливать второй прогон дедупликации (теперь я генерирую мусор с помощью /dev/zero | openssl в два потока и получается больше мусора в единицу времени) записано мусора ~26.8T размер DDT ~50.6G скорость генерации/записи мусора ~409МБ/сек скорость записи на dedup ~50МБ/сек скорость чтения на dedup ~19МБ/сек заполненность пула 64% фрагментация 0% утилизация dedup vdev ~90% результат прям бомбический
Бомбический результат идет в разрез с моим практическим результатом. Может туда просто сложить какие-нибудь бекапы? Я думаю, что все дево с маленьком размере таблицы дедупликации. Когда размер увеличится, то и запись в неё из-за изменений станет больше. А ещё ADATA и dedup - это для меня сочетание, которое пахнет бедой, даже если бы ADATA была в mirror.
Алексей
Бомбический результат идет в разрез с моим практическим результатом. Может туда просто сложить какие-нибудь бекапы? Я думаю, что все дево с маленьком размере таблицы дедупликации. Когда размер увеличится, то и запись в неё из-за изменений станет больше. А ещё ADATA и dedup - это для меня сочетание, которое пахнет бедой, даже если бы ADATA была в mirror.
ну это и есть для бэкапов. Как по мне для конкретной инсталляции куда бэкапы будут литься по гигабиту, это за глаза. Вот сейчас как раз завершается четвертый прогон (размер рекордсайза 512к) а размер пула 58.3T, и вот уже осталось свободного места 221G и скорость записи мусора больше 200мегабайт в сек
Алексей
таблица дедупликации ни много ни мало 57.0G и еще 11G меты получилось
Алексей
мне кажется что оптан не встанет в hp proliant 180 g6 (но я могу ошибатьтся)
riv
мне кажется что оптан не встанет в hp proliant 180 g6 (но я могу ошибатьтся)
Обычный optane вставляется как pci-e устройство. Есть U.2 переходник на них можно даже в низкопрофильный слот вставить, но надо где-то сам накопитель разместить, если нет карзины. Обычно место в корпусе находится легко )
Алексей
Ну и где их взять
Vladislav
Ну и где их взять
Кого? Переходники? Optane?
Aba
Ну и где их взять
Такой вопрос, как будто идет речь о "где купить большой андронный коллайдер?")))
Vladislav
Кого? Переходники? Optane?
В любом случае aliexpress https://aliexpress.ru/item/1005002670155283.html Кабель там же найти можно
riv
Ну и где их взять
Лучше вот такой, он с низкопрофильной планкой и кабелем: https://aliexpress.ru/item/32814778140.html?spm=a2g2w.orderdetails.0.0.5fe24aa67tLYXm&sku_id=12000018120747279 Я покупал - работают. Только не забудте, что туда ещё питание надо подать, видите SATA-раъем на картинке? Есть такие-же под "ёлочку".
riv
Ну и где их взять
А если материнка поддерживает pcie-бифукацию, то вот к такой штуке можно подключить 4 накопителя! https://aliexpress.ru/item/1005003196121558.html?spm=a2g2w.detail.10009201.11.1f9e305802Gr5g&_evo_buckets=165609,165598,188872,194275,299287,224373&sku_id=12000024608967392&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.34525.285493.0&scm_id=1007.34525.285493.0&scm-url=1007.34525.285493.0&pvid=6fbd3ebd-cbda-4c22-b6df-c72505b4f0d3&_t=gps-id:pcDetailBottomMoreOtherSeller,scm-url:1007.34525.285493.0,pvid:6fbd3ebd-cbda-4c22-b6df-c72505b4f0d3,tpp_buckets:24525%230%23285493%235_21387%230%23233228%235_21387%239507%23434560%235_4452%230%23226710%230_4452%233474%2315675%23349_4452%234862%2324463%23316_4452%233098%239599%23416_4452%235105%2323438%23116_4452%233564%2316062%23918&scenario=pcDetailBottomMoreOtherSeller&tpp_rcmd_bucket_id=285493 Там нет чипа, это пассивный переходник. Это надёжнее и лучше чем с pci-e комутатором.
Vladislav
Про надёжней возражу
Vladislav
Дешевле да
Вадим «Дым» Илларионов ☭
inqfen
андронный это человеческий выходит?
inqfen
Mongodb ещё
ядро прекрасно поддерживает
Вадим «Дым» Илларионов ☭
андронный это человеческий выходит?
Причём конкретного-человека-ческий. :)
inqfen
с учетом контейнеризации конкретные пакеты внутри оси в целом пофиг какие
inqfen
andro - латинский корень человека
inqfen
отсюда и андрогин и андроид
inqfen
а, даже интересно стало - не человека а мужчины, но суть не меняет
Вадим «Дым» Илларионов ☭
Ну, по этимологии — да. :)
Вадим «Дым» Илларионов ☭
Но суффикс "ный" про что? Человечий? Ба-альшой человечный сталкиватель?
Вадим «Дым» Илларионов ☭
а, даже интересно стало - не человека а мужчины, но суть не меняет
Это как и мэн в аглицком. Во многих же языках женщина издревле принижена.
Вадим «Дым» Илларионов ☭
в нем как раз есть man и human, но опять же mankind
Точнее, human been — существо человечьего вида.
inqfen
но такие вещи во многом наследие от времен когда и в английском все делилось по родам и так человечество приобрело мужской род
Вадим «Дым» Илларионов ☭
У нас разделение тоже есть. К примеру, "беременный человек" звучит идентично "беременному коту".
inqfen
Точнее, human been — существо человечьего вида.
human been вообще значит типа “человек был” и то обрезанно
Вадим «Дым» Илларионов ☭
inqfen
once a human been или it’s been a human еще имеет смысл, human been нет
Вадим «Дым» Илларионов ☭
Ошибся: being.
Вадим «Дым» Илларионов ☭
Звучит одинаково, вот и ляпнул.
inqfen
Звучит одинаково, вот и ляпнул.
достаточно неодинаково
Вадим «Дым» Илларионов ☭
"и" длинная в обоих случаях. Н и нг для русского уха слаборазличимы..
inqfen
это примерно как биин и биенг
inqfen
г слабая да, но либо долгая и либо ие
inqfen
просто ие может сливаться при речи, но тем не менее перепутать достаточно сложно
Вадим «Дым» Илларионов ☭
На гуглотолмаче послушал оба: е крайне слабо выражена, н и нг вообще неразличимы. А там ведь носители озвучивают.
inqfen
ну я ирл слышу и разница вполне себе есть
Вадим «Дым» Илларионов ☭
Поскольку носителей ангельского вокруг нет, и на нём либо читаю, либо слушаю — по мне они звучат неразличимо.
inqfen
между ии и ие больше
inqfen
на кириллице это ближе к биин/биен
Вадим «Дым» Илларионов ☭
биен не годится категорически, поскольку после гласных и в начале стов у Е Ё Ю Я озвучивается согласный Й.