Pull to refresh

Comments 43

FAT12 применялась (и, собственно, до сих пор применяется) на дискетках и вполне поддерживает директории.
В DOS 1.0, где появилась ФАТ12, директорий не было. Прикрутили позднее, в ДОС 2.01.
Тогда так и надо говорить, что директорий нет в DOS 1.0, а не то, чтобы их нет в FAT12.
Очень, очень странный доклад. Зачем-то понятие объектного хранилища постоянно подменяется файловой системой. И вообще, всё выглядит как «мы пробовали сделать, но у нас не получилось, и поэтому мы считаем, что мир — вот такой, как в этом докладе».

Автор доклада не слышал о существовании таких сервисов, как Amazon S3, Dropbox (точнее, их Magick Pocket), MS Azure storage?

И, кстати, seek — вот вообще не проблема для распределённой POSIX-совместимой файловой системы. Иерархия директорий и особенно атомарность её изменений — намного бОльшая боль.

Зачем хранилищу объектов иерархия? Хранилище BLOB'ов – это же плоское хранилище, где uuid – это ключ, а BLOB – значение.

Я специально на абзацы комментарий разбил, и про иерархию писал в контексте POSIX-совместимой распределённой ФС. Там нужна иерархия, как ни крути, а вот нужна ли такая ФС — большой вопрос. Про объектное хранилище вы, конечно, правильно пишете.
Ну S3 seek не поддерживает.
Да и не так часто он нужен.
Я как-то при заливке дампа с продакшена на дев перепутал их местами. А бэкапы были только на несколько дней назад. Было не слишком приятно :). После этого бэкапы начали делать каждый час.
на ext4 не поддерживается ни сжатие, ни шифрование, там это организовано с помощью блочных устройств, которые поддерживают и то и другое
Так ведь ext4 поддерживает шифрование с середины прошлого года. Эти патчи вошли в ядро Linux 4.1
А, это доклад, прочитанный в мае 2015 г.
Налито столько воды, что я так и не понял, о чем речь. Или в чём проблема.
Обалденный доклад, кмк.

ЗЫ. Расшифровка «трейдконтроллера с батарейкой» доставила)
Думаю ipfs спасёт нас от мучений когда-то.
Мне самому случалось перепутать source и destination в команде rsing

Это какая неизвестная мне команда, или там должен быть rsync?

И правда, какой-то странный доклад. Зачем так все усложнять? Консистентностью почти всегда можно пожертвовать. Версионирование как защита от ошибки оператора… Ну кто мешает дать оператору такие утилиты, которые исключат возможность ошибки?


Не хватает скорости на запись? Надо увеличить размер кластера. Не хватает скорости на чтение? Надо увеличить коэфф. репликации.


При падении ноды кластер лежит, т.к. восстанавливает данные? А кто мешает не использовать 100% iops для восстановления данных, а реплицировать потихоньку?


Поправьте меня, если я неправ, но n одинаковых серверов с WebDAV + транзакционная база в качестве индекса сможет масштабироваться на любую нагрузку.


P.S. Вконтакте очень даже удаляет старые файлы. Достаточно промотать любой паблик вниз, и на каком-то этапе начнут показываться посты без картинок. Эффективный менеджмент в действии я думаю.

Вконтакте очень даже удаляет старые файлы

Судя по тому, что пропадают в том числе аватары пользователей, картинки не удаляются, а просто по какой-то причине ломаются. Старые видимо просто не удается восстановить.
Мда, на дворе 2016 год заканчиваеться, все ищут девелоперов в инновационные стартапы с блокчейном а файлы по прежнему кладут в БД. Неужели CEPH так плохо себя показывает в том, для чего он изначально был спроектирован? Как выживает google со своим gfs? Или наличие Namenod и отсутствие POSIX решает?
Лет 10 назад у меня была небольшая файлопомойка, анонимная и шифрованная.
4 хилых десктопных 2х ядерных сервера, в каждом 1-2 БП и 10 — 20 винтов.
Жило это все под фряхой разных релизов, все винты хранилища были зашифрованы, собранны в несколько массивов(на каждый сервер, так как собиралось это не за 1 раз) и на них кроме самих данных хранились данные «клеток»(jail) со своими IP, MAK и DC клиентами.
Все DC клиенты по часам коннектились к общественному DC серверу, половина день и вечер, вторая половина вечер и ночь, свежая и актуальная инфа тупо клонировалась на 2 DC клиентах работающих в разное время.

