Главная
Главная Руководства FreeBSD › NFS сервер и клиент на FreeBSD



Автор:

Статья опубликована: 2015-07-27 10:26:08
Последние правки: 2023-07-14 23:49:59

NFS-сервер на FreeBSD.

  • Исходные данные
    # uname -sr
    FreeBSD 10.1-RELEASE-p13
    

  • Настройка

    /etc/rc.conf
    rpcbind_enable="YES"
    nfs_server_enable="YES"
    nfs_server_flags="-u -t -n 10 -h 192.168.1.100"
    
    -u -использовать UDP-протокол
    -t -использовать TCP-протокол
    -n 10 -обслуживать запросы только от 10 клиентов
    -h 192.168.1.100 -указать IP сетевой карты, на котором будет работать nfs
    mountd_flags="-r -p 3310"
    
    -r -опция, позволяющая обслуживать не только каталоги, но и обычные файлы
    -p 3310 -привязать принудительно к определённому порту.


  • Добавляем ресурсы

    /etc/exports
    /nfs/disk -alldirs -maproot=root -network 10.36.1.0 -mask 255.255.255.0
    
    /nfs/disk - директории, к которым даем доступ по сети
    -alldirs -опция даёт возможность монтировать поддиректории, а не только /nfs/disk
    -maproot=root - опция даёт возможность записывать в открываемую директорию от имени root
    -network 192.168.100.0 -mask 255.255.255.0 - директорию можно монтировать только компьютерам из сети 192.168.100.* с маской 255.255.255.0

    Перезапускаем сервер или запускаем демоны без перезагрузки
    # /etc/rc.d/rpcbind restart
    # mountd -r
    # /etc/rc.d/nfsd restart
    
    Проверяем, работает или нет
    # rpcinfo -p
       program vers proto   port  service
        100000    4   tcp    111  rpcbind
        100000    3   tcp    111  rpcbind
        100000    2   tcp    111  rpcbind
        100000    4   udp    111  rpcbind
        100000    3   udp    111  rpcbind
        100000    2   udp    111  rpcbind
        100000    4 local    111  rpcbind
        100000    3 local    111  rpcbind
        100000    2 local    111  rpcbind
        100005    1   udp    607  mountd
        100005    3   udp    607  mountd
        100005    1   tcp    607  mountd
        100005    3   tcp    607  mountd
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
    

  • NFS-клиент на FreeBSD

    /etc/rc.conf
    nfs_client_enable="YES"
    nfs_client_flags="-n 2"
    
    -n 2 - запускаем 2 процесса nfsiod (по умолчанию - 4). nfsiod позволяет выполнять асинхронное копирование (быстрее стандартного). Рекомендуется запускать столько процессов, сколько клиентом смонтировано ресурсов.

    Создаем директории для монтирования
    mkdir -p /mnt/nfs
    chmod -R 0777 /mnt/nfs
    
    Монтируем вручную
    mount_nfs 192.168.1.100:/nfs/disk /mnt/nfs
    
    Автоматическое монтирование при запуске, добавляем в /etc/fstab
    192.168.1.100:/nfs/disk /mnt/nfs nfs rw, -b, -i 0 0
    
    rw - можно записывать
    -b - монтируем ресурс в фоновом режиме
    -i - использовать мягкое монтирование, т.е. в случае неудачной попытки примонтировать ресурс, процесс можно прервать по Ctrl+C