Вопрос: Возможно ли иметь домашнюю папку с NFS?


Я планирую развернуть несколько компьютеров для киосков и хотел бы оставить их с небольшим pendrive в качестве загрузочного диска, оставив все на простом резервном сервере, ala LTSP,

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

Мои опасения в том, что работа с файлами может стать слишком медленной, или моя сеть может получить засоренный,


26
2018-06-04 01:11


Источник


Не могли бы вы заменить «безопасный» другим словом, которое менее связано с безопасностью? Возможно возможно merriam-webster.com/dictionary/feasible ? - Cristian Ciupitu
Небольшое чувство дежавю. Это не то же самое, но это интересный поток, который у них есть. hardware.slashdot.org/story/09/06/23/1823201/... - voyager


Ответы:


Я использую 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.


26
2018-06-04 03:02



Я всегда обнаружил, что автомонтер ужасно ненадежный и подвержен блокировке, особенно если сервер NFS опустился. Если вы монтируете в / mnt / nfs / home, то где вы устанавливаете домашний адрес пользователя в / etc / passwd? - pjc50
Ну, использование / etc / passwd и NFS-монтирования home dirs - плохая идея, так как вам нужно синхронизировать UID и GID - используйте что-то вроде OpenLDAP, но да, домашний каталог пользователя установлен в / mnt / nfs / home / имя пользователя. - Aaron Brown
@AaronBrown Я согласен, что если вы собираетесь разместить $ HOME в сети, вы также должны указать идентификатор пользователя и аутентификацию в сети. Независимо от того, как вы это делаете, $ HOME нужно определить где-то, и вы указали, что предпочитаете /mnt/nfs/home но как тогда вы используете свой местный /home во время отключения? В частности, см. unix.stackexchange.com/questions/189404/... - JFlo


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, вы просто добавляете еще один кирпич для хранения (узел сервера), и вы можете масштабировать / расширять ваше хранилище в parrallel, когда это необходимо.

Надеюсь, это поможет или, по крайней мере, поможет вам в правильном направлении!


7
2018-06-04 02:09





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

Жесткий тайм-аут не будет: операции ввода-вывода будут повторяться бесконечно. Опция intr позволяет прерывать процесс монтажа. Поэтому, если вы монтируете экспорт и испытываете сбой, жесткое монтирование заблокирует ваш сеанс. Параметр intr позволяет прервать установку, поэтому комбинация довольно безопасна и гарантирует, что вы не сможете легко потерять данные пользователя.

Во всяком случае, autofs делает все это еще проще.


7
2018-06-04 06:36



отметим, что intr опция mount устарела в Linux после ядра 2.6.2, см., например, access.redhat.com/solutions/157873 - myrdd


Единственное, что нужно отметить, это то, что когда сервер 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) man page states ...

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 например.

Теперь я должен указать, что мой аргумент в значительной степени анекдотичен - на самом деле не имеет смысла, почему он исправил проблему, но «кажется» ее исправил - так или иначе - есть, вероятно, другие переменные здесь, еще не обнаружены. знак равно


4
2018-06-04 02:28



Вы уверены в этом «случайном» fsid, используемом сервером? - Cristian Ciupitu
Привет, Кристиан, я попытался объяснить выше, но я не могу полностью объяснить поведение в отношении описания страницы man. Вы пробовали это и видели иначе? - Xerxes


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

В эти дни вы можете сказать, что многие программы хранят свои кеши в другом месте (например, на локальном диске), устанавливая XDG_CACHE_HOME переменная среды в скрипте входа. Тем не менее, многие программы (например, Firefox) по-прежнему требуют ручной настройки, поэтому вам, вероятно, придется выполнить дополнительную работу для их единообразного определения и настройки для всех ваших пользователей.


4
2018-03-09 12:07



+1 У меня были проблемы с работой с Google Chrome и домашними каталогами NFS. исправил его, переместив рабочие каталоги Chrome в локальную систему, а затем разместив символическую ссылку из домашней директории NFS (где Chrome ожидает найти директории), обратно в локальный каталог. Может быть, лучший способ сделать то, что я сделал, но он решил проблему для меня. - Bryan
Брайан (марш 9) оставил хороший частичный ответ, однако я хочу подробно остановиться на этом вопросе. Пожалуйста, сделайте ... Спасибо .. Как вы переместили рабочие каталоги на локальную машину и разместили символические ссылки. - Jason
Также изучите XDG_RUNTIME_DIR описанный для местоположения базы данных Dconf по адресу: developer.gnome.org/dconf/unstable/dconf-overview.html - JKnight


Я много мест, где я работал, использовал домашние каталоги, основанные на NFS. Обычно нет большой разницы в производительности (и пользователи киосков, вероятно, немного менее требовательны, чем разработчики, которые знают, как завладеть своим местным ИТ-парнем). Одна из проблем, которые я видел, - это то, что происходит, когда я вошел в рабочий стол Gnome и сервер NFS уходит по тем или иным причинам. Все становится невосприимчивым.


3
2018-06-04 01:30





Я использую дом NFSed, и он отлично работает. но вы должны убедиться, что сеть достаточно быстро и что она никогда не опустится.


2
2018-06-04 01:23





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

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


2
2018-06-04 20:51





Посмотри на cachefilesd, Я не использовал его сам, но выглядит многообещающим.

Демон cachefilesd управляет файлами и каталогами кеширования, которые используются сетевыми файловыми системами, такими как AFS и NFS, чтобы выполнять постоянное кэширование на локальном диске.

Кроме того, не забудьте настроить параметры rsize и wsize и использовать Jumbo-фреймы, если это возможно.


1
2018-06-04 02:39



Я пробовал cachefilesd в течение нескольких лет, но сдался из-за всей нестабильности, которую он принес. YMMV - JFlo