В 7 фряхе появилась ZFS с кучей плюшек, вроде раскиданного по серверам дискового пространства, снапшетов и т.д.

Порядка 7 лет назад я отошел от администрирования сети и серверов, неужели за эти годы так и не допилили ZFS и нет альтернатив?
Почему нельзя просто сложить все файлы в базу? С моей точки зрения, именно так и надо поступить, потому что если у нас лежат файлы в базе, у нас есть большой пакет хороших средств работы с такими вещами.

А разве данные базы данных не в файлах хранятся?
оракловая БД предусматривает возможность установки на сырой раздел, без фс вообсче.
«Tablespaces on raw partitions» кажется

а так вообще: файлы в таблицах, которые в файлах…
image
Это было в времена до 10g. Да даже в 9i это рекомедовалось делать только от безнадеги, посколько управлять этими разделами было сложновато. Этот подход считается устаревшим и не рекомендуется. У Оракл теперь есть специализированная система для хранения ASM (специальная файловая система + управляющий сервис). Приемущество ASM над RAW в том, что ASM «знает» что за данные у него лежат и может оптимизировать исходя из логи работы базы данных. Кроме того в ASM есть разные дополнительные возможности с точки зрения кластеризации, реплицирования и т.д.

Понятно, что БД в файлах хранит свою информацию) Но ведь доступ к файлу напрямую из ФС — это самый короткий вариант. А доступ к файлу через какую-то БД, которая пойдёт и ковырнёт какой-то огромный массив данных и выплюнет оттуда нужные тебе пару мегабайт — это другое. Да и веб-сервер, к примеру, обычно сам не умеет работать с БД как с файловой системой. Придётся добавить вторую прослойку: какой-нибудь cgi-процесс на каком-нибудь пыхе, который будет обращаться сначала к БД, потом возвращать контент веб-серверу… который, в свою очередь, этот контент уже отдаст клиенту.

Зачем BLOB-хранилищу файловая система, разве оно не должно работать с блочным устройством напрямую?

CAP-теорема – это всего-навсего теорема, ее никто не доказал, но по факту это действительно так.

Если бы её никто не доказал, она не была бы теоремой. Доказали её Сет Гильберт и Нэнси Линч.
Ее никто и не доказывал. Это эвристическое утверждение, по этому строго доказательства и нету. А Сет Гильберт и Нэнси Линч лишь подобрали модели, в рамках которых выполнялась теорема.
> Потому что, если у вас есть дисковый массив из, например, пяти 4-х Тбайтных дисков, то он содержит 20 Тбайт. Для того чтобы после случайного сбоя, например, один из дисков вылетел, его надо восстановить, в реальности надо прочесть все 16 Тбайт. 16 Тбайт читаются по Тбайту в час. Т.е. у нас вылетел всего один диск, но для того, чтобы снова запустить массив в работу нам требуется 16 часов – это неприемлемо в сегодняшней ситуации.

А что RAID с зеркалом уже отменили? Вылетел диск. Заменили. Он в фоне дублируется потихоньку, а система продолжает работать. Даже RAID5 и RAID6 вроде не требуют остановки системы для восстановления после сбоя.

> Почему нельзя просто сложить все файлы в базу? С моей точки зрения, именно так и надо поступить, потому что если у нас лежат файлы в базе, у нас есть большой пакет хороших средств работы с такими вещами.

Любая ФС является базой данных.
Любая БД, в которой сохраняют файлы, становится ФС.
в течении времени, пока новый диск заполняется, система живет до первой ошибки… raid6 так и появился, чтобы выдержать ее, так как ошибка с большой вероятностью возникает именно в момент тотального чтения всего и вся.

