И наступили времена тяжелые, и не стало места на серверах... И было решено поскрести по сусекам.
Задача:
В связи с нехваткой места на сервере, где крутится с десяток серверов FreeBSD и низкой скоростью интернета сделать так, что бы дерево портов было и обновлялось на одном сервере, а остальные этим только пользовались.
Решение:
Для предоставления доступа другим серверам было решено использовать NFS, как наиболее нативную для оси.
Настройки клиента совершенно просты - надо в файл /etc/fstab добавить следующее:
Код: Выделить всё
192.168.6.5:/usr/ports /usr/ports nfs rw,-b,tcp,soft,intr 0 0
192.168.6.5 - ИП сервера, на котором расшарен каталог
/usr/ports - пусть до расшаренного каталога на сервере
/usr/ports - локальная точка монтирования удаленного каталога
ну а дальше уже по вкусу
Важную функцию тут играет ключик -b - он говорит о том, что если в момент запуска сервера сетевая файловая система будет не доступна, то загрузка продолжентся, а данное задание уйдет в фон. В противном случае у вас не загрузится весь сервер.
Так же в файле /etc/rc.conf надо обьявить о запуске NFS клинта:
Код: Выделить всё
nfs_client_enable="YES"
Код: Выделить всё
mount -a
Для начала поймем что и кому мы собираемся экспортировать, а так же с какими правами. Я собираюсь экспортировать всё дерево портов, а что бы еще и все скаченные дистрибутивы лежали в одном месте - права должны быть на запись, в том числе. Создадим файл /etc/exports и впишем в него путь до нашей папки
Код: Выделить всё
/usr/ports -alldirs -maproot=root 192.168.6.6 192.168.6.7 192.168.6.10
Теперь в файл /etc/rc.conf впишем параметры запуска сервера
Код: Выделить всё
nfs_server_enable="YES"
portmap_enable="YES"
nfs_server_flags="-u -t -n 5"
mountd_enable="YES"
mountd_flags="-r"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
запускаем сервер
Код: Выделить всё
/etc/rc.d/mountd start
http://www.freebsd.org/cgi/man.cgi?quer ... ease-ports