Lustre - кластерная ФС, AFS - сетевая ФС.<p>Если подробнее - то AFS относится примерно к тому классу, в котором сидят NFS, SMB, и win2K3 DFS. Основная их задача - качественный доступ к различным (раскиданным по сети) ресурсам, с соблюдением блокировок и напором на контроль доступа и централизованное управление. Здесь четко прослеживается модель "клиент-сервер" - большинство участников сетовой ФС являются клиентами, а под шары выделяются чаще отдельные серваки. С точки зрения производительности для такой ФС критериями являются пропускная способность сервер-клиент и количество поддерживаемых коннектов. Масштабируется такая ФС вертикально - более шустрым железом. Надежность тоже поддерживается на уровнях ниже сетевой ФС (RAID, репликация средствами ОС и администратором 24/7 на мобильном =)
<p>Кластерных ФС известно негусто - навскидку Lustre, Google FS (+Hadoop), что-то было у IBM.
<p>Отличительная особенность - все участники ФС унифицированы и являются и серверами и клиентами ФС (это именно особенности реализации, конечно же можно и настроить для работы как "несколько серверов - много клиентов", но преимуществ в этом случае не получите, скорее наоборот)
<p>Обычный принцип действия - работа на уровне блоков: разбитый на блоки файл "размазывается" по нескольким серверам, при его чтении клиент сам собирает блоки в файл. (<a href="http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...Комментарий Алексея</a>: Это Google FS & RedHat GFS.. в люстре оперируют понятием объект).
<p>Критерии оценки таких ФС - общая пропускная способность ФС кластера (то есть сколько гб/с крутится в пределах кластера) и латентность (задержка между запросом файла и его получением). Также тут важна надежность - все блоки реплицируются на уровне ФС, вылет нода не сказывается на работе кластера.
<p>ФС этого класса очень разные. Lustre заточена под hiperf вычисления с низкой латентностью, посему пользуют что-нить типа InfiniBand и нестандартные MPI. Lustre замонтированая представляет из себя слегка урезaную ext3 для 2.4 ядер, для 2.6 используется ldiskfs которая значительно ближе к ext4.
<p>Google FS и Hadoop - вообще с классической точки зрения не ФС, ибо ничего не монтируют а предоставляют RPC API для разработчиков. Рассчитаны они на гигантские объемы информации, работу в основном на чтение большими блоками (в мегабайтах, стандартный блок такой ФС - 32-64Мб) и в очень больших количествах.<p>Также есть shared storage FS - эти нужны при работе нескольких (многих) серверов с внешними дисковыми массивами. Основная задача - обеспечить быструю и правильную блокировку совместного доступа (via SAN, iSCSI, SCSI). Без них фактически каждый сервер должен работать со своим личным выделенным на массиве разделом. Из известных - GFS от RedHat, Oracle Cluster File System, PolyServe и Veritas CFS.
<p>RedHat GFS - раздает raw девайс и пытается управлять блокировками на уровне блоков, без учета логической организации.
<p>gfarm изначально позиционирует себя для таковой модели использования: есть много данных, распределенных по нодам,
нужно их все параллельно обработать. В случае люстры и подобных - compute node сначала фетчит себе данные из кластерной фс, обрабатывает и возвращает обратно (отсюда требования к пропускной способности и латентности). В случае gfarm - задание по обработке для compute нода попадает благодаря gfarm именно на тот нод, где локально лежит одна из реплик требуемых данных. Соответственно по сети происходит трансфер задания на обработку данных , а не самих данных. (например, <a href="http://datafarm.apgrid.org/pdf/GCA3059-xiaohui.pdf">здесь</a>, да и вообще <a href="http://datafarm.apgrid.org/paper.en.html">тут</a>- большинство тем именно parallel computing, а не distributed fs).<p>Некая сборная информация есть <a href="http://en.wikipedia.org/wiki/List_of_file_systems#Distribute...в wikipedia</a>.
URL: http://www.opennet.me/openforum/vsluhforumID3/36689.html#11
Обсуждается: http://www.opennet.me/tips/info/1382.shtml
> RedHat GFS - раздает raw девайс и пытается управлять блокировками на уровне блоков, без учета логической организации.Давайте все же уточним. Работа с блоками происходит в фоне, незаметно для клиентов.
А наружу видна POSIX-совместимая ФС, с которой можно работать привычными средствами без каких-либо дополнительных шаманств.
(mount -t gfs -o acl /dev/vg01/lvo10 /gfs_mount и вперед)
агу-агу. только попробуй на ней запустить какой-нить metadata intesive load, ну типа несколько клиентов создают/удаляют файлы в одном каталоге. тут-то она и отсосет чудовищно чмокая. а так-то POXIS, да ;)
Уважаемый Аноним, а это к чему вообще было сказано? :-) Я вроде про интерфейс и тулзы, а Вы про производительность. ;-)Но раз уж заговорили. С чем сравнивали? Результаты тестов есть? Просто я работал только с GFS. Если есть осмысленные сравнения с чем-нибудь еще, было бы очень интересно посмотреть.
а мне пофиг, говорю только, что корявый дизайн у этой GFS. сравнений тоже никаких не нужно - почитайте как оно работает и что будет если две ноды одновременно модифицируют каталог.
Опубликовали незаметно =)у GFS есть одно неоспоримое преимущество - она РАБОТАЕТ и денег не стоит.
Конечно, если есть возможность имеет смысл покупать polyserve или veritas на худой конец.
Однако среди бесплатных решений у GFS альтернатив не наблюдается.
http://www.clusterfs.com/download.html -- тоже не стоит денег. и работает на кучке кластеров из top10. на которых никакими polyserve/veritas/gfs не пахнет.
прошу прощения, Вы поверх какого массива люстру запускали? а можно узнать конфигурацию Вашей RDBMS, запущенной поверх люстры? сильно быстро работает?
очень хочется приобщиться к мудрости
ну да, ну да ... RDMBS ... только для этого кластерные fs и нужны, ага.
поверх DDN, слышали про такие?
>прошу прощения, Вы поверх какого массива люстру запускали? а можно узнать конфигурацию
>Вашей RDBMS, запущенной поверх люстры? сильно быстро работает?
>очень хочется приобщиться к мудрости
RDBMS как правило хотят raw storage для хранения данных и внутри делают свою FS - этого люстра не предоставляет. да и любая FS тут не нужна - тут нужно тупое разделение блоков причем механизм блокировок как правило тут свой, опять же dlm тут не нужны, там они свои.
мне кажется для вашей задачи будет лучше drbd или аналогии.
По части скорости.
Последние тесты на кластерах показывают скорость 80Gbyte/s для записи и 120Gbyte/s для чтения.
некоторые данные по бечмаркам и количеству активных пользоватей есть в
http://www.lustre.org/docs/selecting-a-cfs.pdf
хотя это больше рекламный буклет.по части массив я сказал - от 150-200T это те которые я знаю, говорили еще о 1P - но реальных подтверждений я не видел.
Работа на кластерах IBM BlueGine/L, Cray XT3 (XT4). (тут раньше правильно заметили почти все из top10 так или иначе связано с люстрой).
а, ну OCFS(2) еще, но а) специфика - точили под БД оракла и б) по отзывам (полгода-год назад) производительность на уровне того же GFS
в люстре тоже самое.
mount -t lustre 172.20.2.20@tcp:/lustre /mnt/lustre2
-o acl по желанию.По части массивов на которых работает люстра.. Судя по отчетам LLNL у них используется не менее 200T в стораджах, японцы заявляли о 1P в storage array при миниум 2000 активных клиентов.
Осталось спросить - на сколькоих клиентах и насколько больших массивах вы тестирования GFS?
По-моему какой-то набросок текста "ни о чем". Тот кто работает с кластерами, тот должен знать о существовании всех перечисленных ФС. Кто не работает - тому и не надо :)
Лучше бы подробно сравнили реализации и производительность раз времени дофика!
Никто не подскажет одну вещь.
У нас есть кластер на GFS + SAN + fabric switchLA довольно большой на больших скоростях.
Если поставить IPoIB для интерфейсов где идет обмен локами, насколько это может существенно поднять производительность?
сейчас ping между серваками - 90ums. У IB вроде ~5-10ums?thx
Ужас. Какая-то каша.>AFS - сетевая ФС.
>Если подробнее - то AFS относится примерно к тому >классу, в котором сидят NFS, SMB, и win2K3 DFS.
Очень грубо. На самом деле AFS (+ Coda, а также мертвая Intermezzo) это так называемые распределеннные FS, они где-то между сетевыми FS и кластерными (хотя ЕМНИП для OpenAFS есть соответствующие патчи, превращающие ее в кластерную FS). Распределенные FS предлагают в том или ином виде fail-over и балансировку нагрузки между серверами + действительно централизованный контроль за хранилищем данных (пусть оно и размазано по нескольким серверам). В отличии от SMB/NFS понятия "шар" там нет - хранилище данных форматируется специально и сервер/клиент физически разнесены (в Coda это обязательное требование).
Кластерные FS занимают совсем другую нишу. Автор, кстати, забыл упомянуть еще довольно известную кластерную систему PVFS/PVFS2. Насколько я себе представляю, под кластерными FS обычно понимают "параллельные" системы, что-то вроде сетевого RAID-а, где файл может быть физически размазан по нескольким дискам. Стандарт MPI (и следовательно MPI-enabled программы) позволяют одновременно писать и читать файлы с нескольких серверов. Для не-MPI программ особой разницы по сравнению с обычными сетевыми FS нет. Кроме того, в отличии от сетвых и распределенных FS для кластерных FS безопасность, шифрование и аутентификация не столь важны, поскольку кластер обычно пространственно локализован, "человечку посередине" туда сложно пробраться.