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

Смонтируйте том NFS на сервере Ubuntu Linux из клиента macOS

У меня есть сервер Ubuntu 20.04 (в моем случае это локальная виртуальная машина). Как смонтировать каталог на сервере Linux из клиента macOS Catalina с помощью NFS?

Настройка сервера Linux

  1. Установите сервер NFS в соответствии с Руководство по Ubuntu NFS:

    sudo apt install nfs-kernel-server
    
  2. редактировать /etc/exports:

    sudo nano /etc/exports
    

    Теперь добавьте строку, подобную этой:

    /home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
    
    • /home/ubuntu это каталог для экспорта
    • 172.16.238.0/24 IP-адреса, с которых будут приниматься соединения. IP-адрес клиента Mac должен быть в этом диапазоне. Использовать * разрешить с любого IP-адреса. (Но будьте осторожны, чтобы ваш NFS-сервер не был доступен для всего Интернета!)
    • insecure означает принимать соединения с непривилегированных (более высоких) портов
    • rw означает чтение-запись
    • all_squash,anonuid=1000,anongid=1000 принудительно все операции чтения и записи должны выполняться пользователем / группой с UID / GID 1000 (1000 по умолчанию ubuntu пользователь / группа на моем сервере). Бегать id на сервере, чтобы узнать свой UID / GID. Эти параметры нужны вам, если ваш сервер Ubuntu и клиент Mac не используют один и тот же UID / GID для основного пользователя.
    • no_subtree_check это производительность
  3. Сохраните файл и запустите

    sudo exportfs -vra
    

    чтобы перезагрузить экспорт NFS. (Я не уверен, что -a вариант необходим.)

Настройка клиента Mac

  1. В клиенте macOS отредактируйте /etc/auto_master файл (задокументированный в auto_master man page):

    sudo nano /etc/auto_master
    

    и измените строку, начинающуюся с /net к следующему (или добавьте его, если необходимо):

    /net                    -hosts          -nobrowse,nosuid,locallocks,nfc,actimeo=1
    
    • locallocks создает блокировки на клиенте, а не на сервере. Без этого Finder будет работать очень медленно, и для отображения каталогов потребуется вечность.
    • nfc заставляет имена файлов UTF-8 работать
    • actimeo=1 устанавливает максимально короткий таймаут кеширования атрибутов. Обратите внимание, что установка для него 0 (или добавление noac) заставляет Finder не замечать, когда файл удаляется на сервере, поэтому мы не можем его использовать.
    • Обратите внимание, что мы не используем nfsvers=4 Вот. Из-за этого у меня возникла паника ядра на Mac, поэтому я вернулся к умолчанию (NFSv3).
  2. Обновите автомонты, запустив

    sudo automount -vc
    

    (Если вы ранее пытались смонтировать том NFS, сначала отключите его, например: sudo umount -f /net/fileserver.local/home/ubuntu)

  3. В меню Finder выберите Go -> Go to Folder и введите /net/SERVER_HOST_NAME, например /net/fileserver.local.

    Вы должны найти там свой экспортированный каталог, например в /net/fileserver.local/home/ubuntu. Перетащите этот каталог на боковую панель Finder, чтобы упростить доступ к нему в будущем.