Назад | Перейти на главную страницу

Сервер NFS под Linux на нескольких дисках

Я использую Debian, и мне нужно настроить сервер NFS. На моем сервере пять одинаковых дисков по 2 ТБ. Мне нужно будет установить квоты для папок. Я планирую использовать программный рейд, поместив 3 из пяти дисков в один пул raid 5 и используя оставшиеся два диска в качестве резервного пространства. Мне кажется, что управлять использованием RAID, квот и NFS немного болезненно. Я хотел бы использовать инструмент, похожий на ZFS, чтобы упростить всю эту работу, но я хочу знать, есть ли в Linux какое-либо конкурентоспособное программное обеспечение.

Как начинающий системный администратор, я хочу знать, есть ли лучшая система для выполнения всего этого под Linux.

Ответ действительно зависит от того, как вы предполагаете использовать свои резервные диски. Если вы планируете использовать его в качестве «горячего» резерва, я бы рекомендовал использовать все ваши диски и RAID6, чтобы у вас была возможность потерять два диска, прежде чем вы рискуете потерять данные из-за отказа третьего диска. Если вы просто использовали его для резервного копирования в случае проблем с файловой системой или случайного удаления данных, я бы рекомендовал использовать все ваши диски как RAID5.

Я постепенно пришел к осознанию того, что использование аппаратного рейда требует больше усилий, чем оно того стоит. Программный рейд не намного медленнее, а в некоторых случаях намного быстрее аппаратного рейда. Программным RAID проще управлять, а аппаратный RAID - просто еще один отказавший компонент с несовместимыми стандартами метаданных.

Я бы порекомендовал вам настроить LVM (управление логическими томами) поверх вашего RAID-массива. Это обеспечивает гораздо большую гибкость, чем любое стандартное разделение. Вы можете увеличить размер разделов, а в случае некоторых файловых систем - уменьшить их размер. Большинство файловых систем позволяют увеличивать размер при монтировании файловой системы. Он также позволяет вам выполнять другие задачи управления, например, легко переносить файловые системы с одного устройства на другое, пока они используются, путем добавления и удаления блочных устройств из групп томов. Один полезный совет заключается в том, что, поскольку некоторые файловые системы, такие как XFS, нельзя сжать, вы должны начать с создания файловых систем настолько маленького размера, насколько вам нужно, и оставить достаточно места для наращивания файловых систем по мере необходимости.

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

Вы можете установить квоты для каждого каталога, если вы используете XFS в качестве файловой системы (что вы, вероятно, захотите сделать, поскольку у вас будет ~ 8 ТБ на диске). Они называют эту функцию «проектными квотами», и их немного сложно запустить и запустить, но они работают достаточно хорошо, как только вы их разберетесь.

Ты можешь читать man 8 xfs_quota чтобы узнать о них больше.

В основном вам нужны два файла: /etc/projects и /etc/projid. в /etc/projects файл у вас есть ID: сопоставление каталогов, например:

10:/mnt/raid/foo1
10:/mnt/raid/foo2
20:/mnt/raid/bar

Тогда в /etc/projid файл у вас есть список имени проекта: сопоставления идентификаторов:

foo:10
bar:20

Вы монтируете файловую систему с включенными квотами проекта mount -o pquota /dev/md0 /mnt/raid а затем настройте квоты:

xfs_quota -x -c 'project -s foo' /mnt/raid
xfs_quota -x -c 'project -s bar' /mnt/raid
xfs_quota -x -c 'limit -p bhard=10g foo' /mnt/raid
xfs_quota -x -c 'limit -p bhard=20g bar' /mnt/raid

Первая команда устанавливает метаданные квоты в файловой системе, а вторая устанавливает лимит жесткого блока. В отличие от использования томов LVM, это хорошо то, что вы можете как увеличивать, так и уменьшать квоту, а также устанавливать мягкие квоты, чтобы получать предупреждения, когда каталог начинает использовать много места (см. report команда xfs_quota).

Обратной стороной является то, что эта функция доступна только с файловыми системами XFS, поэтому эти проектные квоты не поддерживаются никакими инструментами, кроме XFS.

Что касается квот в NFS, Руководство Red Hat говорит:

rpc.rquotad - этот процесс предоставляет информацию о пользовательских квотах для удаленных пользователей. Этот процесс запускается автоматически службой nfs и не требует настройки пользователя.