Чи можливе розміщення домашньої папки з NFS?


30

Я планую розгорнути деякі комп’ютери з кіосками і хотів би залишити їх з невеликим маятником, як завантажувальний диск, а решту - легко створити резервну копію сервера, ala LTSP .

Зараз я обдумую два варіанти. NFSed / home / або локальна копія ~ / скопійованих під час входу в систему, синхронізованих під час виходу.

Мої побоювання полягають у тому, що робота з файлами може надто повільно, або моя мережа може забитися .


Чи можете ви замінити "безпечний" іншим словом, яке менш пов'язане із безпекою? Може бути здійсненним merriam-webster.com/dictionary/feasible ?
Крістіан Цюпіту

1
Легке відчуття дежа-ву. Це зовсім не те саме, але це цікава тема, яку вони там узяли. hardware.slashdot.org/story/09/06/23/1823201/…
voyager

Відповіді:


30

Я використовую NFS для своїх домашніх каталогів у нашому виробничому середовищі. Є кілька хитрощів.

  1. Не монтуйте NFS /home- таким чином у вас може бути локальний користувач, який дозволяє вам увійти, якщо сервер NFS опуститься. Ми монтуємось до/mnt/nfs/home

  2. Використовуйте м'які кріплення та дуже короткий час очікування - це запобіжить назавжди блокування процесів.

  3. Скористайтеся автоматичним лічильником . Це зменшить використання ресурсів, а також означає, що вам не потрібно турбуватися про перезавантаження послуг, коли сервер NFS з’явиться, якщо він з якихось причин знизиться.

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. Використовуйте єдину систему входу, щоб не стикатися з проблемами, що стосуються дозволів. У мене є сервер OpenLDAP.


Я завжди вважав, що автоматичний автомобіль є надзвичайно ненадійним і схильним до блокування, особливо якщо сервер NFS виходить з ладу. Якщо ви монтуєте до / mnt / nfs / home, це місце, де ви встановили дім користувача в / etc / passwd?
pjc50

2
Що ж, використання / etc / passwd та NFS для монтажу домашніх dirs є поганою ідеєю, оскільки вам потрібно тримати UID та GID синхронізовано - використовуйте щось на зразок OpenLDAP, але так, для домашнього режиму користувача встановлено значення / mnt / nfs / home / ім’я користувача.
Аарон Браун

@AaronBrown Я погоджуюся, що якщо ви збираєтесь розмістити $ HOME в мережі, ви також повинні вказати ідентифікацію користувача та автентифікацію в мережі. Незалежно від того, як ви це зробите, $ HOME має бути десь визначений, і ви вказали, що вважаєте за краще встановити його, /mnt/nfs/homeале як тоді ви використовуєте свій локальний /homeпід час відключення? Зокрема, дивіться unix.stackexchange.com/questions/189404/…
JFlo

8

http://www.howtoforge.com нещодавно опублікував статтю про використання GlusterFS як заміни / альтернативи NFS, можливо, ви захочете це перевірити.

http://www.howtoforge.com/creating-an-nfs-like-standalone-storage-server-with-glusterfs-on-debian-lenny

Ось короткий опис того, чому це хороша «здійсненна» альтернатива NFS, зі сторінки проекту GlusterFS http://www.gluster.org/ :

"GlusterFS самостійно заживає на ходу. Немає fsck. Зворотний режим зберігання доступний безпосередньо як звичайні файли та папки (стиль NFS). Якщо активована реплікація, GlusterFS може витримати апаратні збої."

Більше інформації можна знайти в проектній документації.

Крім того, ще одна приємна річ у використанні GlusterFS - якщо вам потрібно більше місця у вашому SAN, ви просто додаєте ще одну цеглу зберігання (серверний вузол), і ви зможете масштабувати / збільшувати сховище паралельно, коли є необхідність.

Сподіваємось, це допоможе або принаймні допоможе направити вас у правильному напрямку!


7

Будьте обережні з м'якими кріпленнями! М'яке встановлення файлової системи NFS означає, що після закінчення тайм-ауту IO вийде з ладу. Будьте дуже впевнені, що саме цього ви хочете в домашніх довідниках користувачів! Думаю, ти цього не робиш. Використання жорсткого кріплення до домашніх каталогів у поєднанні з опцією intr тут відчуває себе набагато безпечніше.

Важкий час не закінчиться: операції вводу-виводу будуть повторені нескінченно. Параметр intr дозволяє перервати процес монтажу. Тож якщо ви змонтуєте експорт та відчуєте помилку, жорстке кріплення заблокує ваш сеанс. Параметр intr дозволить перервати кріплення, тому комбінація досить безпечна і гарантує, що ви не зможете легко втратити дані користувача.

У будь-якому випадку, аутофіт робить це все ще простіше.


1
зауважте, що intrпісля встановлення ядра 2.6.2 опція монтажу була вимкнена в Linux, див., наприклад, access.redhat.com/solutions/157873
myrdd

4

