Монтирование директорий используя NFS в CentOS
Монтирование файловых систем по NFS, что позволяет расшаривать директории нескольких серверов между друг другом.
Шаг 1. Установка NFS
Master Server: 192.168.2.1
Client Server: 192.168.2.10
Установим необходимые пакеты:
1 | yum install nfs-utils nfs-utils-lib |
Добавим в автозагрузку и запустим:
1 | chkconfig nfs on |
Шаг 2. Настройка
Определим какую директорию будем расшаривать на клиентский сервер и указываем её в файле /etc/exports
Например мы хотим расшарить папку /storage
1 | nano /etc/exports |
1 | /storage 192.168.2.10(rw,sync,no_root_squash,no_subtree_check) |
rw
: Данная опция позволяет производить чтение и запись в выбранный каталогsync
: Синхронный режим работы, ответы на запросы происходят только после того, как данные надежно будут
записаны на диск. Надежность выше, производительность меньше.no_subtree_check
: Если экспортируется подкаталог файловой системы, но не вся файловая система, сервер проверяет, находится ли запрошенный файл в экспортированном подкаталоге. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.no_root_squash
: - root (uid0) на стороне клиента, выглядит как nobody (uid 65534) на стороне сервера, это называется смещением root т.к. позволяет защитить файлы, владельцом которых является root от изменений клиентами NFS. Опция no_root_squash
: отменяет такое поведение, и позволяет пользователю root (на стороне клиента) иметь доверенный полный доступ к разделу. Данная опция может использоваться только в случае доверия.
Также (опционально):async
- Асинхронный режим работы, ответы на запросы происходят сразу, не дожидаясь записи на диск. Надежность ниже, производительность больше.proto=(tcp|udp)
- выбор протокола, по умолчанию - первый доступный из /etc/netconfig
.ro
- Права только на чтение. Можно и не указывать, так как она установлена по умолчанию.
После того, как были внесены изменения запускаем команду:
1 | exportfs -a |
Шаг 3. Настройка клиента
Установим дополнительные пакеты:
1 | yum install nfs-utils nfs-utils-lib |
Шаг 4. Монтирование директорий
Создаем папку для монтируемой директории:
1 | mkdir -p /storage |
Монтируем папку
1 | mount 192.168.2.1:/storage /storage |
Выполним df -h
для проверки маунта
1 | Filesystem Size Used Avail Use% Mounted on |
Используем команду mount
для проверки примонтированных директорий.
1 | /dev/sda on / type ext4 (rw,errors=remount-ro) |
Для автоматического монтирования после перезагрузки, добавим запись в /etc/fstab
1 | nano /etc/fstab |
Правила для Firewall
1 | -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT |
Правила для FirewallD
1 | firewall-cmd --permanent --zone=internal --add-service=nfs |