Состоялся (http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/...) релиз кластерной файловой системы Lustre 2.8 (http://lustre.org/), используемой в большей части крупнейших (http://top500.org) Linux-кластеров, содержащих десятки тысяч узлов. Масштабируемость на столь крупных системах достигается благодаря многокомпонентной архитектуре. Ключевыми компонентами Lustre являются серверы обработки и хранения метаданных (MDS, MDT), управляющие серверы (MGT, MGS), серверы хранения объектов (OSS), серверы размещения объектов (OST, поддерживается работа поверх ext4 и ZFS) и клиенты (код клиента входит в состав штатного ядра Linux).<center><a href="http://opensfs.org/wp-content/uploads/2013/10/LustreComponen... src="https://www.opennet.me/opennews/pics_base/0_1459145226.gif&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
В новом выпуске завершена работа по обеспечению возможности задействования нескольких серверов хранения метаданных MDT (Metadata Targets), выполненная при поддержке организации OpenSFS (http://www.opensfs.org/), основанной группой производителей кластерных систем, заинтересованных в развитии и независимой поддержке файловой системы Lustre. В частности, добавлена поддержка асинхронного подтверждения операций в распределённом пространстве имён (DNE, Distributed Namespace) с привлечением нескольких узлов MDT. Появилась поддержка функций удалённого переименования и удалённого управления жесткими ссылками.
Из других улучшений (http://wiki.lustre.org/Release_2.8.0) можно отметить поддержку SELinux в клиенте Lustre, улучшение производительности и эффективности выполнения четвёртой фазы проверки целостности ФС в утилите LFSCK, поддержку работы серверов и клиентов на системах с Red Hat Enterprise Linux 7.x, возможность выполнения клиентом операций множественного изменения метаданных из многопоточных приложений.
URL: http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/...
Новость: http://www.opennet.me/opennews/art.shtml?num=44115
Для хранения мелких файлов подходит?
Толсто
"толсто" устарело как и "баян"
А у вас больше тысячи нод?
Звучит как "какой компьютер из TOP500 лучше всего подходит для сидения вконтактике?"
> Для хранения мелких файлов подходит?канешн, в all-flash конфигурации ;)
в all flash? это по новой методичке от Интела ?:)
Я почему спросил, например cephfs ещё сырая и для хранения мелких файлов не подходит, как и файлов вообще.
ceph то как раз из всех открытых кластерных систем одна из самых стабильных и более менее все хорошо с производительностью(хотя люстра конечно побыстрее будет). Очень много коммерческих решений сейчас на ней делают компании.
suse коммерческие решения на btrfs продаёт, но почему-то пользоваться тем бртфсом дураков мало находится
> мало находитсяБлагодаря фэйсбуку btrfsом пользуется вся планета.
я не про ceph, а cephfs - задача хранить множество мелких ts файлов для hls.
вы сами то поняли что написали
Пользуясь случаем, тоже спрошу у местных экспертов. Похожая задача, мелкие/средние файлы (от нуля байт до 20 мб, полный разброс); сотни миллионов, в день возникают десятки/сотни тысяч новых, все нужно считывать (+ регулярно считывать старые). Доступ на запись через REST API, на чтение крайне желательно через NFS, но на крайняк REST API покатит (особенности кэширования - файл обычно считывается несколько раз в течении короткого времени, кэширование NFS в ОС работает лучше, чем webdav+squid для кэширования). Файлы (в случае успешной запси) более никогда не модифицируются.Ну, типичные требования - чтобы непрерывно держало нагрузку без простоев, несколько реплик от потери данных, эффективная off-site репликация/бэкап (чтобы быстро понимало, какие изменения переслать, а-ля zfs send). Чудес производительности не требуется, типичная нагрузка сейчас 20-30 Мб/с (но практически постоянно). Требования корректности (ответить "на живых репликах объекта нет" в крайнем случае можно, вернуть объект с битыми данными нельзя).
Пробовали cephfs (с раздачей по nfs), не понравилось, в первую очередь восстановление при проблемах с нодами/сетью. Много различных неприятных эффектов, пришлось отказаться. Желательно что-то такое, что даже при временном отделении нод друг от друга с последующим соединением не побьет данные и не потребует трудоемкого восстановления с простоем.
CEPH S3 как вариант
http://docs.ceph.com/docs/master/radosgw/s3/
Гмм а он будет легче в плане восстановления?
Сейчас уточнил, у нас был не cephfs, а ceph block device + xfs на нем + nfs на чтение (там, где писали была возможность подключить этот block device, а вот там, где читают - возможности нет).Еще желательно сжатие. Файлы сжимаются хорошо (zfs сейчас показывает коэффициент 2.44). ceph требует исключительно btrfs в качестве фс под ним для сжатия, так? Но btrfs это свои глюки - пробовали с ним, очень быстро пришлось поменять на xfs.
Странно, в вашем случае именно RadosGW и нужен. использовать Ceph+RBD+xfs+nfs как-то страннопро сжатие, что мешает сделать это на фронт-енде
https://www.hastexo.com/resources/hints-and-kinks/hosting-we.../
А зачем для этой задачи ФС? Просто складывать в NOSQL (Cassandra самая лютая, но можно и MongoDB).
Эти слова бесконечно далеки от конечного решения. Во-первых, с Cassandra связываться не будем - под такую нагрузку внедрять подобный NoSQL можно только вместе с людьми, которые будут его поддерживать. Mongo тут вообще не в тему - она не соответствует исходным требованиям, если их внимательно прочесть.Есть Hadoop и Hbase, но в голом виде их использовать также нельзя. Во-первых хранить много мелких объектов раздельно как "файлы" на Hadoop нельзя, он для этого не предназначен. Нужно их объединять группами в архивы и прочее, там свои заморочки. Т.к. файлы должны размазываться равномерно, архивы нужно постоянно менять, могут выплыть заморочки. Мы плотно работаем с HBase и хорошо представляем, сколько неприятностей кроется, если идти по этому пути :) Решаемых, но время, время...
В HBase класть так просто тоже не выйдет. Слишком неравномерный размер объектов, слишком большой разброс. См. https://www.quora.com/Is-HBase-appropriate-for-indexed-blob-... и еще https://issues.apache.org/jira/browse/HBASE-11339
Hadoop/Hbase это такие штуки, которые могут начать себя КРАЙНЕ плохо вести, если с ними делать неправильные вещи. Поэтому делать что попало не стоит.Вообще какая-то прослойка над Hadoop - это вероятное решение, но пока неясно, какая именно и что проще внедрить.
Решения с POSIX layer, при всем оверхеде, которые они несут, привлекательны тем, что строго разделяют проблемы самого хранения от проблем его использования. Т.к. с последним уже все отлажено, все проблемы, которые могут возникнуть - проблемы самого хранилища.
> с Cassandra связываться не будемт.е., scylladb тоже не катит?
мб, это http://leo-project.net/leofs/ ?
Любопытно :)
Выглядит вкусно, eventual consistency, конечно, штука опасная, но в этом конкретном случае проблем не представляет.
Спасибо, посмотрим.
Ещё glusterfs есть, но когда я его щупал (очень давно), это был лютый глючный пц, м.б. после перехода к rh его допилили до чего-то пристойного.
Хоть бы картинку новую вставили. А то так и позорятся с рисунком времен 1.4
Мысленно дорисуй еще парочку MDS.
> Из других улучшений можно отметить поддержку SELinux в клиенте LustreТакое улучшение что клиент может поймать deadlock, причем Intel это не волнует.
> улучшение производительностиТесты показывают падение производительности по сравнению с 2.5
> и эффективности выполнения четвёртой фазы проверки целостности ФС в утилите LFSCK,
Уже перестала ловить deadlock на OSS ?
> поддержку работы серверов и клиентов на системах с Red Hat Enterprise Linux 7.x,
Зашибись - но 7.x был с времен 2.6.
> возможность выполнения клиентом операций множественного изменения метаданных из многопоточных приложений.
Спорное улучшение - хорошо работает когда у тебя MDT не догружен, плохо когда работает когда клиентов много. Требует очень много памяти на recovery. Если раньше можно было в 12G уложиться - теперь на сервера меньше 64G ставить смысла нету.
Хвала Интел!