Распределенная файловая система (например, glusterfs) без репликации

У меня есть контроллер-сервер и два 24 массива файловых серверов SAS. Каждый массив файловых серверов настроен как пул ZFS с 4 виртуальными устройствами RAIDZ2 с 6 дисками в каждом.

В конечном счете, я хочу иметь возможность использовать сервер контроллера в качестве единой точки монтирования для двух файловых серверов. Основная идея заключается в том, что мои конечные пользователи должны получить доступ только к одному серверу контроллера и одной точке монтирования, чтобы получить доступ / выполнить резервное копирование своих данных на объединенной емкости хранилища двух серверов. Я думал использовать для этого glusterfs, но информация, которую мне удалось найти, похоже, предназначена для создания избыточных пулов хранения. В этом приложении gluster используется в качестве распределенного зеркала RAID1, что не совсем соответствует моим потребностям, так как это создаст еще один уровень ненужной избыточности.

Как вы посоветуете создать распределенную файловую систему без избыточности из двух пулов ZFS, размещенных на разных компьютерах? Есть ли способ добиться этого с помощью gluster, или есть другой NFS, который лучше подходит для этого? Я тоже рассматривал самбу, но не уверен, что она будет достаточно безопасной. Мне искренне понравилась перспектива публичного размещения ssh на контроллере только со строгой аутентификацией 2FA.

4
задан 4 March 2017 в 02:25
1 ответ

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

Распределенные тома просты и будут хэшировать любые файлы, записанные на каждый узел, максимально сбалансированным образом. Он ничего не делает с самими файлами, и вы увидите неповрежденные файлы на своем «кирпичике» ZFS. Чередующиеся тома будут разрезать ваши файлы и распределять их между узлами в виде блоков. Это желательная конфигурация, если ваш контент - это почти исключительно большие файлы (такие как видео, образы дисков и резервные копии).

Пока вы почти на ходу, поскольку команда для создания такого распределенного тома выглядит как просто, как вы заявили:

том gluster create test-volume server1: / exp1 server2: / exp2 server3: / exp3 server4: / exp4

Пока чередующийся том создается следующим образом:

gluster volume create test -volume stripe 4 server1: / exp1 server2: / exp2 server3: / exp3 server4: / exp4

ОДНАКО четыре полосы могут вызвать большие накладные расходы при захвате файла. Это можно было бы сделать, только если бы они работали с действительно большими файлами. В качестве хорошего компромисса, который по-прежнему будет работать для больших образов дисков и т.п., я бы предложил распределенный чередующийся том:

gluster volume create test-volume stripe 2 server1: / exp1 server2: / exp2 server3: / exp3 server4: / exp4

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

3
ответ дан 3 December 2019 в 03:40

Теги

Похожие вопросы