Варто зазначити одне, що коли сервер NFS не працює - ваші кріплення замерзнуть - виконання м'якого кріплення не заблокується, тому «заморозити» себе можна уникнути, однак це не вирішить проблему домашніх каталогів, як без дому Каталог, користувач все одно накручується.

Навіть коли сервер NFS відновиться, якщо ви щось не зробите з цим, проблема з заморожуванням залишиться - вам доведеться вбити процес на монтажному верстаті та здійснити повторний перегляд. Причиною цього є те, що коли сервер NFS повертається, він призначив інше fsid- так що ви можете принаймні виправити цю проблему, жорстко кодуючи fsids на сервері NFS, наприклад ...

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

Сторінка exports(5)людини повідомляє ...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

... Хоча це вказує на те, що доки основні / незначні числа не змінюються (що зазвичай не відбувається, за винятком випадків, коли ви експортуєте томи SAN / багатошлях, де це може змінитися), я виявив, що ми Ви повністю усунули проблему - тобто, якщо сервер NFS повертається - з'єднання було відновлено швидко - я все ще не знаю, чому це змінило такі пристрої, як /dev/sdaXнаприклад.

Зараз я повинен зазначити, що мій аргумент багато в чому анекдотичний - він насправді не має сенсу, чому він виправив проблему, але "здається", що це виправили - якимось чином - тут, мабуть, є інші змінні, які я маю ще не виявлено. =)


Ви впевнені в цьому "випадковому" fsid, використовуваному сервером?
Cristian Ciupitu

Привіт Крістіан - Я намагався пояснити вище, але не можу повністю пояснити поведінку стосовно опису прапорця на сторінці чоловічої сторінки. Ви пробували і бачили інакше?
Xerxes

4

Деякі загальні поради, які застосовуватимуться незалежно від того, яку мережну файлову систему ви прийняли: багато програм кешують дані в домашньому каталозі користувача, що, як правило, приносить більше шкоди, ніж користі, коли доступ до домашнього каталогу через мережу.

У ці дні ви можете сказати багатьом програмам зберігати свої кеші в іншому місці (наприклад, на локальному диску), встановивши XDG_CACHE_HOMEзмінну середовища в сценарій входу. Однак, багато програм (наприклад, Firefox) все ще потребують конфігурації вручну, тому вам, мабуть, доведеться виконати додаткову роботу, щоб визначити та налаштувати їх на єдиний спосіб для всіх своїх користувачів.


+1 У мене виникли проблеми з роботою Google Chrome і домашніми режимами NFS. виправили це, перемістивши робочі каталоги Chrome назад у локальну систему, потім розмістивши симпосилання з домашнього режиму NFS (там, де Chrome очікує відшукати), повернутися в локальний каталог. Можливо, є кращий спосіб робити те, що я зробив, але це вирішило для мене проблему.
Брайан

Брайан (9 березня) залишив хорошу часткову відповідь, однак я хочу детальніше розглянути це питання. Будь ласка ... Дякую .. Як ви перемістили робочі каталоги на локальну машину та розмістили посилання.
Джейсон

Також XDG_RUNTIME_DIRвивчіть описане місце розташування бази даних Dconf за адресою: developer.gnome.org/dconf/unstable/dconf-overview.html
JKnight

3

Я багато працював, використовуючи домашні каталоги, встановлені NFS. Зазвичай не існує великої різниці в продуктивності (а користувачі кіоску, мабуть, трохи менш вимогливі, ніж розробники, які знають, як влаштувати свого місцевого ІТ-хлопця). Я бачив одну проблему - це те, що відбувається, коли я увійшов на робочий стіл Gnome, і сервер NFS з будь-яких причин відходить. Речі стають справжніми невідповідними.


2

Я використовую будинок NFSed і він прекрасно працює. але ви повинні переконатися, що мережа є достатньо швидкою, і що вона ніколи не вийде з ладу.


2

На практичній основі NFS добре працює в домашньому каталозі, якщо є мережа з комутацією 100 Мбіт або вище. Більше 10-20 кіосків сервер повинен мати гігабітний зв’язок. Ви не виграєте конкурси на продуктивність, але такі речі, як Firefox та Open Office, працюватимуть нормально.

Копіювання в домашній каталог буде серйозним болем у зв'язку із затримкою при вході в систему (у мережі 100 Мбіт, що становить максимум 12 Мб / с. Домашній каталог 100 МБ близько 10 секунд.) Rsync призведе до збиття синхронізації кешу веб-браузера ... 10 хвилин і 500 файлів боляче.


1

Погляньте на cachefilesd . Я сам не користувався цим, але це виглядає перспективно.

Демон cachefilesd керує файлами кешування та каталогом, які використовуються мережевими файловими системами такими AFS та NFS для постійного кешування на локальному диску.

Крім того, не забудьте налаштувати параметри rsize і wsize і використовувати рамки Jumbo, якщо це можливо.


Я кілька років намагався кеш-файли, але відмовився через всю нестабільність, яку він приніс. YMMV
JFlo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.