Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Настройка раздела NFS для файлопомойки в домашней сети  (Прочитано 2213 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Здравствуйте. Имеется 2 компа с Ubuntu 12.04 в локальной сети. На обоих заведены учетные записи меня и жены, на одном из них (сервер) стоит жесткий диск 1 Тб, основная часть которого - это раздел для общей файлопомойки (поверх LVM) который сейчас монтируется в /media/data, указал при установке. Необходимо вот что:
1. Возможность записывать, удалять, изменять файлы в этом разделе на сервере для существующих пользователей без мороки с правами, которая сейчас существует при копировании на раздел файлов.
2. Возможность подключать этот раздел как NFS через сеть с других машин в локальной сети для указанных пользователей.
После долгого поиска в гугле конкретного ничего не нашел и пришел к выводу, что на сервере придется повторно монтировать экспортируемый NFS-ресурс /media/data для нормальной работы различных пользователей(подключаться по nfs к самому себе), а на другой машине подключать его как обычную nfs-шару.
Подскажите, как это всё реализовать. Как прописать в fstab локальный nfs-ресурс? Может быть есть что-то проще для этих целей?
Спасибо.

Оффлайн Tokuan

  • Старожил
  • *
  • Сообщений: 1250
    • Просмотр профиля
    • В поисках здравого смысла
После долгого поиска в гугле конкретного ничего не нашел и пришел к выводу, что на сервере придется повторно монтировать экспортируемый NFS-ресурс /media/data для нормальной работы различных пользователей(подключаться по nfs к самому себе)
Для чего?
"— Милая, - сказал он, - у вас в голове пять тысяч маркетологов срали десять лет, а вы хотите, чтобы я там убрал за пять минут…"
Пелевин В.О "Empire V"

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Wars ~.o

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
После долгого поиска в гугле конкретного ничего не нашел и пришел к выводу, что на сервере придется повторно монтировать экспортируемый NFS-ресурс /media/data для нормальной работы различных пользователей(подключаться по nfs к самому себе)
Для чего?
На каком-то сайте читал, что таким образом запись, изменение файлов на NFS-раздел происходит от имени одного пользователя или группы, т.е. владелец всегда один. При записи файлов в /media/data от разных пользователей им разные права ставятся, нужно чтобы файлы были общие полностью с возможностью записи, удаления и правки.

Пользователь решил продолжить мысль 17 Сентября 2013, 15:15:49:
https://forum.ubuntu.ru/index.php?topic=228856.0
Не совсем понял, что имеется ввиду? Создать пользователя nfs, чтобы от его имени создавались файлы в /media/data? А при копировании файла туда из другого места с другими правами, файл получит новые права и владельца?
« Последнее редактирование: 17 Сентября 2013, 15:15:49 от krysinski »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
После долгого поиска в гугле конкретного ничего не нашел и пришел к выводу, что на сервере придется повторно монтировать экспортируемый NFS-ресурс /media/data для нормальной работы различных пользователей(подключаться по nfs к самому себе)
Для чего?
На каком-то сайте читал, что таким образом запись, изменение файлов на NFS-раздел происходит от имени одного пользователя или группы, т.е. владелец всегда один. При записи файлов в /media/data от разных пользователей им разные права ставятся, нужно чтобы файлы были общие полностью с возможностью записи, удаления и правки.

man chmod | grep -C5 "sticky bit"
?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Читал вот эту тему http://www.linux.org.ru/forum/admin/6875037, а как реализовать у себя не очень понимаю. Да и в теме этой несколько вариантов предлагали, поэтому запутался. Какой вариант правильней будет? Выставить права на смонтированную папку какие?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
krysinski,
тоже ftp,samba,nfs одинакого.
Wars ~.o

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Вот какие права стоят на /media/data сейчас
nail@Huriko-PC:/media$ ls -l
итого 4
drwxrwsrwx 14 root nail 4096 сент. 16 00:29 data

Вроде бы то что надо. Всех пользователей, кто будет пользоваться этим ресурсом прописывать в группу nail, так?
Я выбрал nfs для общего доступа, и как сделать чтобы на клиенте автомонтирование шары происходило при загрузке системы если сервер доступен, если не доступен то не монтировать, а если сервер выключается, то авторазмонтирование шары?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Да. А так же проставить g+s для всех существующих каталогов, и принудительно указать, что все, пишущие в шару, должны писать под этой группой, если используется самба.

По поводу автомонтирования - всё зависит от того, как именно вы планируете использовать шару.
Можно монтировать пользователем через fuse, можно монтировать системой через fstab.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Планирую использовать как общее место для хранения видео, аудио, архивов, документов и т.д. Сервер может быть выключен при загрузке клиента и нужно легко монтировать шару если сервер появился в сети, или сервер может быть выключен в то время когда его шара смонтирована на клиенте не вызывая сбоев в работе клиента.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Цитировать
Всех пользователей
как? клиент?
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# seq 1 10 | xargs -I {} useradd userok{} -m -d /home/userok{} -s /bin/bash
root@maxoft-ZBOX-ID84:~# ls -ld /home/userok*
drwxr-xr-x 2 userok1  userok1  4096 Сен 17 21:07 /home/userok1
drwxr-xr-x 2 userok10 userok10 4096 Сен 17 21:07 /home/userok10
drwxr-xr-x 2 userok2  userok2  4096 Сен 17 21:07 /home/userok2
drwxr-xr-x 2 userok3  userok3  4096 Сен 17 21:07 /home/userok3
drwxr-xr-x 2 userok4  userok4  4096 Сен 17 21:07 /home/userok4
drwxr-xr-x 2 userok5  userok5  4096 Сен 17 21:07 /home/userok5
drwxr-xr-x 2 userok6  userok6  4096 Сен 17 21:07 /home/userok6
drwxr-xr-x 2 userok7  userok7  4096 Сен 17 21:07 /home/userok7
drwxr-xr-x 2 userok8  userok8  4096 Сен 17 21:07 /home/userok8
drwxr-xr-x 2 userok9  userok9  4096 Сен 17 21:07 /home/userok9
root@maxoft-ZBOX-ID84:~# ls -ldn /home/userok*
drwxr-xr-x 2 1006 1006 4096 Сен 17 21:07 /home/userok1
drwxr-xr-x 2 1015 1015 4096 Сен 17 21:07 /home/userok10
drwxr-xr-x 2 1007 1007 4096 Сен 17 21:07 /home/userok2
drwxr-xr-x 2 1008 1008 4096 Сен 17 21:07 /home/userok3
drwxr-xr-x 2 1009 1009 4096 Сен 17 21:07 /home/userok4
drwxr-xr-x 2 1010 1010 4096 Сен 17 21:07 /home/userok5
drwxr-xr-x 2 1011 1011 4096 Сен 17 21:07 /home/userok6
drwxr-xr-x 2 1012 1012 4096 Сен 17 21:07 /home/userok7
drwxr-xr-x 2 1013 1013 4096 Сен 17 21:07 /home/userok8
drwxr-xr-x 2 1014 1014 4096 Сен 17 21:07 /home/userok9
root@maxoft-ZBOX-ID84:~# useradd data -m -d /media/data -s /bin/bash
root@maxoft-ZBOX-ID84:~# ls -ld /media/data
drwxr-xr-x 2 data data 4096 Сен 17 21:10 /media/data
root@maxoft-ZBOX-ID84:~# ls -ldn /media/data
drwxr-xr-x 2 1016 1016 4096 Сен 17 21:10 /media/data
root@maxoft-ZBOX-ID84:~# echo '/media/data 10.0.3.1(rw,sync,all_squash,anonuid=1016,anongid=1016,no_subtree_check)'>/etc/exports
root@maxoft-ZBOX-ID84:~# service nfs-kernel-server restart
 * Stopping NFS kernel daemon                                                                                   [ OK ]
 * Unexporting directories for NFS kernel daemon...                                                             [ OK ]
 * Exporting directories for NFS kernel daemon...                                                               [ OK ]
 * Starting NFS kernel daemon                                                                                   [ OK ]
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# cat /etc/exports
/media/data 10.0.3.1(rw,sync,all_squash,anonuid=1016,anongid=1016,no_subtree_check)
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# seq 1 10 | xargs -I {} su userok{} -c "mkdir /home/userok{}/data"
root@maxoft-ZBOX-ID84:~# ls -ld /home/userok*/data
drwxrwxr-x 2 userok10 userok10 4096 Сен 17 21:26 /home/userok10/data
drwxrwxr-x 2 userok1  userok1  4096 Сен 17 21:26 /home/userok1/data
drwxrwxr-x 2 userok2  userok2  4096 Сен 17 21:26 /home/userok2/data
drwxrwxr-x 2 userok3  userok3  4096 Сен 17 21:26 /home/userok3/data
drwxrwxr-x 2 userok4  userok4  4096 Сен 17 21:26 /home/userok4/data
drwxrwxr-x 2 userok5  userok5  4096 Сен 17 21:26 /home/userok5/data
drwxrwxr-x 2 userok6  userok6  4096 Сен 17 21:26 /home/userok6/data
drwxrwxr-x 2 userok7  userok7  4096 Сен 17 21:26 /home/userok7/data
drwxrwxr-x 2 userok8  userok8  4096 Сен 17 21:26 /home/userok8/data
drwxrwxr-x 2 userok9  userok9  4096 Сен 17 21:26 /home/userok9/data
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# seq 1 10 | xargs -I {} mount -t nfs 10.0.3.1:/media/data /home/userok{}/data
root@maxoft-ZBOX-ID84:~# mount | grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw)
10.0.3.1:/media/data on /home/userok1/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok2/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok3/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok4/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok5/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok6/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok7/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok8/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok9/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
10.0.3.1:/media/data on /home/userok10/data type nfs (rw,vers=4,addr=10.0.3.1,clientaddr=10.0.3.1)
root@maxoft-ZBOX-ID84:~#
root@maxoft-ZBOX-ID84:~# seq 1 10 | xargs -I {} su userok{} -c "echo \"OK{}\" > /home/userok{}/data/test{}.txt"
root@maxoft-ZBOX-ID84:~# ls -l /media/data/
итого 52
-rw-r--r-- 1 data data 8445 Апр 16  2012 examples.desktop
-rw-rw-r-- 1 data data    5 Сен 17 21:37 test10.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test1.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test2.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test3.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test4.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test5.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test6.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test7.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test8.txt
-rw-rw-r-- 1 data data    4 Сен 17 21:37 test9.txt
root@maxoft-ZBOX-ID84:~#
« Последнее редактирование: 17 Сентября 2013, 22:48:51 от victor00000 »
Wars ~.o

Оффлайн gva230

  • Активист
  • *
  • Сообщений: 981
  • GUI-овый Linuxоид
    • Просмотр профиля
    • Моя дикая страничка
На сервере (FreeBSD!) файл /etc/exports:
/usr/home/p2p/1T -alldirs -mapall=p2p 192.168.0.2На клиенте (Kubuntu) файл /etc/fstab:
192.168.0.1:/usr/home/p2p/1T          /media/1T             nfs     async,hard,intr,timeo=14,nolock 0       0С клиентом всё ясно, а на сервере в файле /etc/exports указывается какие папки расшарены, для каких айпишников и самое главное - от имени какого пользователя будут создаваться файлы и папки в расшаренной папке, если есть доступ на запись. В данном случае всё будет писаться от имени пользователя p2p. Однако клиент ничего не знает о пользователях на сервере, поэтому клиент будет видеть вместо имени пользователя (p2p), его ID, допустим 1001. При этом на клиенте может существовать пользователь с ID 1001, поэтому везде, где отображается имя владельца файла, вместо ID вы увидите имя пользователя клиентской машины у которого такой же ID.
Kubuntu - наше фсё! :Ь

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
gva230,
у тебя пользователя один.
у меня 10
Wars ~.o

Оффлайн gva230

  • Активист
  • *
  • Сообщений: 981
  • GUI-овый Linuxоид
    • Просмотр профиля
    • Моя дикая страничка
gva230,
у тебя пользователя один.
у меня 10
У меня тоже несколько. :) Но другим запись не разрешена. Если бы она была разрешена, то выглядело бы так:/usr/home/p2p/1T -alldirs -mapall=p2p 192.168.0.2 192.168.0.3 192.168.0.4
Kubuntu - наше фсё! :Ь

Оффлайн krysinski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
На сервере (FreeBSD!) файл /etc/exports:
/usr/home/p2p/1T -alldirs -mapall=p2p 192.168.0.2На клиенте (Kubuntu) файл /etc/fstab:
192.168.0.1:/usr/home/p2p/1T          /media/1T             nfs     async,hard,intr,timeo=14,nolock 0       0
насчет опции hard я сомневаюсь, можете меня поправить если ошибаюсь.

 

Страница сгенерирована за 0.612 секунд. Запросов: 25.