Ivan
и с ремонтом кондеев в серверной 😭
riv
блочных устройств тоже не видно которые в rpool входили?
Ivan
короч вытащил hba, вставил обратно - диски и пулы увиделись все
Ivan
иопсы не вернулись. чет их крайне мало, особенно если учесть что хоть немного должен ссд помогать
Ivan
в общем это zvol стал медленным
Ivan
Ivan
на втором zvol прежние попугаи
Ivan
но почему разница на порядки разнится ?
Сергей
но почему разница на порядки разнится ?
а где результаты измерений по которым разница в 10-100 раз?
Ivan
ну я посмотрел и потер
Ivan
ща по новой запущу, скину
George
Скорость пустого zvol от набитого точно отличается, но не на порядки. Хотя конечно какой нагрузкой тестить😂
Ivan
Ivan
сравнить можно с этим
Сергей
у меня там ошибка))), а я по глупости не стал править - думал что найдут и исправят
Сергей
[global] ioengine=windowsaio iodepth=${IODEPTH} numjobs=${NUMJOBS} filename=\\.\PhysicalDrive1 refill_buffers randrepeat=0 numjobs=1 stonewall runtime=120 fallocate=none #rate_process=poisson #buffer_compress_percentage=70 size=32G [randrw] name=randReadWrite rw=randrw rwmixread=70 fsync=0 [randrw-sync] name=randReadWrite/sync rw=randrw rwmixread=70 fsync=1
riv
А какой медленный, который слева? Может быть он разряженный? Там writen=685M вроде, а в другом все место записано.
Сергей
numjobs определяется дважды. сначала правильным значением из переменной окружени, а потом ставится в 1. поэтому тест фактически идёт только с одной джобой и реально не показывает производительность при множестве клиентов
Ivan
аа, numjobs
Ivan
как-то проморгал
Сергей
нет. я про другое. но если вы тестировали именно как для одного клиента, то для вас это непринципиальная ошибка
Сергей
как-то проморгал
и я)). выложил с ошибкой
riv
А ещё можно попробовать его переслать на этот же пул через send/recive у копии скорее всего все норм будет.
Сергей
мне только непонятно, вы тестировали получается не столько zvol, сколько NTFS на zvol и внутри KVM/QEMU
riv
может быть на момент создания в пуле не было места и zvol сильно фрагментирован?
Ivan
естественно мне интересно посмотреть поведение винды.
Ivan
так же сравнивал винду в esxi и в проксе на lvm
Сергей
разва ntfs участвует когда отдаешь весь диск под fio ?
сорри, не обратил внимание. Да, не участвует. Вы получается тестировали virtio
riv
естественно мне интересно посмотреть поведение винды.
Для исключения ошибок, нужно сначала сравнить производительность zvol в linux, можно выключить виртуалку и использовать kpartx для создания блочного устройства замапленного на вашу партицию kpartx -av /dev/zpool/,,,/zvol А может быть вы сразу надёте там партиции: ls /dev/zpool/.../zvol/p1,p2...
Сергей
ну да. zfs+kvm+virtio+windows без ntfs
ну если это и была цель, то ок)
riv
а нельзя fio сразу указать zvol как конечное устройство ?
Можно, но если вдруг вы диск разделили на партиции и одну тестируете а на другой данные, то write-тест может их убить
Сергей
я в примере вроде так и указал filename = "/dev/zvol/..."
Сергей
#!/bin/sh #TEST_FNAME="/dev/nvme0n1" #TEST_FNAME="/dev/zvol/...." #TEST_FNAME="/rpool/testfile"
Сергей
вон, вторая строка
Сергей
так что можно поправить numjobs и протестировать прямо из хоста на zvol
riv
а, ну это понятно что zvol наполнится данными
Будьте осторожны на боевом сервере. Можно перепутать zvol или партиции. Блин у меня так было однажды. Хорошо что тотальный бекап каждый час. Особенно это пример меня пугает #!/bin/sh #TEST_FNAME="/dev/nvme0n1" <------------- #TEST_FNAME="/dev/zvol/...." #TEST_FNAME="/rpool/testfile" А вы знаете, что при нескольких nvme устройствах /dev/nvme0n1 и /dev/nvme0 могут оказаться разными устройствами?
Ivan
сервер целиком тестовый )
riv
Ну тогда во все тяжкие
riv
Я прошу меня простить за такие советы. Но я даю те, которые дал бы себе. Вот.
Alexandr
вот это подстава
riv
Можно название и серийник посмотреть на одном, а данные убить на другом. Подстава.
Ivan
подстава это когда можно убить бук удалением файлов, замонтированных из efi в фс )
Alexandr
жаль там нет вывода lsblk
Ivan
вот fio делает кучу потоков с кучей джобов, а zfs опять же использует только по 3 диска. при каких обстоятельствах могут нагрузиться все диски, если не кртутить опции zfs ?
Ivan
или это дефолты просто неоптимальные, которые всегда полезно покрутить ?
riv
вот fio делает кучу потоков с кучей джобов, а zfs опять же использует только по 3 диска. при каких обстоятельствах могут нагрузиться все диски, если не кртутить опции zfs ?
1. А если несколько fio запустить? 2. А если попробовать с sync=disabled (может быть вы упираетесь в SSD и диски нагрузить невозможно, нужно больше slog vdev и special vdev )
Ivan
я все сравниваю с выключенным синком пока что
riv
странно. У меня прогружались диски.
riv
К сожалению нет пула с большим количеством vdev под рукой
Ivan
блин, извините. atop - плохое средство. посмотрел в iostat - там все диски трудятся.
Ivan
что-то мне казалось раньше, что atop все диски выводит, если они нагружаются
Nikolay
там вроде влево/ вправо листать надо
Ivan
там вроде влево/ вправо листать надо
надо нажать l и выбрать количество выводимых дисков\
Сергей
блин, извините. atop - плохое средство. посмотрел в iostat - там все диски трудятся.
можно сделать zpool iostat XX -v, тоже покажет в разрезе каждого vdev
Ivan
https://pastebin.com/162hdGQ1 special и log на ssd с rpool физически
Сергей
https://pastebin.com/162hdGQ1 special и log на ssd с rpool физически
я уже понял что все диски нагрузились
riv
https://pastebin.com/162hdGQ1 special и log на ssd с rpool физически
+100500! Забыли все про это. Суммарная статистика zpool iostat -v Усреднение за 5 сек: zpool iostat -v 5
Ivan
я думал она выводит сильно усредненные значения и не свзяывал их с моментальной нагрузкой
Ivan
я посмотрел в iostat -mx 5 по старинке
Сергей
[global] ioengine=libaio bs=8K iodepth=${IODEPTH} numjobs=${NUMJOBS} filename=${TEST_FNAME} group_reporting=1 refill_buffers #randrepeat=0 stonewall runtime=120 fallocate=none #rate_process=poisson #buffer_compress_percentage=70 size=32G [randrw] name=randReadWrite rw=randrw rwmixread=70 fsync=0 [randrw-sync] name=randReadWrite/sync rw=randrw rwmixread=70 fsync=1
Сергей
это окончательная редакция с исправленными ошибками и агрегацией отчёта если используется компрессия и хочется проверить на данных, которые жмутся с определенным коэффициентом, то раскомментировать buffer_compress_percentage и установить требуемое значение
Ivan
кто-нибудь графики строит по этим отчетам ?
Сергей
кто-нибудь графики строит по этим отчетам ?
не знаю, не задавался таким вопросом. fio visualizer погуглить