Forwarded from George Melikov
перевели монументальную статью о дедупе в ZFS, и как он изменится в релизе 2.3 https://habr.com/ru/companies/vk/articles/863904/
Хабр
Дедупликация в OpenZFS теперь хороша, но использовать её не стоит
Вот-вот выйдет релиз OpenZFS 2.3.0 с новой функцией Fast Dedup . Это огромный шаг вперёд по сравнению со старой дедупликацией и отличный фундамент для будущих доработок. Контрибьютор OpenZFS @gmelikov...
👏3🔥1👀1
#books
Обожаю sci-fi, чем твёрже тем лучше.
Залпом прочитал "Семиевие" Нила Стивенсона за 2 недели. Автор, как всегда, многословен, но тем и прекрасны некоторые его книги.
Отзывы на SeveneveS пестрят жирными намёками на скучность и подобное "войне и миру" описание регулярных флешбеков в биографию героев. Но для меня в этом и прелесть Стивенсона как автора - столько увлекательных идей, и все* технически реализуемы!
Также стоит отметить рабочий подход с "чтобы построить новый мир, надо разрушить до основания старый", как бы грустно это не звучало,
НО даже в наших рядовых рабочих задачах есть проблема абстрагироваться от уже имеющихся наработок и посмотреть -а как же было бы оптимальнее сделать в принципе ? Обожаю этот подход!
Книгу категорически рекомендую любителям hard sci-fi, и буду рад вашим рекомендациям что ещё почитать из похожего. Эту книгу могу сравнить с произведениями Andy Weir (особенно Project Hail Mary) и Dragon's egg от Robert L. Howard.
Обожаю sci-fi, чем твёрже тем лучше.
Залпом прочитал "Семиевие" Нила Стивенсона за 2 недели. Автор, как всегда, многословен, но тем и прекрасны некоторые его книги.
Отзывы на SeveneveS пестрят жирными намёками на скучность и подобное "войне и миру" описание регулярных флешбеков в биографию героев. Но для меня в этом и прелесть Стивенсона как автора - столько увлекательных идей, и все* технически реализуемы!
Также стоит отметить рабочий подход с "чтобы построить новый мир, надо разрушить до основания старый", как бы грустно это не звучало,
НО даже в наших рядовых рабочих задачах есть проблема абстрагироваться от уже имеющихся наработок и посмотреть -
Книгу категорически рекомендую любителям hard sci-fi, и буду рад вашим рекомендациям что ещё почитать из похожего. Эту книгу могу сравнить с произведениями Andy Weir (особенно Project Hail Mary) и Dragon's egg от Robert L. Howard.
❤3⚡1👨💻1
А задумывались ли вы над тем, ĸаĸ появились ĸаталоги . и .. ?
Интересный и краткий экскурс в историю https://habr.com/ru/companies/vk/articles/879456/
Интересный и краткий экскурс в историю https://habr.com/ru/companies/vk/articles/879456/
Хабр
Каталог каталогов
Каĸ часто Вы просматриваете содержимое ĸаталога в Linux, BSD*, MacOS? Возможно ĸаждый день, или даже час. А задумывались ли вы над тем, ĸаĸ появились ĸаталоги . и .. ? Каĸово происхождение их...
👍4❤3👀1
Недавно разразился скандал про продажу б/у HDD под видом новых от официального реселлера Seagate https://www.tomshardware.com/pc-components/hdds/seagates-fraudulent-hard-drives-scandal-deepens-as-clues-point-at-chinese-chia-mining-farms
С одной стороны, покупая новое мы, естественно, хотим получать что-то с завода без следов эксплуатации.
А, с другой, HDD в первый год работы имеют повышенный риск смерти, и при покупке HDD с пробегом 5-15 тысяч часов, вы не только можете сэкономить, но и уменьшить процент отказов! Backblaze уже делился статистикой на этот счёт https://www.backblaze.com/blog/how-long-do-disk-drives-last/
Да, гарантия должна покрывать как раз первый год-два жизни диска, но повод на подумать всё равно есть. Да будет битва "гарантия" VS "за цену нового купим 2 б/у"!
С одной стороны, покупая новое мы, естественно, хотим получать что-то с завода без следов эксплуатации.
А, с другой, HDD в первый год работы имеют повышенный риск смерти, и при покупке HDD с пробегом 5-15 тысяч часов, вы не только можете сэкономить, но и уменьшить процент отказов! Backblaze уже делился статистикой на этот счёт https://www.backblaze.com/blog/how-long-do-disk-drives-last/
Да, гарантия должна покрывать как раз первый год-два жизни диска, но повод на подумать всё равно есть. Да будет битва "гарантия" VS "за цену нового купим 2 б/у"!
👌3✍1🤓1
В мире локальных стораджей наметилась очень интересная тенденция складывать всё в S3,
AWS у себя в FSx (где они используют zfs) ловко сделали псевдо-tiering и сгружают данные сразу в S3:
А пару лет назад Delphix передумал выкладывать object-based vdev в апстрим.
Интересный кейс, выгода решает.
AWS у себя в FSx (где они используют zfs) ловко сделали псевдо-tiering и сгружают данные сразу в S3:
This change is in use by FSx in production today for FSx Intelligent Tiering file systems, which use S3 storage-backed vdevs.
А пару лет назад Delphix передумал выкладывать object-based vdev в апстрим.
Интересный кейс, выгода решает.
GitHub
Prime arc to reduce zil_replay & import times by markroper · Pull Request #17044 · openzfs/zfs
Motivation and Context
The time it takes to import a zpool is dominated by the time it takes to replay the zfs intent log (zil) when the zil is large.
The zil is replayed serially, and some operati...
The time it takes to import a zpool is dominated by the time it takes to replay the zfs intent log (zil) when the zil is large.
The zil is replayed serially, and some operati...
❤3👍2👌1
Давно думали выступить? Самое время! Если переживаете или боитесь - можете приходить в комментарии-личку, как член программного комитета помогу подготовить заявку:
📌 Подача докладов открыта до 23 февраля: cfp.highload.ru
🔥 Saint HighLoad++ 2025 ждёт твой доклад!
Если у тебя есть опыт работы с высоконагруженными системами, большими данными, машинным обучением, инфраструктурой, DevOps или безопасностью, самое время подать заявку на выступление!
🎤 Выступать не страшно – мы помогаем с подготовкой, оплачиваем дорогу и даём бесплатный билет.
🚀 Присоединяйся к сильному сообществу разработчиков и делись своим опытом!
📌 Подача докладов открыта до 23 февраля: cfp.highload.ru
⚡2👌2✍1
Уважаемые хардкорщики, приглашаем вас на чисто технический оффлайн митап (+ есть онлайн), приходите! Увидимся!
VK Tech приглашает на InfraDevMeetup, посвященный разработке и эксплуатации инфраструктурных платформ, от разработчиков инфраструктурных сервисов.
Поговорим про устройство среднестатистических SDS и их выбор/разработку, в чём проблема «отношений» RabbitMQ и SDN Neutron, как можно спасти данные из аварийного Ceph и как построить датацентр для авто-тестов.
Спикеры:
☁️Василий Степанов, руководитель команды разработки Storage, VK Cloud.
☁️Артемий Капитула, техлид группы разработки систем хранения, Wildberries.
☁️Александр Шишебаров, ведущий разработчик, Selectel.
☁️Александр Крымов, старший разработчик, Kaspersky.
Подробнее о докладах читайте на странице мероприятия.
Когда: 26 марта, с 18:00 до 23:00
Где: Москва, Ленинградский 70, БЦ Алкон, офис VK Tech
Приходите на встречу или участвуйте онлайн.
Зарегистрироваться.
vk.company
VK / InfraDevMeetup от VK Tech
Приходите обменяться опытом разработки облачной инфраструктуры и платформ
🔥3✍1👍1
Считаю, что только в таких крутых позах и надо рассказывать зачем нужны оверлейные сети в датацентрах 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣8💯3😁2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Ah, good ol' finnish guy, who's always ready to feed you up
https://lore.kernel.org/lkml/CAHk-=wiZ=ZBZyKfg-pyA3wmEq+RkscKB1s68c7k=3GaT48e9Jg@mail.gmail.com/
https://lore.kernel.org/lkml/CAHk-=wiZ=ZBZyKfg-pyA3wmEq+RkscKB1s68c7k=3GaT48e9Jg@mail.gmail.com/
🍾2🗿2😈1
Капитанства пост - забудьте про md5, используйте xxh3 если вам не нужна криптостойкость, приемлемый дефолт - sha256.
Наивный тест на скорость "дефолтных" хешей из питона, по 10МБ рандома, псевдо-методика тут . Да, если не можете притащить сторонние либы - sha256 наше всё.
Наивный тест на скорость "дефолтных" хешей из питона, по 10МБ рандома, псевдо-методика тут . Да, если не можете притащить сторонние либы - sha256 наше всё.
👀5✍3💅1
Попробуем формат мини-постмортемов.
Вчера на полдня ложилсяИнтернет Google Cloud (GCP):
Давайте попробуем порассуждать что же произошло на основе публичных данных:
- Первопричина - в quota api гугла прилетели некорректные данные (извне/изнутри/при обновлении), которые по цепочке вниз разломали всё остальное.
- В любой инфраструктуре есть "фасад" с IAMом, квотами и другими "бизнесовыми" сервисами. Обычно аварии, связанные с ними должны иметь аффект только на этот самый "фасад", и аффектить максимум controlplane, т.е. возможность управлять сущностями.
- Но, судя по аффекту, некорректные метаданные всё же добрались до dataplane и успешно сломали и сами инфраструктурные сервисы (минимум их часть)
Сами Google сделали такие выводы:
Лично для меня вывод - защититься от такого гарантированно сложно, но если строить обработку ошибок не от частного (отдельные обработчики на каждую), а от общего (не важно какая ошибка произошла), и при этом уметь обработать ошибку по конкретной сущности отдельно - такого можно избегать. Пример - любая невалидная запись не важно по какой причине должна быть отброшена с громким ором об этом, не останавливая работу в целом. Вспоминаем любимый нами reconciliation loop. Ну и чёткое разделение control/data-plane.
Что интересно, GCP за собой положил и часть Cloudflare. Но разбор их проблемы оставим на десерт,если такой формат вам интересен .
#postmortem
Вчера на полдня ложился
the issue occurred due to an invalid automated quota update to our API management system which was distributed globally, causing external API requests to be rejected. To recover we bypassed the offending quota check, which allowed recovery in most regions within 2 hours. However, the quota policy database in us-central1 became overloaded, resulting in much longer recovery in that region. Several products had moderate residual impact (e.g. backlogs) for up to an hour after the primary issue was mitigated and a small number recovering after that.
Давайте попробуем порассуждать что же произошло на основе публичных данных:
- Первопричина - в quota api гугла прилетели некорректные данные (извне/изнутри/при обновлении), которые по цепочке вниз разломали всё остальное.
- В любой инфраструктуре есть "фасад" с IAMом, квотами и другими "бизнесовыми" сервисами. Обычно аварии, связанные с ними должны иметь аффект только на этот самый "фасад", и аффектить максимум controlplane, т.е. возможность управлять сущностями.
- Но, судя по аффекту, некорректные метаданные всё же добрались до dataplane и успешно сломали и сами инфраструктурные сервисы (минимум их часть)
Сами Google сделали такие выводы:
- Prevent our API management platform from failing due to invalid or corrupt data.
- Prevent metadata from propagating globally without appropriate protection, testing and monitoring in place.
- Improve system error handling and comprehensive testing for handling of invalid data.
Переводя для себя: валидация входящих данных должна быть строжайшей, а всё, что разъезжается глобально - должно разъезжаться строго поэтапно, чтобы не накрыть всю систему разом. Ну и частные ошибки надо уметь игнорировать.Лично для меня вывод - защититься от такого гарантированно сложно, но если строить обработку ошибок не от частного (отдельные обработчики на каждую), а от общего (не важно какая ошибка произошла), и при этом уметь обработать ошибку по конкретной сущности отдельно - такого можно избегать. Пример - любая невалидная запись не важно по какой причине должна быть отброшена с громким ором об этом, не останавливая работу в целом. Вспоминаем любимый нами reconciliation loop. Ну и чёткое разделение control/data-plane.
Что интересно, GCP за собой положил и часть Cloudflare. Но разбор их проблемы оставим на десерт,
#postmortem
👍7❤1🔥1
Продолжим тему постмортемов, ч.2 аварии в GCP.
Оказалось, что один из ключевых компонентов Cloudflare хостится на GCP, который значительно пострадал.
Анализ на базе публично доступного:
- У CF есть публичный key-value распределённый сторадж - Workers KV
- CF придерживается политики "по максимуму используем свои же кубики", и Workers KV является основой также и для других сервисов CF (тут им респект - dogfooding это прекрасно)
-
- На деле выяснилось, что хотя сервис и распределённый, и кеш у него распределённый, НО итоговый сторадж (он же - единая точка правды) - централизован
- Итог - "топология звезда, центр лёг - всемупизда "
Делаем выводы:
- Единая точка правды - нормальная практика, но стоит быть готовым к её полному уходу (что сложно)
- Как можно уменьшить аффект - стараться разделить read и write операции, read в таком случае можно хорошенько разгружать и делать распределённым
- Разумный компромисс - в случае аварии "в центре" переходить в read-only режим
- А это значит, что нужно стремиться делать подавляющее количество операций - только на чтение
- Ну и капитанское: моновендорность - это к проблемам. Хотите такое переживать - учитесь работать в парадигме мультиклауда, уход даже нескольких регионов разом - статистическая норма на долгосроке.
Сами CF говорят что уже планировали подобные работы:
Можно конечно выбрать самого крупного вендора, и надеяться, что с его падением упадёт и весь остальной Интернет :)
#postmortem
Оказалось, что один из ключевых компонентов Cloudflare хостится на GCP, который значительно пострадал.
Анализ на базе публично доступного:
- У CF есть публичный key-value распределённый сторадж - Workers KV
- CF придерживается политики "по максимуму используем свои же кубики", и Workers KV является основой также и для других сервисов CF (тут им респект - dogfooding это прекрасно)
-
Workers KV is a data storage that allows you to store and retrieve data globally , звучит отлично- На деле выяснилось, что хотя сервис и распределённый, и кеш у него распределённый, НО итоговый сторадж (он же - единая точка правды) - централизован
- Итог - "топология звезда, центр лёг - всему
Делаем выводы:
- Единая точка правды - нормальная практика, но стоит быть готовым к её полному уходу (что сложно)
- Как можно уменьшить аффект - стараться разделить read и write операции, read в таком случае можно хорошенько разгружать и делать распределённым
- Разумный компромисс - в случае аварии "в центре" переходить в read-only режим
- А это значит, что нужно стремиться делать подавляющее количество операций - только на чтение
- Ну и капитанское: моновендорность - это к проблемам. Хотите такое переживать - учитесь работать в парадигме мультиклауда, уход даже нескольких регионов разом - статистическая норма на долгосроке.
Сами CF говорят что уже планировали подобные работы:
Bringing forward our work to improve the redundancy within Workers KV’s storage infrastructure, removing the dependency on any single provider.
Можно конечно выбрать самого крупного вендора, и надеяться, что с его падением упадёт и весь остальной Интернет :)
#postmortem
Telegram
Yet another senior pomidor (by @gmelikov)
Попробуем формат мини-постмортемов.
Вчера на полдня ложился Интернет Google Cloud (GCP):
the issue occurred due to an invalid automated quota update to our API management system which was distributed globally, causing external API requests to be rejected.…
Вчера на полдня ложился Интернет Google Cloud (GCP):
the issue occurred due to an invalid automated quota update to our API management system which was distributed globally, causing external API requests to be rejected.…
👍6🔥3❤1👀1
Уже начали! Открытая трансляция https://highload.ru/spb/2025/open-track#broadcast
Увидимся! #highload
Увидимся! #highload
🔥3👌1
После потрясного доклада Андрея Бородина о WAL-логах в Postgres в кулуарах мы вышли на очень интересную тему - распределённая БД упирается чаще не в диски, а в сеть! При чём даже не на непосредственно трафик самих запросов, а на служебные нужды - наливка новых реплик, бекап, и даже служебная информация (GIN индекс на небольшом изменении данных может очень значительно перестроиться).
Все эти байтики нужно очень быстро и успешно передать на другой инстанс БД, находящийся в другом ДЦ (будьте готовы к латенси 5+мс). Получается, что поток изменений, передаваемый по сети, примерно совпадает с данными, которые мы будем сбрасывать на диски в WAL. И основной вывод - что оптимизироваться, оказывается, надо именно на поточную передачу по сети!
Возвращаясь с Saint Highload 2025 в сапсане мне стало интересно покрутить тему и я полез в советы Oracle как стоит тюнить ZFS для их БД. И там я наткнулся на очень интересный совет - что, дескать, ранее мы советовали выставлять
Вот такие интересные реалии - нужно тюнить ФС под профиль нагрузки сети.Оп-ля!
#не_очевидное
Все эти байтики нужно очень быстро и успешно передать на другой инстанс БД, находящийся в другом ДЦ (будьте готовы к латенси 5+мс). Получается, что поток изменений, передаваемый по сети, примерно совпадает с данными, которые мы будем сбрасывать на диски в WAL. И основной вывод - что оптимизироваться, оказывается, надо именно на поточную передачу по сети!
Возвращаясь с Saint Highload 2025 в сапсане мне стало интересно покрутить тему и я полез в советы Oracle как стоит тюнить ZFS для их БД. И там я наткнулся на очень интересный совет - что, дескать, ранее мы советовали выставлять
recordsize (размер логического блока на ФС) равным размеру блока файлов данных БД (обычно это 8-16К), А ТЕПЕРЬ стоит выставлять его равным среднему размеру IO по сети (32К для OLTP по их мнению, 128К для OLAP)!Вот такие интересные реалии - нужно тюнить ФС под профиль нагрузки сети.
#не_очевидное
👍10🤔3🔥2❤1👀1
Тут из 1)многих 2)уважаемых 3)утюгов говорят про драму Bcachefs и его исключение из ядра в следующем релизе (о боги, хотят выкинуть самую прогрессивную ФС, как они посмели!), цитата от мистера Торвальдса в сторону мистера Оверстрита:
В драму играть не хочется, а вот надеть шапочку контрибьютора (не)последней ФС в этом мире OpenZFS очень даже хочется.
Преамбула:
OpenZFS в силу своей лицензии CDDL (словом, такой же опенсорсной, как и GPLv2) имеет ряд нюансов при распространении совместно с ядром, и исторически распространяется для Linux в виде отдельного модуля ядра через DKMS (поставка в виде исходного кода, сборка непосредственно при установке на конечной машине) или KMOD (бинарная поставка, но строго прибит по ABI к конкретному подрелизу ядра), вот их сравнение. И так мы живём уже минимум 10 лет (ого!).
Фабула:
Как бы не был прекрасен или ужасен Bcachefs и его автор, но искренне считаю, что для него лично, так и для его проекта это может пойти на руку:
- делай что хочешь и когда хочешь (и никакой фин не помешает! )
- свой прозрачный релизный цикл, не надо гнаться и ждать следующего релиза ядра
- клиент может спокойно сидеть на LTS ядре и иметь bleeding edge версию ФС с багофиксами любой свежести
Да, теперь твоя ФС не поставляется просто так "из коробки" в любой утюг мира, и её надо доустановить. Но разве это кого-то останавливало от захвата мира? :)
PS: и как бы не звучал страшно DKMS - сборка на конечной машине работает годами и очень стабильно, юзай любое совместимое ядро и не горюй.
PPS: в комментариях @nbykov приложил must-have к прочтению ссылку на открытое письмо Ганса Райзера (того самого автора ReiserFS), качайте софты, коллеги, мы живём в социуме.
#скандалы_интриги_расследования
You made it very clear that I can't even question any bug-fixes and I
should just pull anything and everything.
Honestly, at that point, I don't really feel comfortable being
involved at all, and the only thing we both seemed to really
fundamentally agree on in that discussion was "we're done".
В драму играть не хочется, а вот надеть шапочку контрибьютора (не)последней ФС в этом мире OpenZFS очень даже хочется.
Преамбула:
OpenZFS в силу своей лицензии CDDL (словом, такой же опенсорсной, как и GPLv2) имеет ряд нюансов при распространении совместно с ядром, и исторически распространяется для Linux в виде отдельного модуля ядра через DKMS (поставка в виде исходного кода, сборка непосредственно при установке на конечной машине) или KMOD (бинарная поставка, но строго прибит по ABI к конкретному подрелизу ядра), вот их сравнение. И так мы живём уже минимум 10 лет (ого!).
Фабула:
Как бы не был прекрасен или ужасен Bcachefs и его автор, но искренне считаю, что для него лично, так и для его проекта это может пойти на руку:
- делай что хочешь и когда хочешь (
- свой прозрачный релизный цикл, не надо гнаться и ждать следующего релиза ядра
- клиент может спокойно сидеть на LTS ядре и иметь bleeding edge версию ФС с багофиксами любой свежести
Да, теперь твоя ФС не поставляется просто так "из коробки" в любой утюг мира, и её надо доустановить. Но разве это кого-то останавливало от захвата мира? :)
PS: и как бы не звучал страшно DKMS - сборка на конечной машине работает годами и очень стабильно, юзай любое совместимое ядро и не горюй.
PPS: в комментариях @nbykov приложил must-have к прочтению ссылку на открытое письмо Ганса Райзера (того самого автора ReiserFS), качайте софты, коллеги, мы живём в социуме.
#скандалы_интриги_расследования
🤔6👍4👨💻2👀2
Этим дождливым летом в default-city продолжаем инфровые митапы, приходите, увидимся!
👌1👀1
Forwarded from Nastasya
Привет! VK Tech приглашает на DarkSideoftheCloud, специальный выпуск InfraDev Meetup про «теневую» сетевую сторону облачных сервисов.
Поговорим про то, где сети лежат в архитектуре BareMetal as a Service, какие технологии выбрать для виртуальной частной сети и как справиться с непростой задачей масштабирования межсетевых экранов.
Спикеры:
🕸Кирилл Фролов, эксперт в команде разработки платформы, VK Cloud, VK Tech.
🕸Влад Одинцов, Tech Lead и Product Owner сетевых сервисов, K2 Cloud.
🕸Юрий Дышлевой, инженер, Positive Technologies.
Подробнее о докладах читайте на странице мероприятия.
Когда: 16 июля, с 18:00 до 23:59
Где: Москва, Ленинградский 39, БЦ Skylight, офис VK
Приходите на встречу или участвуйте онлайн.
Зарегистрироваться.
Поговорим про то, где сети лежат в архитектуре BareMetal as a Service, какие технологии выбрать для виртуальной частной сети и как справиться с непростой задачей масштабирования межсетевых экранов.
Спикеры:
🕸Кирилл Фролов, эксперт в команде разработки платформы, VK Cloud, VK Tech.
🕸Влад Одинцов, Tech Lead и Product Owner сетевых сервисов, K2 Cloud.
🕸Юрий Дышлевой, инженер, Positive Technologies.
Подробнее о докладах читайте на странице мероприятия.
Когда: 16 июля, с 18:00 до 23:59
Где: Москва, Ленинградский 39, БЦ Skylight, офис VK
Приходите на встречу или участвуйте онлайн.
Зарегистрироваться.
🔥2👌1🤝1