Vladislav
Arseniy
Взял диск, прогнал Victoria, перезназначил сектора, вырубилось часть. Или купил диск новый, а он уже такой
Vladislav
Vladislav
Если вылетают сектора, то SMART как только закончатся сектора начнёт визжать об этом
Arseniy
Аргумент, не поспоришь. Проэкспериментирую.
Есть ли вариант сунуть 2х3Тб в пару к 6Тб для создания зеркала?
Vladislav
Arseniy
Arseniy
Дедик - эт что, простите?)
Vladislav
И не забыть в каждом разделе 3ТБ дисков откусить 1 или несколько МБ в конце
Vladislav
Arseniy
Да, физический. Попробую. Не знаю, насколько из под TrueNas удастся ручками откусить
Vladislav
Там ещё будут нюансы с 4к блоками
Vladislav
Vladislav
Vladislav
Поэтому всё ещё не понимаю к чему 4к
Vladislav
Vladislav
И причём он тут?
Vladislav
Я уже с телефона
Vladislav
Vladislav
На то, что 1 сектор в ОС = 1 логическому сектору на диске?
Vladislav
На что?
Что такое логикал и физикал блок сайзы.
Vladislav
Если ОС работает по логическим секторам
Vladislav
Vladislav
Vladislav
fdisk -l посмотри
Vladislav
За количество логических секторов на диске отвечает диск, если диск говорит, что у него X логических сектора 512б ОС по другому их не увидит, даже если физика там 256кб сектор
Vladislav
Я с телефона. Если не осилишь самостоятельное образование, то через 4 часа накидаю ссылок.
Vladislav
Vladislav
Vladislav
Понятно, учись студент
Arseniy
жду результат этой информационной перепалки с нетерпением))))
Vladislav
А мне то что учится, я хотя бы знаю, что ОС глубоко фиолетово на физический размер сектора и она оперирует логическими
Vladislav
Размер блока на ФС вообще отдельный разговор, можно иметь диск 4к, с 512 логикой и 64кб размером у ФС. И получать "крутую" производительность на рандомных с 0%r тестах 4к блоками
Vladislav
Arseniy
Вы тут эксперты, я нуб в этой теме, пока сам не смог разобраться между зависимостями логических разделов и физических блоков на диске. Как я понял, из "документации" производителя эту информацию не узнать, а то что диск сообщает ОС - вообще может не соотноситься с реальностью из-за погони за совместимсотью с разными ОС
Vladislav
Arseniy
Да, с изначальным не связано, но это не значит, что вопрос выбора настроек ФС меня не беспокоит)) Как и ashift. Единственное, я усвоил, что для ssd ashift>=13 надо ставить
Vladislav
Да, с изначальным не связано, но это не значит, что вопрос выбора настроек ФС меня не беспокоит)) Как и ashift. Единственное, я усвоил, что для ssd ashift>=13 надо ставить
Эрм, ладно, Ваше дело. Больше 13 имеет смысл только когда Вы точно знаете, что у Вас мало 4к нагрузки и много 8,16,64
Vladislav
Arseniy
Да, само собой. Но для HDD, как я понял, такой фокус не сработает
Vladislav
Да, само собой. Но для HDD, как я понял, такой фокус не сработает
ashift это для ФС. То есть ashift=13 сделает размер блока на ФС равным 8к. То есть если операция будет 4к, то ФС считает блок 8к на каждую операцию 4к
При этом для дисков это будет выглядеть как команда на считывание 16 секторов по 512б
И контроллер диска объединит их в два 4к
Arseniy
Но суть изменения ashift же в повышения производительности, если того требует ситуация. Прошу не пинать, если я что то не то говорю, основываюсь на изученной документации. Так вот, изменение ashift выше 12 при условии работы БД, например, даст результат только на SSD, а на HDD прироста скорости не будет. Опять же, насколько я понял
Vladislav
Vladislav
И в целом за счёт задержки, пока ищется нужный блок на поверхности диска просто потеряется выигрыш в повышении ashift
Arseniy
Так вроде на современных дисках блок 4к, не?
Vladislav
Физический сектор на hdd - да 4к, я указывал это выше
Но ОС оперирует логическими секторами
Vladislav
Vladislav
блок это у Файловой системы, сектор у диска
Arseniy
Интересно, почему система сама предлагает установить 128к
Arseniy
Ok, создал новый пул. Дефолтные 128 остались, ничего до этого не было
Arseniy
ZFS самостоятельно принимает решение, в зависимости от параметров диска?) Изменить можно, пока dataset не создан, но блин, почему 128к то? логика какая?
Vladislav
Vladislav
Record size != ashift
George
recordsize != ashift, да, и и там и там есть дефолтное поведение
Arseniy
Сложно. Фактически, диск 4к, имитирующий 512-блоки (для совместимости). В таком случае, recordsize разумно установить в 4к (для соответствия блока диска), или увеличить (в зависимости от типа хранимых данных), что позволит выиграть в скорости записи, но "сожрёт" больше места на диске, если много файлов НЕ будут кратны 4к. При этом, ashift следует устанавливать также в соответствии с размером блока на диске. Если мы имеем 4к блок, а ashift - это степень двойки, то ставим его на 12 (2^12 = 4096).
Можем увеличить recordsize до 128к, в таком случае минимально записываемая "единица" информации будет занимать 128к. Если пишем 400к, запишется 512к, соответственно, расточительно уходит объём. Зато возрастает скорость записи. Я верно всё изложил?
George
Сложно. Фактически, диск 4к, имитирующий 512-блоки (для совместимости). В таком случае, recordsize разумно установить в 4к (для соответствия блока диска), или увеличить (в зависимости от типа хранимых данных), что позволит выиграть в скорости записи, но "сожрёт" больше места на диске, если много файлов НЕ будут кратны 4к. При этом, ashift следует устанавливать также в соответствии с размером блока на диске. Если мы имеем 4к блок, а ashift - это степень двойки, то ставим его на 12 (2^12 = 4096).
Можем увеличить recordsize до 128к, в таком случае минимально записываемая "единица" информации будет занимать 128к. Если пишем 400к, запишется 512к, соответственно, расточительно уходит объём. Зато возрастает скорость записи. Я верно всё изложил?
вы путаете sector size и record size
George
sector size это именно минимальный кусок которым оперирует ФС, считая что диск не умеет в меньшие блоки
George
а record size это логический размер в рамках одного из слоёв ZFS
Vladislav
Сложно. Фактически, диск 4к, имитирующий 512-блоки (для совместимости). В таком случае, recordsize разумно установить в 4к (для соответствия блока диска), или увеличить (в зависимости от типа хранимых данных), что позволит выиграть в скорости записи, но "сожрёт" больше места на диске, если много файлов НЕ будут кратны 4к. При этом, ashift следует устанавливать также в соответствии с размером блока на диске. Если мы имеем 4к блок, а ashift - это степень двойки, то ставим его на 12 (2^12 = 4096).
Можем увеличить recordsize до 128к, в таком случае минимально записываемая "единица" информации будет занимать 128к. Если пишем 400к, запишется 512к, соответственно, расточительно уходит объём. Зато возрастает скорость записи. Я верно всё изложил?
Дополню своё объяснение. Я забыл, про recordsize когда описывал.
Файл - 1024КБ
recordsize=128КБ
ashift=12 (4k)
Logical sector size = 512
Physical size = 4k
Чтение проще всего будет описать (ни одной части файла нет в ARC, потому что это ещё один уровень был бы)
Мы хотим прочитать Файл 1024КБ
Для этого ФС ZFS запрашивает 8 блоков по 128КБ у "виртуального диска" ZFS (тут есть умный термин, который я не знаю)
Виртуальный диск делит эти блоки по 128КБ на 32 запроса по 4к
Дальше каждый запрос по 4к бьётся уже самой ОС (при общении с блочным устройством) на блоки по 512
А уже контроллер диска считывает сектор на 4к и смотрит попадают ли туда все наши блоки по 512
nikolay
George
и файл с меньшим размером чем recordsize будет записан размером не менее размера сектора, кратно размеру сектора (4k, 8k, и тд). Есть ещё частный случай, что если файл больше recordsizeа, то последний логический блок будет равен recordsize (лечится включением сжатия)
nikolay
как кстати быстро вы смотрели вывод? после txg sync?
но в расчёте свободного места в части ещё не занятого пространста есть местами эвристики, но не более. Например недавно в draid натыкались, что там расчёт максимального объёма зашит на конкретный recordsize
мм, тут дело до txg sync не доходило, если я все верно понимаю. я делал так - есть пул на 380 Тб, создаю thick zvol с volblocksize 32к, затем даю команду zfs list, вижу что на томе показывает занятым 11.8 Тб, далее создаю второй zvol - 8к - на нем занято 12.5 Тб, далее создаю третий zvol - 512k - занято 90 Тб)) сразу после создания, никакого i/o в пуле нет.
nikolay
все тома размером по 95 ТБ
George
George
Ashift стоит считать оптимизацией, что диск на меньшем размере сектора будет rmw на записи делать и тд
George
И чем больше recordsize, тем меньше метаданных нужно записать и прочитать
nikolay
George
нет идей?)
Неа, а какая версия кода? Не помню тикетов на такое
George