[Sysadmins] простые кластерные FS

Денис Смирнов mithraen на altlinux.ru
Вт Мар 23 18:12:27 UTC 2010


Задача:
Есть N машин, в одной физической сети. На каждой есть БОЛЬШОЙ раздел (до
единиц терабайт).

Нужно организовать из них единую FS. Доступ на запись (добавление файлов)
с любой из машин. Доступ на чтение с одной из них. Модификация созданного
файла с другой машины маловероятно/

Приемлимое latency до момента когда все машины увидят изменение метаданных
-- до 10 секунд.

Рзрешение конфликтов при одновременном изменении файла -- если время между
изменениями >10s должно сохраниться последнее изменение, если <10s должна
сохраниться любая из копий файла.

Количество операций на запись существенно превышает количество операций
чтения. 

Должна быть возможность относительно простого расширения массива, добавляя
новые сервера в комплекс.

FS на всех серверах сейчас лежит на RAID. В случае временного выхода из
строя одного из серверов кластера _обязательно_ обеспечить возможность
продолжать запись, желательно -- иметь доступ к тем из ранее записанных
файлов, которые хранятся на других серверах.

Доступ к файлам на запись исключительно последовательный, доступ на чтение
-- random.

Допустимо если к FS доступ на запись и чтения будет обеспечиваться разными
точками монтирования.

"Тупое" решение: на каждом из серверов сделать каталог, скажем, /var/share
-- туда будет производиться запись. И каталоги типа /var/share-read/<id>,
где <id> -- это идентификатор сервера. В этом случае мне обязательно для
доступа к файлу знать id сервера (что мне не нравится, однако это терпимый
вариант). И по NFS монтировать все это хозяйство полносвязной сетью (а для
локальных данных -- bind'ом). 

Это тупое решение мне не нравится тем, что усложняет администрирование,
тем что я недолюбливаю NFS (это лечится, однако, если научиться ее
готовить), а также известными подвисаниями NFS при монтировании (что
критично, если всю систему выключили, а потом включили половину серверов
-- они должны быстро-быстро подняться и начать работать, время  простоя
более 5-и минут означает что на меня будут точить зуб, а то и стучать по
голове в самом прямом смысле этих слов).

Надежность -- самое критичное. Могут быть короткие перебои с доступом,
это не смертельно. Но потерять хоть один файлик -- нельзя.

В сторону какой FS копать?

Если я смогу проигнорировать вероятный конфликт имен файлов, есть ли
способ объединить несколько таких смонтированых NFS разделов в одну
read-only FS на той машине, которая будет читать, если она не знает ID
сервера где лежит файл с данным именем?

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sysadmins/attachments/20100323/c1a79dd0/attachment-0001.bin>


Подробная информация о списке рассылки Sysadmins