George
гугл даёт для такой конфигурации Errorless rebuild success chance: 15%, не знаю как сюда добавить ещё черепашесть smr при ресильвере
Qwerty
Плюс если по записи, то планирую еще добавить SSD диск как slog & special vdev
George
Плюс если по записи, то планирую еще добавить SSD диск как slog & special vdev
ну в openzfs 2.0 приедет rebuild, там сильно безопаснее станет, т.к. будет чисто поточная нагрузка при ребилде
Qwerty
--numjobs=10 ради интереса
Чую надо больше потоков. Утилизация -51-52% IOPS - 150-160
Qwerty
на сколько smr дешевле обошлись, кстати?
Ну у меня 1 был уже. Докупил с Авито, б/у за 7к за штуку ( Но с гарантией )
Qwerty
7к - это 7000 RUB
Qwerty
root@storage:/test# fio --filename=test --sync=1 --rw=randwrite --bs=1m --numjobs=10 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300 && rm test test: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=4 ... fio-3.1 Starting 10 processes test: Laying out IO file (1 file / 10240MiB) Jobs: 10 (f=10): [w(10)][100.0%][r=0KiB/s,w=40.0MiB/s][r=0,w=40 IOPS][eta 00m:00s] test: (groupid=0, jobs=10): err= 0: pid=6590: Mon Sep 21 10:27:40 2020 write: IOPS=129, BW=130MiB/s (136MB/s)(38.1GiB/300022msec) clat (msec): min=28, max=1205, avg=76.67, stdev=70.06 lat (msec): min=29, max=1206, avg=76.93, stdev=70.06 clat percentiles (msec): | 1.00th=[ 53], 5.00th=[ 58], 10.00th=[ 59], 20.00th=[ 62], | 30.00th=[ 62], 40.00th=[ 63], 50.00th=[ 64], 60.00th=[ 65], | 70.00th=[ 66], 80.00th=[ 68], 90.00th=[ 77], 95.00th=[ 104], | 99.00th=[ 468], 99.50th=[ 472], 99.90th=[ 802], 99.95th=[ 1133], | 99.99th=[ 1200] bw ( KiB/s): min= 2043, max=18769, per=10.14%, avg=13497.88, stdev=4635.09, samples=5934 iops : min= 1, max= 18, avg=13.11, stdev= 4.51, samples=5934 lat (msec) : 50=0.29%, 100=94.44%, 250=2.70%, 500=2.32%, 750=0.13% lat (msec) : 1000=0.07%, 2000=0.05% cpu : usr=0.35%, sys=3.50%, ctx=245944, majf=0, minf=75 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwt: total=0,38992,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=4 Run status group 0 (all jobs): WRITE: bw=130MiB/s (136MB/s), 130MiB/s-130MiB/s (136MB/s-136MB/s), io=38.1GiB (40.9GB), run=300022-300022msec
Qwerty
Мне повезло а так их продают по 8-10кРуб
George
root@storage:/test# fio --filename=test --sync=1 --rw=randwrite --bs=1m --numjobs=10 --iodepth=4 --group_reporting --name=test --filesize=10G --runtime=300 && rm test test: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=4 ... fio-3.1 Starting 10 processes test: Laying out IO file (1 file / 10240MiB) Jobs: 10 (f=10): [w(10)][100.0%][r=0KiB/s,w=40.0MiB/s][r=0,w=40 IOPS][eta 00m:00s] test: (groupid=0, jobs=10): err= 0: pid=6590: Mon Sep 21 10:27:40 2020 write: IOPS=129, BW=130MiB/s (136MB/s)(38.1GiB/300022msec) clat (msec): min=28, max=1205, avg=76.67, stdev=70.06 lat (msec): min=29, max=1206, avg=76.93, stdev=70.06 clat percentiles (msec): | 1.00th=[ 53], 5.00th=[ 58], 10.00th=[ 59], 20.00th=[ 62], | 30.00th=[ 62], 40.00th=[ 63], 50.00th=[ 64], 60.00th=[ 65], | 70.00th=[ 66], 80.00th=[ 68], 90.00th=[ 77], 95.00th=[ 104], | 99.00th=[ 468], 99.50th=[ 472], 99.90th=[ 802], 99.95th=[ 1133], | 99.99th=[ 1200] bw ( KiB/s): min= 2043, max=18769, per=10.14%, avg=13497.88, stdev=4635.09, samples=5934 iops : min= 1, max= 18, avg=13.11, stdev= 4.51, samples=5934 lat (msec) : 50=0.29%, 100=94.44%, 250=2.70%, 500=2.32%, 750=0.13% lat (msec) : 1000=0.07%, 2000=0.05% cpu : usr=0.35%, sys=3.50%, ctx=245944, majf=0, minf=75 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwt: total=0,38992,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=4 Run status group 0 (all jobs): WRITE: bw=130MiB/s (136MB/s), 130MiB/s-130MiB/s (136MB/s-136MB/s), io=38.1GiB (40.9GB), run=300022-300022msec
а, 4k блок потесть)
George
George
и recordsize уменьши тоже
Qwerty
Скачет от 20 до 800 IOPS )
George
вообще интересно ещё сколько каждый диск может сырых 4к иопсов отдать, от этого всё и пляшет
Qwerty
root@storage:/test# fio --filename=test --sync=1 --rw=randwrite --bs=4k --numjobs=20 --iodepth=4 --group_reporting --name=test --filesize=1G --runtime=300 && rm test test: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=4 ... fio-3.1 Starting 20 processes Jobs: 20 (f=20): [w(20)][98.3%][r=0KiB/s,w=80KiB/s][r=0,w=20 IOPS][eta 00m:05s] Jobs: 20 (f=20): [w(20)][100.0%][r=0KiB/s,w=160KiB/s][r=0,w=40 IOPS][eta 00m:00s] test: (groupid=0, jobs=20): err= 0: pid=17550: Mon Sep 21 10:38:16 2020 write: IOPS=265, BW=1062KiB/s (1088kB/s)(311MiB/300080msec) clat (msec): min=12, max=1981, avg=75.30, stdev=205.76 lat (msec): min=12, max=1981, avg=75.30, stdev=205.76 clat percentiles (msec): | 1.00th=[ 14], 5.00th=[ 15], 10.00th=[ 15], 20.00th=[ 15], | 30.00th=[ 15], 40.00th=[ 16], 50.00th=[ 23], 60.00th=[ 29], | 70.00th=[ 31], 80.00th=[ 42], 90.00th=[ 65], 95.00th=[ 435], | 99.00th=[ 1083], 99.50th=[ 1250], 99.90th=[ 1687], 99.95th=[ 1737], | 99.99th=[ 1989] bw ( KiB/s): min= 7, max= 281, per=6.83%, avg=72.53, stdev=78.85, samples=8785 iops : min= 1, max= 70, avg=18.11, stdev=19.71, samples=8785 lat (msec) : 20=49.09%, 50=35.15%, 100=9.09%, 250=0.20%, 500=2.36% lat (msec) : 750=0.50%, 1000=2.06%, 2000=1.56% cpu : usr=0.03%, sys=0.28%, ctx=166562, majf=0, minf=187 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwt: total=0,79687,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=4 Run status group 0 (all jobs): WRITE: bw=1062KiB/s (1088kB/s), 1062KiB/s-1062KiB/s (1088kB/s-1088kB/s), io=311MiB (326MB), run=300080-300080msec
Alexander
коллеги подскажите плиз, выдал 24 Тера в zfs, писался архив - диск перешел в рид онли,типа весь занят,но винда показывает есть 10 процентов(((
Alexander
в конфиге zfs все занято🤷🏻‍♂️
Alexander
куда можно посмотреть?
Алексей
volblocksize
Алексей
На каждый блок нужно записатт 320байт (кажется) метаданных, из-за этого идёт большой оверхед
Алексей
Вот и смотри, сколько у тебя ушло на метаданные
Alexander
Вот и смотри, сколько у тебя ушло на метаданные
а метаданные не на пуле? они хранятся на примантированном томе
Алексей
Метаданные пишутся вместе с данными на пул, если у тебя не настроен отдельный special девайс для этого
Алексей
Твоя винда пишет блоками по 32кб, а зфс к каждому блоку дописывает рядом с ним мету
Алексей
Я не помню сколько точно составляет размер меты, но оверхед из-за этого большой, особенно с учётом того что меньше чем минимальный размер recordsize оно записать не может
Алексей
А рекордсайз минимально вроде чето около 4кб хотя возможно зависит от ashift
Alexander
Метаданные пишутся вместе с данными на пул, если у тебя не настроен отдельный special девайс для этого
я может что-то путаю)) но..я создал пул - с него взял область не всю под zfs файловую систему...он метаданные разьве в нее же пишет а не на весь пул?
Алексей
Метаданные пишутся рядом с данными, но как бы вдобавок, а не вместе с ними
Алексей
На пул
Alexander
На пул
тогда причем тут выделенная область?
Алексей
А у тебя в пуле ещё место осталось?
Алексей
А ты случайно не делал так что сначала в винде диск был маленький, а потом ты его растянул до 24 тб?
Алексей
Может быть у тебя кластеры из-за этого кончились?
Алексей
Кластеры это аналог inodes для ext в линуксе
Alexander
вот и не пойму как так🤷🏻‍♂️
Алексей
Хм хм
Алексей
Не знаю тогда в чём дело
Alexander
Не знаю тогда в чём дело
очень похоже ,что отсюда ноги растут
Алексей
Мне кажется они не отсюда, а сюда))
Алексей
Что в прочем не меняет ничего
George
на zvol
George
zfs get all POOLMANE/ZVOLNAME
Alexander
zfs get all POOLMANE/ZVOLNAME
ну так бы и сказал))
George
ну так бы и сказал))
так я и написал "НА ZVOL"
Sergei
Метаданные пишутся рядом с данными, но как бы вдобавок, а не вместе с ними
отдельным блоком, а с учётом что это ссд, то может быть выделена целая страница под это? и копий метаданных тоже несколько вроде как, емнип?
George
refreservation осознанно выставили? В него видать упёрлись
Alexander
refreservation осознанно выставили? В него видать упёрлись
а записал ,якобы на 10 процентов меньше(
George
а записал ,якобы на 10 процентов меньше(
refreservation емнип работает на основе фактически занятого размера, для zvol это != volsize, а обычно больше, мета + raidz может давать аффект. У вас не raidz?
George
в общем если его увеличить, должно заработать
Alexander
в общем если его увеличить, должно заработать
это я понял))то что я его расширю и он заработает)) вопрос как не наступить на эти грабли в будующем)
George
он
если raidz, то стоит прочитать https://www.delphix.com/blog/delphix-engineering/zfs-raidz-stripe-width-or-how-i-learned-stop-worrying-and-love-raidz
George
там табличка ещё есть полезная
Alexander
там табличка ещё есть полезная
эту табличку я помню)) так все таки мета пишется на zvol?
George
эту табличку я помню)) так все таки мета пишется на zvol?
не в мете дело в случае raidz, там на каждый блок пишется ещё 2*ashift
George
для volblocksize=32k и ashift=12 сверху будет записано ещё 4к*2
Alexander
не в мете дело в случае raidz, там на каждый блок пишется ещё 2*ashift
тогда получается чтобы выдать клиенту,нужно рассчитать самому вручную "утрирую"))?
George
тогда получается чтобы выдать клиенту,нужно рассчитать самому вручную "утрирую"))?
на raidz - да, надо понимать сколько может быть занято по факту
George
а если ашифт =0?))
нету такого)
Alexander
нету такого)
что енто?)
George
)))
а, в этом контексте, это авто
Alexander
а, в этом контексте, это авто
а как посмотреть,сколько реально?
Alexander
без zdb?
Sergei
12 у нас)
Sergei
zdb -l disk | grep ashift
Alexander
12 у нас)
как посмотреть?)) я не нашел)
George
без zdb?
через zdb)