На видеосервере закончилось свободное место, все свободные слоты под HDD тоже оказались заняты. Выход из ситуации - монтирование сетевой файловой системы, так называемой Network File System.
Любое NFS-соединение работает по клиент-серверной схеме. Один компьютер является NFS-сервером и предоставляет свои файловые системы другим серверам. Это называется "NFS-экспортированием", а предоставляемые файловые системы называют "экспортами". Клиенты могут монтировать экспорты NFS-сервера почти точно так же как и локальные файловые системы.
Еще одним замечательным свойством NFS является отсутствие привязки клиента к текущему состоянию сервера (stateless). Это возможность позволяет даже перезагрузить NFS-сервер, а клиенты при этом не отвалятся. Само собой подразумевается, что в это время доступ к экспортам ограничен, однако как только NFS-сервер возобновит работу, клиенты смогут продолжать работу.
Итак, как можно было догадаться, необходимо будет настроить NFS-сервер и NFS-клиента.
Для запуска NFS-сервера неообходимо, чтобы ядро было собрано с опцией NFSSERVER.
Если ядро пересобирать неохота, то можно подгрузить модуль ядра:
# kldload /boot/kernel/nfsserver.ko |
Для автоматической подгрузки модуля после перезагрузки сервера, воспользуемся следующей командой:
# echo 'nfsserver_load="YES"' >> /boot/loader.conf |
Следующий шаг - создание файла /etc/exports, в котором опишем локальные точки монтирования, доступные для монтирования клиентами. Мой файл получился следующего вида:
/db4 -maproot=root 192.168.100.19 |
где
Для более детального ознакомления с синтаксисом файла обращаемся к странице руководства. Кстати, стоит иметь ввиду, что в одной строке можно прописать максимум три точки. Если точек больше, то описываем их в следующей строке, но не более чем три точки на одну строку в файле. Также не стоит забывать, что после внесения изменений в файл /etc/exports, необходимо проинформировать о изменениях демон mountd, послав ему сигнал HUP, либо же перезапустив демон:
# kill -HUP `cat /var/run/mountd.pid` |
В rc.conf вносим следующие записи:
rpcbind_enable="YES" |
rpcbind - удаленный вызов процедур
nfsd - демон сервера NFS
mountd - демон монтирования. Принимает подключения от клиентов.
Для того, чтобы ознакомиться с допустимыми опциями, воспользуйтесь страницами руководств:
# man rpcbind |
Запускаем сервисы:
# sh /etc/rc.d/rpcbind start |
Для проверки, правильно ли экспортированы общие ресурсы NFS, воспользуемся командой showmount -e:
# showmount -e Exports list on localhost: |
Для запуска NFS-клиента, неообходимо, чтобы ядро было собрано с опцией NFSCLIENT и, по возможности, с опцией NFSLOCKD.
Немного о опции NFSLOCKD из обзора к релизу FREEBSD 7.1: В ядро добавлена реализация клиентской части функциональности rpc.lockd, используемом для организации блокировок в NFS. Реализация поддерживает восстановление состояния блокировок на стороне клиента после рестарта NFS сервера, а также гарантированный сброс кэша перед установкой блокировки, что позволяет нескольким клиентом устанавливать файловые локи при одновременном использовании данных. Возможность включается через опцию NFSLOCKD в конфигурации ядра, если ядро пересобрано с поддержкой NFSLOCKD процесс rpc.lockd автоматически это определяет и начинает использовать.
Итак, если перезагружать сервер неохота, подгружаем модуль:
# kldload /boot/kernel/nfsclient.ko |
Добавляем в rc.conf такие строки:
nfs_client_enable="YES" |
Теперь примонтируем сетевой ресурс:
# mount_nfs 192.168.159.250:/db5 /db5 |
Проверяем, примонтировался ли ресурс:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad4s1a 496M 157M 299M 35% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad4s1e 1.9G 1.6G 165M 91% /home
/dev/ad4s1d 15G 6.4G 7.0G 48% /usr
/dev/ad4s1f 24G 5.0G 17G 22% /var
/dev/ad4s1g 30G 27G 800M 97% /db1
/dev/ad6s1d 902G 828G 1.6G 100% /db2
/dev/ad7s1d 902G 830G 264M 100% /db3
/dev/ad5s1d 1.3T 1.2T 11G 99% /db4
192.168.159.250:/db5 451G 8.0K 415G 0% /db5 |
"Последний штрих" - добавим автоматическое монтирование русурса при запуске системы. Для этого добавим в /etc/fstab такую строку:
195.3.159.250:/db5 /db5 nfs rw,-b,-i 0 0 |
ПРИМЕЧАНИЯ:
Последние комментарии
17 недель 3 дня назад
41 неделя 5 дней назад
2 года 42 недели назад
3 года 12 недель назад
3 года 35 недель назад
3 года 50 недель назад
3 года 51 неделя назад
4 года 2 недели назад
4 года 13 недель назад
4 года 17 недель назад