Змонтуйте гучність NFS на сервері Ubuntu Linux від клієнта macOS


14

У мене є сервер Ubuntu 14.04 LTS (в моєму випадку локальний VM). Як встановити каталог на сервері Linux з клієнта Mac OS X Yosemite за допомогою NFS?

Відповіді:


35

Налаштування сервера Linux

  1. Встановіть сервер NFS відповідно до керівництва Ubuntu NFS :

    sudo apt-get 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
    

    відновити експорт НФС. (Я не впевнений, чи -aпотрібен варіант.)

Налаштування клієнта Mac

  1. Редагуйте файл auto_master :

    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 виберіть Перейти -> Перейти до папки та введіть /net/SERVER_HOST_NAME, наприклад /net/fileserver.local.

    Ви повинні знайти свій експортований каталог там, наприклад, в /net/fileserver.local/home/ubuntu. Перетягніть цей каталог на бічну панель Finder, щоб полегшити доступ у майбутньому.


Крім того, чи є можливість виправити дозволи. Єдиний спосіб отримати доступ до моїх файлів з Mac - це надання 777 дозволів до папки, якою я хочу поділитися :( в іншому випадку система показує мені повідомлення про те, що я не маю дозволів переглядати папку.
Carlos Vega

@carlosvega all_squash,anonuid=1000,anongid=1000Параметри піклуються про дозволи для мене - все, що належить UID 1000 на сервері Ubuntu, можна отримати з клієнта Mac без проблем, тому немає потреби в chmodding до 777.
Jo Liss

5
Просто швидкий коментар, якщо ви хочете просто встановити "на льоту" на стороні mac, це працює для мене:sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu
Скотт Карлсон

працює для мене з Mac OSX Sierra та Ubuntu 16.04
Антоніос Хаджігеоргаліс

2
Люди не розуміють, скільки спроб та помилок лежить за цією блискучою відповіддю. Особливо "nfc" є ЧАСОВОЮ під час монтажу (або відтворення rsync) серверів, що не належать до MacOS. Спочатку ви не помітите, але UTF-8 не такий, як в OS X, як скрізь. Без цього назви ваших файлів можуть бути гарненькими та потребуватимуть години, щоб потім виправити. Я знаю, що не можу використовувати коментар, щоб сказати: "дякую", тому я просто
закінчу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.