автор статьи посчитал время восстановления рейда по максимуму скорости, когда на нем ничего не происходит, в реальности умножайте эти сроки на 10-100, особенно если все высоконагружено.

и да, зеркалирование — дорогое удовольствие, но да в подавляющем большинстве случаев оно спасает

p.s. добавлю к статье очень полезную мысль, делитесь и размножайтесь — не создавайте один большой блок из 100500 дисков, если у вас 30 дисков, сделайте 5 независимых рейдов, по 6 в каждом,… в результате смерть одного диска заставит шевелистья всего 5 оставшихся дисков, вместо всех.
> автор статьи посчитал время восстановления рейда
Помоему, автор даже не писал ничего про рейд, поэтому умножить на 10-100 можно, но сначала надо поделить на 10-100
Автор пытается открыть глаза на общие проблемы, которые надо учитывать, и доносит мысль что все решения надо проверять на адекватность в конкретных условиях.
>А что RAID с зеркалом уже отменили? Вылетел диск. Заменили. Он в фоне дублируется потихоньку, а система продолжает работать. Даже RAID5 и RAID6 вроде не требуют остановки системы для восстановления после сбоя.

ZFS IMHO иначе RAID не знает где там файлы и 16 часов будет реплицировать все.

Как раз ZFS знает, где каждый файл и будет работать только с этими частями диска.

> сейчас не существует не то что хорошей, а хотя бы приемлемой системы хранения файлов. 

Binary Artifact Repository? Не, не слышал.
> сейчас не существует не то что хорошей, а хотя бы приемлемой системы хранения файлов. 

Binary Artifact Repository? Не, не слышал.
Берем какую-нибудь кластерную файловую систему. Мы попробовали несколько: CEPH/Lustre/LeoFS.

Интересно, а GlusterFS не пробовали? Может она бы подошла.
Т.е. ваше хранилище не должно по первому чиху превращаться в тыкву, которая занята только сохранением спрятанных внутри данных. Если уж данные потерялись, бог с ними, они потерялись, главное, чтобы шоу продолжалось.

Извините, но такое «отдавалище» никому не нужно. Никому не хочется, чтобы конкретно его данные превратились в эту тыкву вообще, а не перестали быть доступными пусть даже несколько дней. Сколько проработает сервис без отказоустойчивости?

если речь идет о публичном сервисе, то выбирая между очень серьезными затратами на отказоустойчивость и шансом того, что 0.01% пользователей потеряет часть своих фоток с котиками...

Скажите, вы лично готовы потерять фото со своей свадьбы? Первые фото своего ребенка? Видео его первых шагов? Последнюю фотографию своей матери?

Называть несущественной проблему потери личных фотографий — ханжество.

Сервис либо должен гарантировать сохранность, либо твёрдо и ясно писать при регистрации, что они ничего не обещают. И что выбор пользователя — заплатить 2000 рублей в год за терабайт облака, или заплатить один раз 15000-25000 за домашний NAS с зеркалом.

Пожалуйста, найдите какие-нибудь другие аргументы, без переходов на личности.


И нет, не должен, и тем более не гарантирует. Просто подумайте, какие усилия надо приложить, чтобы обеспечить 100% сохранность, скажем, одной страницы текста? Чтобы она не сгорела в пожаре, не содержала дефектов при изготовлении копии, не пропала из-за человеческого фактора? А электронные данные более хрупки.


Так что на практике всё упирается в экономическую целесообразность — в стоимость защитных мер, в доходы, в риски потери доходов в случае потери данных.

Какие вам ещё аргументы нужны? Нормальная практика — «не делай другим того, чего не желаешь сам», аналогично — не стоит делать пользователям такой сервис, каким не пользовался бы сам. Поэтому мне хотелось бы услышать ваш ответ на заданный мною в предыдущем комментарии вопрос.

Электронные данные менее хрупки, потому что позволяют размножить себя без ущерба для оригинала.

Экономическая целесообразность имеет под собой моральную диллему. Готовы ли вы ради спасения тысячи людей убить одного ребенка? Так и тут.
По мне доклад похож на какую-то болтовню с подменой понятий и заменой формулировок.
Sign up to leave a comment.