Alex
Я поиграл с тестовым пулом и получил вот такое https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A/
Alex
# zpool status test -v pool: test state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A scan: scrub repaired 0B in 00:00:00 with 1 errors on Sat Nov 25 01:42:49 2023 config: NAME STATE READ WRITE CKSUM test ONLINE 0 0 0 /root/test.loop ONLINE 0 0 6 errors: Permanent errors have been detected in the following files: /test/test/asdf
Alex
Т.е реально zfs-ина показывает, какой файл закарраптился! Вот ёлки.
Free
Я поиграл с тестовым пулом и получил вот такое https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A/
Спасибо за тест - у меня руки бы не дошли. Я больше теоретизирую 😉
Alex
Спасибо за тест - у меня руки бы не дошли. Я больше теоретизирую 😉
Черт. Но я блин до этого был уверен, что такое невозможно =(
Alex
и с пеной у рта тут это доказывал.
Alex
Вот так если делать
не хватает conv=notrunc
Alex
Ладно, зато zfs еще круче в моих глазах стала =))
Alex
Чертовка, а! Как они это делают?
Alex
Nullius in verba - великая фраза.
Vladislav
не хватает conv=notrunc
Кстати, видимо так
Vladislav
точно =)
Успел пофиксить)
Alex
нетъ! =)
Vladislav
Дя!)))
Alex
Там еще пришлось поискать, куда точно бить
Alex
я сперва попал в нули, походу, и ничего. Нужно найти смещение с данными и тереть там. Устал, потом может еще поиграться и попробовать стукнуть точно по метаданным - может тогда захерится весь пул
Free
Чертовка, а! Как они это делают?
Ну я, честно говоря, ожидал бы такого поведения. Ведь не зря сразу говорят, что ZFS, в отличие от классических рейдов, знает диски до уровня файлов. Спасибо вам и этому чату за прояснение неочевидных вопросов (несмотря на некоторый осадок от самоуверенных троллей, ссылающихся на "общеизвестные знания о рейдах" 😜)
Alex
Но всё же. Если экстраполировать. Очевидно, что при некотором уровне ошибок пул сломается
Alex
А следовательно, должны быть болевые точки, при поломке которых пул таки будет убит.
Alex
Но штож. Неделя прошла не зря!
Free
так я сам был уверен, что пул сдохнет =(
У меня еще к тому же есть некоторая надежда новичка на "реализованное чудо" (которое можно представить, что могло бы быть реализовано исходя из заложенных в zfs преимуществ). Вот про одно из таких чудес я здесь уже спрашивал (про возможность расширения объема пула при замене диска на диск бОльшего объема). И в этой же книжке, кстати, нашел подтверждение, что какие-то движения в этом направлении есть. Правда, одна из функций была, по описаниям, отложена на будущее (кстати, это "будущее" для книги сейчас уже наступило), а интересовавший меня вопрос про raidz был описан как "имеющийся в roadmap, но пока не запланированный"
Free
ну придется увеличить все диски в vdev. Вроде расширение возможно. Проверим? :))
Не, я там мечтал о том, чтобы страйпы записывались не на ВСЕ диски vdev (если маленький файл, например) - и тогда можно было бы играться тем, чтобы чаще такие маленькие файлы направлять на новый большой диск, чтобы на него больше страйпов приходилось. Но это, конечно, не просто и эта надежда сейчас у меня потухла.
Free
Seagate adapt Вам в ту сторону
Да я опять-таки чисто теоретически 😊. В рамках знакомства с zfs. Практически мне это не нужно сейчас.
Vladislav
точно =)
Да, я сейчас догадался посмотреть на размер файла после моего dd))) Забавно, что это все описывается по запросу zfs raidz1 ube
Anton
Всем доброго времени суток! Хотелось бы получить обратную связь и понять, все ли я делаю правильно, пока есть возможность что-то учесть/изменить при масштабировании. Есть пул из 2-х raidz2, набитых по 10 шт. идентичных 16 Тб SAS дисков. Используется под цели видеонаблюдения. Таких пула три, каждый на платформе Supermicro с Xeon E5-2697 v2 128 Gb. На 2 из 3 стримеров льется в среднем где-то по 1.5 Gbps, 3-ий на подхвате.
Anton
Настройки zfs из коробки, без L2ARC и сжатия. 1. Насколько вообще уместно применение zfs под видеоданные (много записи, чтение редко) в схеме raidz2? Может быть есть более оптимальные решения? 2. Будет ли вообще выхлоп от использования ARC и L2ARC? 3. Иметь ли смысл применять сжатие? Беглый поиск по чатам типа Astra и Flussonic, например, показал, что такое юзали под видеоархивы, только описывают это в сочувствующим что ли контексте :)
Anton
А какое видео ?
потоки с камер h264 кодек, full hd в среднем
Ivan
потоки с камер h264 кодек, full hd в среднем
с кривых кодеков можно что-то поджать конечно. советую провести тесты на наборе данных.
Georg🎞️🎥
потоки с камер h264 кодек, full hd в среднем
Ясно Много arc и l2 на очень редкое чтение вам не помощники )) Сжать видос тоже особо не выйдет 🤷🏻‍♂️
Anton
Мораль: работает, не трогай :)
Georg🎞️🎥
Мораль: работает, не трогай :)
Мы еще читаем много - потому и память в максимум
Anton
Ну архивы мало кто смотрит, да.
Georg🎞️🎥
Ну архивы мало кто смотрит, да.
Собирайте на raidz2 )) больше 10 винтов лучше в группу не пихать вроде 🤔
Anton
Собирайте на raidz2 )) больше 10 винтов лучше в группу не пихать вроде 🤔
Да, так и сделано, dual mirror из двух raidz2 по 10 винтов
George
Настройки zfs из коробки, без L2ARC и сжатия. 1. Насколько вообще уместно применение zfs под видеоданные (много записи, чтение редко) в схеме raidz2? Может быть есть более оптимальные решения? 2. Будет ли вообще выхлоп от использования ARC и L2ARC? 3. Иметь ли смысл применять сжатие? Беглый поиск по чатам типа Astra и Flussonic, например, показал, что такое юзали под видеоархивы, только описывают это в сочувствующим что ли контексте :)
1 - очень уместно. Схему выбирайте от требований по записи, чем жире raidz - тем эффективнее по месту, но хуже по перформансу, и наоборот 2 - не очень, оставьте дефолтный arc просто 3 - нет, если пишете в файл с размером кратным recordsize, иначе просто последний блок файла займёт весь recordsize (со сжатием - не займёт). Но скорее всего проще даже не заморачиваться единственное что можно подумать покрутить - recordsize вверх, и то не обязательно, дефолтный 128k норм
Anton
Эмми… не страйп?
ну это raid 6 0 в эквиваленте ZFS получается. один пул из 2-х raizd2 по 10 винтов
Anton
Ну у меня так же , только 9 по 10 ))
Ого 👍. Видеомонтажное что-то?
Georg🎞️🎥
Ого 👍. Видеомонтажное что-то?
Угу … вот там память помогает оч
Anton
А какое видео ?
в среднем один такой стример вывозит 700-800 камер без существенных потерь по кадрам
Anton
800 потоков? 🤔на что это пишется ?
Форпост, решение для облачных видеохранилищ
Georg🎞️🎥
800 потоков? 🤔на что это пишется ?
Ааааа … raidz из двух ведев не вытащит такую запись
Vladislav
Vladislav
10 Gb.
Я полагаю 2x10gb? Lacp? Lag? Два независимых порта со своими айпи?
Vladislav
Я полагаю 2x10gb? Lacp? Lag? Два независимых порта со своими айпи?
думаю нет, и коммутатор плохого качества :)
Vladislav
думаю нет, и коммутатор плохого качества :)
Так-то zfs из raid60 на 20 enterprise дисков может и хватит на 1 канал 10Г (где помимо данных ещё оверхед протокола smb\nas), по крайней мере, в теории,
Anton
Я полагаю 2x10gb? Lacp? Lag? Два независимых порта со своими айпи?
Всего трафика где-то 3.3 Gb дует и размазывается по 3 таким стримерам. Сетевуха Intel X520-DA2, коммутатор SNR S2990G-24FX.
Δαρθ
порезать какойнить файл с камеры на куски recordsize (например 1мб) и пожать zstd. если куски хотя бы на 4к меньше получаться будут, смысл юзать сжатие есть. вопрос хватит ли на сжатие всего потока процессора -- отдельный.
George
порезать какойнить файл с камеры на куски recordsize (например 1мб) и пожать zstd. если куски хотя бы на 4к меньше получаться будут, смысл юзать сжатие есть. вопрос хватит ли на сжатие всего потока процессора -- отдельный.
> если куски хотя бы на 4к меньше получаться будут, смысл юзать сжатие есть. увы не так, сейчас есть зашитая проверка что если блок не сжался на 12.5% хотя бы, то он будет записан как есть
Alex
https://www.truenas.com/community/threads/game-changer-for-zfs-2-2-intelligent-compression-that-saves-cpu-and-space.113247/
Alex
но это в 2.2 . Я б не рискнул =)
George
а нет чтоб вынести этот параметр в крутилки....
там не всё так просто) я несколько лет назад уже подход делал, трабла что старый код на это завязывается и можно сломать обратную совместимость https://github.com/openzfs/zfs/pull/9416
George
в 2.2 при zstd сжатии сначала есть хитрая попытка сжать с lz4, и там можно цпу сэкономить таким образом
Alex
ну я про это думал =) Там же тоже: попробуем lz4, потом zstd, но если вообще не жмется - то и ладно
Alex
вообще отсечка 12.5% выглядит высоковатой. Иногда и 5% это вполне конкретные деньги выходят... неужели не оставили крутилку?
George
это странная эвристика для больших блоков...
Это эвристика оч старая, но стоит учесть что она сильно влияет на потребление проца. И оптимальный для всех дефолт надо подобрать
Vladislav
Накину немного на вентилятор :)
Vladislav
эх....когда ментейнилась ZFS разрабами из illumos то фич было меньше но стабильность выше.....а тут пустили линуксятников к священному — все испоганили......теперь с ZFS во фре такой же бардак как и в линуксах
Δαρθ
а бздишники могут и сами свою ветку мейнтейнить, никто не запрещает вроде
Alex
ну доля правды есть, меня ченжлоги пугают давно.
Vladislav
поэтому у меня дома vfs.zfs.version.spa: 5000 на работе уже версия чуть повыше, посмотрим как поведет себя :)