NFS файли. Встановлення та налаштування сервера NFS

Доброго часу, читачі та гості . Дуже велика перерва між постами була, але я знову в бою). У сьогоднішній статті розгляну роботу протоколу NFS, а також настроювання сервера NFS та клієнта NFS на Linux.

Вступ до NFS

NFS (Network File System - мережна файлова система) на мою думку - ідеальне рішення в локальній мережі, де потрібен швидкий (швидший у порівнянні з SAMBA і менш ресурсоємний в порівнянні з віддаленими файловими системами з шифруванням - sshfs, SFTP, etc ...) обмін даними і на чолі не варто безпека інформації, що передається. Протокол NFSдозволяє монтувати віддалені файлові системи через мережу в локальне дерево каталогів, якби це була примонтована дискова файлова система. Тим самим локальні програми можуть працювати з віддаленою файловою системою, як із локальною. Але треба бути обережним (!) з настроюванням NFS, бо за певної конфігурації можна підвісити операційну систему клієнта чекаючи нескінченного вводу/вывода. Протокол NFSзаснований на роботі протоколу RPC, який поки що не піддається моєму розумінню)) тому матеріал у статті буде трохи розпливчатим... Перш ніж Ви зможете використовувати NFS, будь то сервер або клієнт, Ви повинні переконатися, що Ваше ядро ​​має підтримку файлової системи NFS. Перевірити чи підтримує ядро ​​файлову систему NFS можна, переглянувши наявність відповідних рядків у файлі /proc/filesystems:

ARCHIV ~ # grep nfs /proc/filesystems nodev nfs nodev nfs4 nodev nfsd

Якщо вказаних рядків у файлі /proc/filesystemsне виявиться, необхідно встановити описані нижче пакети. Це, швидше за все, дозволить встановити залежні модулі ядра для підтримки потрібних файлових систем. Якщо після інсталяції пакетів, підтримка NFS не буде відображена у вказаному файлі, то потрібно буде , з увімкненням цієї функції.

Історія Network File System

Протокол NFSрозроблений компанією Sun Microsystems та має у своїй історії 4 версії. NFSv1була розроблена в 1989 році і була експериментальною, працювала на протоколі UDP. Версія 1 описана у . NFSv2була випущена в тому ж 1989, описувалася тим же RFC1094 і так само базувалася на протоколі UDP, при цьому дозволяла читати не більше 2Гб з файлу. NFSv3доопрацьована в 1995 р. та описана в . Основними нововведеннями третьої версії стала підтримка файлів великого розміру, додана підтримка протоколу TCP та TCP-пакетів великого розміру, що суттєво прискорило працездатність технології. NFSv4доопрацьована в 2000 р. і описана в RFC 3010, в 2003 р. переглянута та описана в . Четверта версія включила поліпшення продуктивності, підтримку різних засобів аутентифікації (зокрема, Kerberos і LIPKEY з використанням протоколу RPCSEC GSS) і списків контролю доступу (як POSIX, так і Windows-типів). NFS версії v4.1була схвалена IESG у 2010 р., та отримала номер . Важливим нововведенням версії 4.1 є специфікація pNFS - Parallel NFS, механізму паралельного доступу NFS-клієнта до даних безлічі розподілених NFS-серверів. Наявність такого механізму у стандарті мережевої файлової системи допоможе будувати розподілені «хмарні» (cloud) сховища та інформаційні системи.

NFS сервер

Бо у нас NFS- це мережевафайлова система, то необхідно. (Так само можна почитати статтю). Далі необхідно. У Debian це пакет nfs-kernel-serverі nfs-common, у RedHat це пакет nfs-utils. А також, необхідно дозволити запуск демону на необхідних рівнях виконання ОС (команда в RedHat - /sbin/chkconfig nfs onу Debian - /usr/sbin/update-rc.d nfs-kernel-server defaults).

Установлені пакети в Debian запускаються в наступному порядку:

ARCHIV ~ # ls -la /etc/rc2.d/ | grep nfs lrwxrwxrwx 1 root root 20 Жов 18 15:02 S15nfs-common -> ../init.d/nfs-common lrwxrwxrwx 1 root root 27 Жов 22 01:23 S16nf. /nfs-kernel-server

Тобто спочатку запускається nfs-commonпотім сам сервер nfs-kernel-server. У RedHat ситуація аналогічна, за тим лише винятком, що перший скрипт називається nfslock, а сервер називається просто nfs. Про nfs-common нам сайт debian дослівно каже наступне: спільні файли для клієнта та сервера NFS, цей пакет потрібно встановлювати на машину, яка буде працювати як клієнт або сервер NFS. У пакет включені програми: lockd, statd, showmount, nfsstat, gssd та idmapd. Переглянувши вміст скрипту запуску /etc/init.d/nfs-commonможна відстежити наступну послідовність роботи: скрипт перевіряє наявність виконуваного бінарного файлу /sbin/rpc.statd, перевіряє наявність у файлах /etc/default/nfs-common, /etc/fstabі /etc/exportsпараметрів, що вимагають запуск демонів idmapd і gssd , запускає демона /sbin/rpc.statd , далі перед запуском /usr/sbin/rpc.idmapdі /usr/sbin/rpc.gssdперевіряє наявність цих виконуваних бінарних файлів, далі для демона /usr/sbin/rpc.idmapdперевіряє наявність sunrpc, nfsі nfsd, а також підтримку файлової системи rpc_pipefsв ядрі (тобто наявність її у файлі /proc/filesystems), якщо все вдало, то запускає /usr/sbin/rpc.idmapd . Додатково для демона /usr/sbin/rpc.gssd перевіряє модуль ядра rpcsec_gss_krb5та запускає демон.

Якщо переглянути вміст скрипта запуску NFS-серверана Debian ( /etc/init.d/nfs-kernel-server), то можна простежити таку послідовність: при старті, скрипт перевіряє існування файлу /etc/exports, наявність nfsd, наявність підтримки файлової системи NFSв (тобто у файлі /proc/filesystems), якщо все на місці, то запускається демон /usr/sbin/rpc.nfsd , далі перевіряє заданий параметр NEED_SVCGSSD(задається у файлі налаштувань сервера /etc/default/nfs-kernel-server) і, якщо заданий - запускає демона /usr/sbin/rpc.svcgssd , останнім запускає демона /usr/sbin/rpc.mountd . З цього скрипта видно, що робота сервера NFS складається здемонів rpc.nfsd, rpc.mountd і якщо використовується Kerberos-автентифікація, то демон rcp.svcgssd. У червоному капелюсі ще запускається демон rpc.rquotad і nfslogd (У Debian я чомусь не знайшов інформації про цього демона і про причини його відсутності, мабуть видалений...).

З цього ставати зрозуміло, що сервер Network File System складається з наступних процесів (читай – демонів), розміщених у каталогах /sbin та /usr/sbin:

У NFSv4 при використанні Kerberos додатково запускаються демони:

  • rpc.gssd- Демон NFSv4 забезпечує методи аутентифікації через GSS-API (Kerberos-аутентифікація). Працює на клієнті та сервері.
  • rpc.svcgssd- Демон сервера NFSv4, який забезпечує автентифікацію клієнта на стороні сервера.

portmap та протокол RPC (Sun RPC)

Крім зазначених вище пакетів, для коректної роботи NFSv2 та v3 потрібен додатковий пакет portmap(у новіших дистрибутивах замінений на перейменований на rpcbind). Цей пакет зазвичай встановлюється автоматично з NFS як залежний і реалізує роботу сервера RPС, тобто відповідає динамічне призначення портів деяких служб, зареєстрованих в RPC сервері. Дослівно, згідно з документацією - це сервер, який перетворює номери програм RPC (Remote Procedure Call) у номери портів TCP/UDP. portmap оперує декількома сутностями: RPC-дзвінками або запитами, TCP/UDP портами,версією протоколу(tcp або udp), номерами програмі версіями програм. Демон portmap запускається скриптом /etc/init.d/portmap до старту NFS-сервісів.

Коротко кажучи, робота сервера RPC (Remote Procedure Call) полягає у обробці RPC-дзвінків (т.зв. RPC-процедур) від локальних та віддалених процесів. Використовуючи RPC-дзвінки, сервіси реєструють або видаляють себе в/з перетворювача портів (він же відображає порти, він же portmap, він же portmapper, він же, в нових версіях, rpcbind), а клієнти за допомогою RPC-дзвінків надсилаючи запити до portmapper одержують необхідну інформацію. Користувач-френдлі назви сервісів програм та відповідні їм номери визначені у файлі /etc/rpc. Як тільки будь-який сервіс відправив відповідний запит і зареєстрував себе на сервері RPC в відображачі портів, RPC-сервер присвоює зіставляє сервісу TCP і UDP порти на яких запустився сервіс і зберігає в собі ядру відповідну інформацію про працюючий сервіс (про ім'я), унікальний номер сервісу (відповідно до /etc/rpc) , про протокол та порт на якому працює сервіс та про версію сервісу та надає зазначену інформацію клієнтам за запитом. Сам перетворювач портів має номер програми (100000), номер версії – 2, TCP порт 111 та UDP порт 111. Вище, при вказівці складу демонів сервера NFS я вказав основні RPC номери програм. Я, напевно, трохи заплутав Вас даним абзацом, тому скажу основну фразу, яка повинна внести ясність: основна функція відображача портів полягає в тому, щоб на запит клієнта, який надав номер RPC-програми (або RPC-номер програми) і версію, повернути йому (клієнту) порт, у якому працює запитана програма . Відповідно, якщо клієнту потрібно звернутися до RPC з конкретним номером програми, він спочатку повинен увійти в контакт із процесом portmap на серверній машині та визначити номер порту зв'язку з необхідним сервісом RPC.

Роботу RPC-сервера можна представити такими кроками:

  1. Перетворювач портів повинен стартувати першим, як правило, при завантаженні системи. При цьому створюється кінцева точка TCP і здійснюється відкриття TCP порту 111. Також створюється кінцева точка UDP, яка чекає, коли на UDP порт 111 прибуде UDP датаграма.
  2. При старті програма, що працює через сервер RPC, створює кінцеву точку TCP і кінцеву точку UDP для кожної підтримуваної версії програми. (Сервер RPC може підтримувати кілька версій. Клієнт вказує потрібну версію при надсиланні RPC-дзвінка.) Номер порту, що динамічно призначається, закріплюється за кожною версією сервісу. Сервер реєструє кожну програму, версію, протокол і номер порту, здійснюючи відповідний RPC-виклик.
  3. Коли програмі клієнта RPC необхідно отримати необхідну інформацію, вона викликає виклик процедуру перетворювача портів, щоб отримати номер порту, що динамічно призначається для заданої програми, версії і протоколу.
  4. У відповідь цей запит північ повертає номер порту.
  5. Клієнт надсилає повідомлення RPC-запиту на номер порту, отриманий у пункті 4. Якщо використовується UDP, клієнт просто надсилає UDP датаграму, що містить повідомлення RPC-дзвінка, на номер UDP порту, на якому працює запитаний сервіс. У відповідь послуга відправляє UDP датаграму, що містить повідомлення RPC відгуку. Якщо використовується TCP, клієнт здійснює активне відкриття на номер TCP порту необхідного сервісу, а потім надсилає повідомлення виклику RPC по встановленому з'єднанню. Сервер відповідає повідомленням відгуку RPC з'єднання.

Для отримання інформації від RPC-сервера використовується утиліта rpcinfo. При вказанні параметрів -p hostпрограма виводить список всіх зареєстрованих програм RPC на хості host. Без вказівки хоста програма виведе послуги на localhost. Приклад:

ARCHIV ~ # rpcinfo -p прог-ма верс прото порт 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 59451 status 100024 1 tcp 60872 status 100021 1 udp 44310 nlockmgr 100021 3 udp 44310 nlockmgr 100021 4 udp 44310 nlockmgr 100021 1 tcp 44851 nlockmgr 100021 3 tcp 44851 nlockmgr 100021 4 tcp 44851 nlockmgr 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100005 1 udp 51306 mountd 100005 1 tcp 41405 mountd 100005 2 udp 51306 mountd 100005 2 tcp 41405 mountd 100005 3 udp 51306 mountd 100005 3 tcp 41405 mou

Як видно, rpcinfo відображає (у стовпчиках зліва направо) номер зареєстрованої програми, версію, протокол, порт та назву. За допомогою rpcinfo можна видалити реєстрацію програми або отримати інформацію про окремий сервіс RPC (більше опцій у man rpcinfo). Як видно, зареєстровані демони portmapper версії 2 на udp та tcp портах, rpc.statd версії 1 на udp та tcp портах, NFS lock manager версій 1,3,4, демон nfs сервера версії 2,3,4, а також демон монтування версій 1,2,3.

NFS сервер (точніше демон rpc.nfsd) отримує запити від клієнта у вигляді UDP датаграм на порт 2049. Незважаючи на те, що NFS працює з перетворювачем портів, що дозволяє серверу використовувати порти, що динамічно призначаються, UDP порт 2049 жорстко закріплений за NFS в більшості реалізацій .

Робота протоколу Network File System

Монтування віддаленої NFS

Процес монтування віддаленої файлової системи NFS можна представити такою схемою:

Опис протоколу NFS при монтуванні віддаленого каталогу:

  1. На сервері та клієнті запускається RPC сервер (зазвичай при завантаженні), обслуговуванням якого займається процес portmapper та реєструється на порту tcp/111 та udp/111.
  2. Запускаються послуги (rpc.nfsd,rpc.statd та ін.), які реєструються на RPC сервері та реєструються на довільних мережевих портах (якщо в налаштуваннях сервісу не заданий статичний порт).
  3. команда mount на комп'ютері клієнта відправляє ядру запит на монтування мережевого каталогу із зазначенням типу файлової системи, хоста та власне - каталогу, ядро ​​відправляє формує RPC-запит процесу portmap на NFS сервері на порт udp/111 (якщо на клієнті не задана опція працювати через tcp )
  4. Ядро сервера NFS опитує RPC про наявність демона rpc.mountd та повертає ядру клієнта мережевий порт, на якому працює демон.
  5. mount відправляє запит RPC на порт, на якому працює rpc.mountd. Тепер сервер NFS може перевірити достовірність клієнта на основі його IP адреси та номера порту, щоб переконатися, чи можна цьому клієнту змонтувати вказану файлову систему.
  6. Демон монтування повертає опис запитаної файлової системи.
  7. Команда mount клієнта видає системний виклик mount, щоб зв'язати описувач файлу, отриманий за кроком 5, з локальною точкою монтування на хості клієнта. Описувач файлу зберігається в коді NFS клієнта, і з цього моменту будь-яке звернення процесів користувача до файлів на файловій системі сервера використовуватиме описувач файлу як стартову точку.

Обмін даними між клієнтом та сервером NFS

Типовий доступ до віддаленої файлової системи можна описати такою схемою:

Опис процесу звернення до файлу на сервері NFS:

  1. Клієнту (процесу користувача) байдуже, чи отримує він доступ до локального файлу або до NFS файлу. Ядро займається взаємодією із залізом через модулі ядра або вбудовані системні виклики.
  2. Модуль ядра kernel/fs/nfs/nfs.ko,який виконує функції NFS клієнта, відправляє RPC запити NFS серверу через модуль TCP/IP. NFS зазвичай використовує UDP, проте нові реалізації можуть використовувати TCP.
  3. NFS сервер отримує запити від клієнта у вигляді UDP датаграм на порт 2049. Незважаючи на те, що NFS може працювати з перетворювачем портів, що дозволяє серверу використовувати порти, що динамічно призначаються, UDP порт 2049 жорстко закріплений за NFS в більшості реалізацій.
  4. Коли сервер NFS отримує запит від клієнта, він передається локальній підпрограмі доступу до файлу, яка забезпечує доступ до локального диска на сервері.
  5. Результат звернення до диска повертається клієнту.

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

Налаштування серверав цілому полягає у завданні локальних каталогів, дозволених для монтування віддаленими системами у файлі /etc/exports. Ця дія називається експорт ієрархії каталогів. Основними джерелами інформації про експортовані каталоги є такі файли:

  • /etc/exports- Основний конфігураційний файл, що містить у собі конфігурацію експортованих каталогів. Використовується при запуску NFS та утиліті exportfs.
  • /var/lib/nfs/xtab- Містить список каталогів, монтованих віддаленими клієнтами. Використовується демоном rpc.mountd, коли клієнт намагається змонтувати ієрархію (створюється запис про монтування).
  • /var/lib/nfs/etab- Список каталогів, які можуть бути змонтовані віддаленими системами із зазначенням всіх параметрів експортованих каталогів.
  • /var/lib/nfs/rmtab- Список каталогів, які не розекспортовані в даний момент.
  • /proc/fs/nfsd- Спеціальна файлова система (ядро 2.6) для керування сервером NFS.
    • exports- Список активних експортованих ієрархій та клієнтів, яким їх експортували, а також параметри. Ядро отримує цю інформацію з /var/lib/nfs/xtab.
    • threads- містить кількість потоків (також можна змінювати)
    • за допомогою filehandle можна отримати покажчик на файл
    • та ін...
  • /proc/net/rpc- Містить "сиру" (raw) статистику, яку можна отримати за допомогою nfsstat, а також різні кеші.
  • /var/run/portmap_mapping- інформація про зареєстровані в RPC сервіси

Прим: взагалі, в інтернеті купа трактувань та формулювань призначення файлів xtab, etab, rmtab, кому вірити – не знаю Навіть на http://nfs.sourceforge.net/ трактування не однозначне.

Налаштування файлу /etc/exports

У найпростішому випадку файл /etc/exports є єдиним файлом, який вимагає редагування для налаштування сервера NFS. Цей файл керує такими аспектами:

  • Які клієнтиможуть звертатися до файлів на сервері
  • До яких ієрархійкаталогів на сервері може звертатися кожен клієнт
  • Як імена клієнтів будуть відображатисяна локальні імена користувачів

Кожен рядок файлу exports має такий формат:

точка_експорта клієнт1 (опції) [клієнт2(опції) ...]

Де точка_експорту абсолютний шлях експортованої ієрархії каталогів, клієнт1 - n ім'я однієї або більше клієнтів або IP-адрес, розділені пробілами, яким дозволено монтувати точку_експорту . Опції описують правила монтування для клієнта, зазначеного перед опціями .

Ось типовий приклад конфігурації файлу exports:

ARCHIV ~ # cat /etc/exports /archiv1 files(rw,sync) 10.0.0.1(ro,sync) 10.0.230.1/24(ro,sync)

У даному прикладі комп'ютерам files і 10.0.0.1 дозволено доступ до точки експорту /archiv1, при цьому, хосту files на читання/запис, а для хоста 10.0.0.1 та підмережі 10.0.230.1/24 доступ тільки на читання.

Опис хостів у /etc/exports дозволяється в наступному форматі:

  • Імена окремих вузлів описуються як files або files.DOMAIN.local.
  • Опис маски доменів проводиться в такому форматі: * DOMAIN.local включає всі вузли домену DOMAIN.local.
  • Підмережі задаються у вигляді пар адрес IP/маска. Наприклад: 10.0.0.0/255.255.255.0 містить усі вузли, адреси яких починаються з 10.0.0.
  • Встановлення імені мережної групи @myclients, яка має доступ до ресурсу (при використанні сервера NIS)

Загальні опції експорту ієрархій каталогів

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

  • auth_nlm (no_auth_nlm)або secure_locks (insecure_locks)- Вказує, що сервер повинен вимагати автентифікацію запитів на блокування (за допомогою протоколу NFS Lock Manager (диспетчер блокування NFS)).
  • nohide (hide)- якщо сервер експортує дві ієрархії каталогів, при цьому одна вкладена (примонтована) до іншої. Клієнту необхідно явно змонтувати другу (дочірню) ієрархію, інакше точка монтування дочірньої ієрархії виглядатиме як порожній каталог. Опція nohide призводить до появи другої ієрархії каталогів без явного монтування. ( прим:я цю опцію так і не зміг змусити працювати...)
  • ro (rw)- Дозволяє лише запити на читання (запис). (зрештою - можливо прочитати/записати чи ні визначається на підставі прав файлової системи, при цьому сервер не здатний відрізнити запит на читання файлу від запиту на виконання, тому дозволяє читання, якщо користувач має право на читання або виконання.)
  • secure (insecure)- вимагає, щоб запити NFS надходили із захищених портів (< 1024), чтобы программа без прав root не могла монтировать иерархию каталогов.
  • subtree_check (no_subtree_check)- Якщо експортується підкаталог фалової системи, але не вся файлова система, сервер перевіряє, чи запитаний файл знаходиться в експортованому підкаталозі. Вимкнення перевірки зменшує безпеку, але збільшує швидкість передачі даних.
  • sync (async)- Вказує, що сервер повинен відповідати на запити лише після запису на диск змін, виконаних цими запитами. Опція async показує серверу чекати запису інформації на диск, що підвищує продуктивність, але знижує надійність, т.к. у разі обриву з'єднання або відмови обладнання можлива втрата інформації.
  • wdelay (no_wdelay)- вказує серверу затримувати виконання запитів на запис, якщо очікується наступний запит на запис, записуючи дані більшими блоками. Це підвищує продуктивність при надсиланні великих черг команд на запис. no_wdelay вказує не відкладати виконання команди на запис, що може бути корисно, якщо сервер отримує велику кількість команд, не пов'язаних один з одним.

Експорт символічних посилань та файлів пристроїв.При експорті ієрархії каталогів, що містять символічні посилання, необхідно, щоб об'єкт посилання був доступний для клієнтської (віддаленої) системи, тобто має виконуватися одне з наступних правил:

Файл пристрою відноситься до інтерфейсу. Під час експорту файлу пристрою експортується цей інтерфейс. Якщо клієнтська система не має такого ж типу, то експортований пристрій не буде працювати. У клієнтській системі, при монтуванні NFS об'єктів можна використовувати опцію nodev, щоб файли пристроїв в каталогах, що монтуються, не використовувалися.

Параметри за замовчуванням у різних системах можуть відрізнятися, їх можна переглянути у файлі /var/lib/nfs/etab. Після опису експортованого каталогу в /etc/exports і перезапуску сервера NFS всі опції, що відсутні, (читай: опції за замовчуванням) будуть відображені у файлі /var/lib/nfs/etab.

Опції відображення (відповідності) ідентифікаторів користувачів

Для більшого розуміння сказаного нижче я б порадив ознайомитися зі статтею. Кожен користувач Linux має свої UID та головний GID, які описані у файлах /etc/passwdі /etc/group. Сервер NFS вважає, що операційна система віддаленого вузла виконала автентифікацію користувачів і призначила їм коректні ідентифікатори UID і GID. Експортування файлів дає користувачам системи клієнта такий самий доступ до цих файлів, якби вони реєструвалися безпосередньо на сервері. Відповідно, коли клієнт NFS надсилає запит серверу, сервер використовує UID та GID для ідентифікації користувача в локальній системі, що може призводити до деяких проблем:

  • користувач може не мати одні й ті ж ідентифікатори в обох системах і, відповідно, може отримати доступ до файлів іншого користувача.
  • т.к. у користувача root ідентифікатор завжди 0, цей користувач відображається на локального користувача в залежності від заданих опцій.

Наступні опції задають правила відображення віддалених користувачів локальних:

  • root_squash (no_root_squash)- При заданій опції root_squash, запити від користувача root відображаються на анонімного uid/gid, або користувача, заданого в параметрі anonuid/anongid.
  • no_all_squash (all_squash)- Не змінює UID/GID користувача, що підключається. Опція all_squashзадає відображення ВСІХ користувачів (не тільки root) як анонімних або заданих у параметрі anonuid/anongid.
  • anonuid= UID і anongid= GID - Явно визначає UID/GID для анонімного користувача.
  • map_static= /etc/file_maps_users - Задає файл, у якому можна задати зіставлення віддалених UID/GID – локального UID/GID.

Приклад використання файлу картки користувачів:

ARCHIV ~ # cat /etc/file_maps_users # Мапінг користувачів # remote local comment uid 0-50 1002 # зіставлення користувачів з віддаленим UID 0-50 до локального UID 1002 gid 0-50 1002 # зіставлення користувачів з/span віддаленим GID 0-5 локальному GID 1002

Керування сервером NFS

Керування сервером NFS здійснюється за допомогою наступних утиліт:

  • nfsstat
  • showmsecure (insecure)ount

nfsstat: статистика NFS та RPC

Утиліта nfsstat дозволяє переглянути статистику RPC та NFS серверів. Опції команди можна переглянути в man nfsstat.

showmount: виведення інформації про стан NFS

Утиліта showmountзапитує демон rpc.mountd на віддаленому хості про змонтовані файлові системи. За замовчуванням видається список відсортованих клієнтів. Ключі:

  • --all- Видається список клієнтів та точок монтування із зазначенням куди клієнт примонтував каталог. Ця інформація може бути ненадійною.
  • --directories- Видається список точок монтування
  • --exports- видається список експортованих файлових систем з погляду nfsd

При запуску showmount без аргументів на консоль буде виведена інформація про системи, яким дозволено монтувати локальнікаталоги. Наприклад, хост ARCHIV нам надає список експортованих каталогів з IP-адресами хостів, яким дозволено монтувати зазначені каталоги:

FILES ~ # showmount --exports archiv Export list for archiv: /archiv-big 10.0.0.2 /archiv-small 10.0.0.2

Якщо вказати в аргументі ім'я хоста/IP, то буде виведена інформація про цей хост:

ARCHIV ~ # showmount files clnt_create: RPC: Program not registered # це повідомлення говорить нам, що на хості FILES демон NFSd не запущений

exportfs: керування експортованими каталогами

Ця команда обслуговує експортовані каталоги, задані у файлі /etc/exports, точніше написати не обслуговує, а синхронізує з файлом /var/lib/nfs/xtabта видаляє з xtab неіснуючі. exportfs виконується під час запуску демона nfsd з аргументом -r. Утиліта exportfs у режимі ядра 2.6 спілкується з демоном rpc.mountd через файли каталогу /var/lib/nfs/ і не спілкується безпосередньо з ядром. Без параметрів видає список поточних файлових систем, що експортуються.

Параметри exportfs:

  • [клієнт:ім'я-каталогу] - додати або видалити вказану файлову систему для вказаного клієнта)
  • -v - виводити більше інформації
  • -r - переекспортувати всі каталоги (синхронізувати /etc/exports та /var/lib/nfs/xtab)
  • -u - видалити зі списку експортованих
  • -a - додати або видалити всі файлові системи
  • -o - опції через кому (аналогічний опціям застосовуваним в / etc / exports; т.ч. можна змінювати опції вже змонтованих файлових систем)
  • -i - не використовувати /etc/exports при додаванні тільки параметри поточного командного рядка
  • -f - скинути список експортованих систем у ядрі 2.6;

Клієнт NFS

Перш ніж звернутися до файлу на віддаленій файловій системі клієнт (ОС клієнта) повинен змонтувати їїта отримати від сервера покажчик на неї. Монтування NFSможе здійснюватися за допомогою або за допомогою одного з автоматичних монтувальників, що розплодилися (amd, autofs, automount, supermount, superpupermount). Процес монтування добре продемонстровано вище на ілюстрації.

На клієнтів NFSніяких демонів запускати не потрібно, функції клієнтавиконує модуль ядра kernel/fs/nfs/nfs.ko, який використовується для монтування віддаленої файлової системи. Експортовані каталоги з сервера можуть монтуватися на клієнта такими способами:

  • вручну, за допомогою команди mount
  • автоматично при завантаженні, при монтуванні файлових систем, описаних у /etc/fstab
  • автоматично за допомогою демона autofs

Третій спосіб з autofs у цій статті я розглядати не буду, зважаючи на його об'ємну інформацію. Можливо, у наступних статтях буде окремий опис.

Монтування файлової системи Network Files System командою mount

Приклад використання команди mount представлений у пості. Тут я розгляну приклад команди mount для монтування файлової системи NFS:

FILES ~ # mount -t nfs archiv:/archiv-small /archivs/archiv-small FILES ~ # mount -t nfs -o ro archiv:/archiv-big /archivs/archiv-big FILES ~ # mount ..... .. archiv:/archiv-small on /archivs/archiv-small type nfs (rw,addr=10.0.0.6) archiv:/archiv-big on /archivs/archiv-big type nfs (ro,addr=10.0.0.6)

Перша команда монтує експортований каталог /archiv-smallна сервері archivу локальну точку монтування /archivs/archiv-smallз параметрами за замовчуванням (тобто для читання та запису). Хоча команда mountв останніх дистрибутивах вміє розуміти який тип файлової системи використовується і без вказівки типу, все ж таки вказувати параметр -t nfsбажано. Друга команда монтує експортований каталог /archiv-bigна сервері archivу локальний каталог /archivs/archiv-bigз опцією лише для читання ( ro). Команда mountбез параметрів наочно відображає результат монтування. Крім опції лише читання (ro), можна задати інші основні опції при монтуванні NFS:

  • nosuid- Ця опція забороняє виконувати програми зі змонтованого каталогу.
  • nodev(no device - не пристрій) - Дана опція забороняє використовувати як пристрої символьні та блокові спеціальні файли.
  • lock (nolock)- Дозволяє блокувати NFS (за замовчуванням). nolock відключає блокування NFS (не запускає демон lockd) і зручна під час роботи зі старими серверами, які не підтримують блокування NFS.
  • mounthost=ім'я- Ім'я хоста, на якому запущено демон монтування NFS – mountd.
  • mountport=n -Порт, використовуваний демоном mountd.
  • port=n- порт, який використовується для підключення до сервера NFS (за замовчуванням 2049, якщо демон rpc.nfsd не зареєстрований на RPC-сервері). Якщо n=0 (за замовчуванням), NFS надсилає запит до portmap на сервері, щоб визначити порт.
  • rsize=n(read block size – розмір блоку читання) - Кількість байтів, що читаються за один раз з NFS-сервера. Стандартно – 4096.
  • wsize=n(Write block size - розмір блоку запису) - Кількість байтів, що записуються за один раз на NFS-сервер. Стандартно – 4096.
  • tcpабо udp- Для монтування NFS використовувати протокол TCP або UDP відповідно.
  • bg- При втрати доступу до сервера, повторювати спроби у фоновому режимі, щоб не блокувати процес завантаження системи.
  • fg- У разі втрати доступу до сервера, повторювати спроби в пріоритетному режимі. Цей параметр може заблокувати процес завантаження системи повторення спроб монтування. Тому параметр fg використовується переважно при налагодженні.

Опції, що впливають на кешування атрибутів під час монтування NFS

Атрибути файлів, що зберігаються в (індексних дескрипторах), такі як час модифікації, розмір, жорсткі посилання, власник, зазвичай змінюються не часто для звичайних файлів і ще рідше - для каталогів. Багато програм, наприклад ls, звертаються до файлів тільки для читання та не змінюють атрибути файлів або вмісту, але витрачають ресурси системи на дорогі мережеві операції. Щоб уникнути непотрібних витрат ресурсів, можна кешувати дані атрибути. Ядро використовує час модифікації файлу, щоб визначити чи застарів кеш, порівнюючи час модифікації в кеші та час модифікації самого файлу. Кеш атрибутів періодично оновлюється відповідно до заданих параметрів:

  • ac (noac) (attrebute cache- кешування атрибутів) - Дозволяє кешування атрибутів (за замовчуванням). Хоча опція noac уповільнює роботу сервера, вона дозволяє уникнути старіння атрибутів, коли кілька клієнтів активно записують інформацію на загальну ієрархію.
  • acdirmax=n (attribute cache directory file maximum- кешування атрибута максимум для файлу каталогу) - Максимальна кількість секунд, що NFS очікує до оновлення атрибутів каталогу (за замовчуванням 60 с.)
  • acdirmin=n (attribute cache directory file minimum- кешування атрибута мінімум для файлу каталогу) - Мінімальна кількість секунд, що NFS очікує до оновлення атрибутів каталогу (за замовчуванням 30 сек.)
  • acregmax=n (attribute cache regular file maximum- кешування атрибуту максимум для звичайного файлу) - Максимальна кількість секунд, що NFS очікує до оновлення атрибутів звичайного файлу (за замовчуванням 60 сек.)
  • acregmin=n (attribute cache regular file minimum- кешування атрибута мінімум для звичайного файлу) - Мінімальна кількість секунд, що NFS очікує до оновлення атрибутів звичайного файлу (за замовчуванням 3 сек.)
  • actimeo=n (attribute cache timeout- таймаут кешування атрибутів) - Замінює значення для всіх наведених опцій. Якщо actimeo не заданий, вищезазначені значення набирають значення за замовчуванням.

Опції обробки помилок NFS

Наступні опції керують діями NFS за відсутності відповіді від сервера або у разі виникнення помилок вводу/виводу:

  • fg (bg) (foreground- передній план, background- задній план) - Робити спроби монтування, що відмовила NFS на передньому плані/у фоні.
  • hard (soft)- виводить на консоль повідомлення "server not responding" при досягненні таймауту та продовжує спроби монтування. При заданій опції soft- при таймууті повідомляє програму про помилку введення/виводу, що викликала операцію. (опцію soft радять не використовувати)
  • nointr (intr) (no interrupt- не переривати) - Не дозволяє сигналам переривати файлові операції в жорстко змонтованій ієрархії каталогів при досягненні великого таймауту. intr- дозволяє переривання.
  • retrans=n (retransmission value- значення повторної передачі) - Після n малих таймаутів NFS генерує великий таймаут (за замовчуванням 3). Великий тайм-аут припиняє виконання операцій або виводить на консоль повідомлення "server not responding", залежно від вказівки опції hard/soft.
  • retry=n (retry value- значення повторно спроби) - Кількість хвилин повторень служби NFS операцій монтування, перш ніж здатись (за замовчуванням 10000).
  • timeo=n (timeout value- значення таймуута) - Кількість десятих часток секунди очікування службою NFS до повторної передачі у разі RPC або малого таймууту (за замовчуванням 7). Це значення збільшується при кожному таймуті до максимального значення 60 секунд або до великого таймууту. У разі зайнятої мережі, повільного сервера або при проходженні запиту через кілька маршрутизаторів або шлюзів, збільшення цього значення може підвищити продуктивність.

Автоматичне монтування NFS при завантаженні (опис файлових систем /etc/fstab)

Підібрати оптимальний timeo для певного значення пакета (значень rsize/wsize), що передається, можна за допомогою команди ping:

FILES ~ # ping -s 32768 archiv PING archiv.DOMAIN.local (10.0.0.6) 32768(32796) bytes of data. 32776 bytes від archiv.domain.local (10.0.0.6): icmp_req=1 ttl=64 time=0.931 ms 32776 bytes from archiv.domain.local (10.0.0.6): icmp_req=2 t6=7 t3 від archiv.domain.local (10.0.0.6): icmp_req=3 ttl=64 time=1.03 ms 32776 bytes from archiv.domain.local (10.0.0.6): icmp_req=4 ttl=64 time=1.00 .domain.local (10.0.0.6): icmp_req=5 ttl=64 time=1.08 ms ^C --- archiv.DOMAIN.local ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rt min/avg/max/mdev = 0.931/1.002/1.083/0.061 ms

Як видно, при відправленні пакета розміром 32768 (32Kb) час його подорожі від клієнта до сервера і назад плаває близько 1 мілісекунди. Якщо цей час зашкалюватиме за 200 мс, то варто задуматися про підвищення значення timeo, щоб воно перевищувало значення обміну в три-чотири рази. Відповідно, цей тест бажано робити під час сильного завантаження мережі

Запуск NFS та налаштування Firewall

Нотатка скопіпсчена з блогу http://bog.pp.ru/work/NFS.html, за що йому велике спасибі!

Запуск сервера NFS, монтування, блокування, квотування та статусу з "правильними" портами (для мережного екрана)

  • бажано попередньо розмонтувати всі ресурси на клієнтах
  • зупинити та заборонити запуск rpcidmapd, якщо не планується використання NFSv4: chkconfig --level 345 rpcidmapd off service rpcidmapd stop
  • якщо потрібно, то дозволити запуск сервісів portmap, nfs і nfslock: chkconfig --levels 345 portmap/rpcbind on chkconfig --levels 345 nfs on chkconfig --levels 345 nfslock on
  • якщо потрібно, то зупинити сервіси nfslock і nfs, запустити portmap/rpcbind, вивантажити модулі service nfslock stop service nfs stop service portmap start # service rpcbind start umount /proc/fs/nfsd service rpcidmapd stop rmmod його треба запустити rmmod nfs rmmod nfs_acl rmmod lockd
  • відкрити порти в
    • для RPC: UDP/111, TCP/111
    • для NFS: UDP/2049, TCP/2049
    • для rpc.statd: UDP/4000, TCP/4000
    • для lockd: UDP/4001, TCP/4001
    • для mountd: UDP/4002, TCP/4002
    • для rpc.rquota: UDP/4003, TCP/4003
  • для сервера rpc.nfsd додати до /etc/sysconfig/nfs рядок RPCNFSDARGS="--port 2049"
  • для сервера монтування додати до /etc/sysconfig/nfs рядок MOUNTD_PORT=4002
  • для налаштування rpc.rquota для нових версій необхідно додати до /etc/sysconfig/nfs рядок RQUOTAD_PORT=4003
  • для налаштування rpc.rquota необхідно для старих версій (тим не менше, треба мати пакет quota 3.08 або свіже) додати до /etc/services rquotad 4003/tcp rquotad 4003/udp
  • перевірить адекватність /etc/exports
  • запустити сервіси rpc.nfsd, mountd та rpc.rquota (заодно запускаються rpcsvcgssd та rpc.idmapd, якщо не забули їх видалити) service nfsd start або в нових версіях service nfs start
  • для сервера блокування для нових систем додати /etc/sysconfig/nfs рядки LOCKD_TCPPORT=4001 LOCKD_UDPPORT=4001
  • для сервера блокування для старих систем додати безпосередньо до /etc/modprobe[.conf]: options lockd nlm_udpport=4001 nlm_tcpport=4001
  • прив'язати сервер статусу rpc.statd до порту 4000 (для старих систем /etc/init.d/nfslock запускати rpc.statd з ключем -p 4000) STATD_PORT=4000
  • запустити сервіси lockd та rpc.statd service nfslock start
  • переконатися, що всі порти прив'язалися нормально за допомогою "lsof -i -n -P" та "netstat -a -n" (частина портів використовується модулями ядра, які lsof не бачить)
  • якщо перед "перебудовою" сервером користувалися клієнти та їх не вдалося розмонтувати, то доведеться перезапустити на клієнтах послуги автоматичного монтування (am-utils, autofs)

Приклад конфігурації NFS сервера та клієнта

Конфігурація сервера

Якщо ви хочете зробити ваш розділений NFS каталог відкритим та з правом запису, ви можете використовувати опцію all_squashу комбінації з опціями anonuidі anongid. Наприклад, щоб встановити права користувача "nobody" у групі "nobody", ви можете зробити таке:

ARCHIV ~ # cat /etc/exports # Доступ на читання та запис для клієнта на 192.168.0.100, з доступом rw для користувача 99 з gid 99 /files 192.168.0.100(rw,sync,all_squash,anongid=9 ) # Доступ на читання та запис для клієнта на 192.168.0.100, з доступом rw для користувача 99 з gid 99 /files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99))

Це також означає, що якщо ви хочете дозволити доступ до зазначеної директорії, nobody.nobody має бути власником розділеної директорії:

man mount
man exports
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/nfs_perf.htm - продуктивність NFS від IBM.

З повагою, Mc.Sim!

Розповідаємо як швидко та просто підняти свій NFSсервер на Ubuntu Linux Server 14-04.1, а також розберемося з принципами роботи протоколу NFS та розглянемо теорію.

Теорія

Абревіатура NFSрозшифровується як Need for Speed ​​- Network File System. Це протокол для доступу до розподілених мережних файлових систем, за допомогою якого можна підмонтувати дистанційні віддалені до свого сервера. Це дозволяє використовувати дискове місце іншого сервера для зберігання файлів і регулярно робити запис даних на нього з декількох серверів.

Протокол має клієнт-серверну модель, тобто один сервер (ще його називають “куля” від слова share), із встановленим пакетом NFS, забезпечуватиме доступ до своїх каталогів та файлів, а клієнтські комп'ютери підключатимуться до нього через мережу. Закріпимо прочитане схемою:

Звертання до сервера NFS здійснюються у вигляді пакетів протоколу RPC(Remote Call Procedure), який дозволяє виконувати різні функції або процедури в іншому мережному просторі, тобто на віддаленому сервері.

Авторизація користувачів, які підключаються до сервера, здійснюється за IP-адресою, а також за спеціальними ідентифікаторами користувача UIDта групи GID. Це не найкращий спосіб щодо безпеки файлів, що зберігаються, у порівнянні з класичною моделлю «логін/пароль». Зате завдяки такій архітектурі і тому, що NFS використовував протокол UDP без встановлення сесії, він практично несприйнятливий до збоїв мережі та самих клієнтських комп'ютерів. Так, за будь-якого збою, передача файлу просто призупиниться, а коли зв'язок буде налагоджено, то передача відновиться без необхідності будь-якої переналаштування.

Налаштування

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

Насамперед, на комп'ютер, який виступатиме в ролі сервера NFS, потрібно встановити необхідні компоненти.

Отже, завантажуємо пакет nfs-kernel-server, за допомогою якого ми зможемо роздати доступ ("розшарити") директорії. Для цього на майбутньому сервері NFS вводимо команди:

Sudo apt-get update sudo apt-get install nfs-kernel-server

Тепер створюємо власне директорію, до якої хочемо роздати доступ. Можна також "розшарити" вже наявні на сервері директорії, але ми створимо нову:

Sudo chown nobody:nogroup /var/nfs

Вводьте цю команду тільки для тих директорій, які створили самі, не треба вводити її для вже наявних директорій, наприклад, /home.

Наступним кроком необхідно змінити конфігурацію самого NFS, вона лежить у файлі /etc/exports, відкриваємо його для редагування улюбленим редактором:

Sudo nano /etc/exports

Перед вами відкриється конфігураційний файл із закоментованими рядками, які містять приклади налаштування для різних версій NFS.

Закоментовані – це ті, на початку яких стоїть символ # і це означає, що параметри, зазначені в них, не мають сили.

Нам необхідно внести в цей файл наступні рядки, що не закоментовані:

/var/nfs 10.10.0.10/24(rw,sync,no_subtree_check)

  • /var/nfs- Директорія, яку ми хочемо розшарувати
  • 10.10.0.10 - IP-адреса та маска клієнтського комп'ютера, якому потрібно роздати доступ до директорії
  • rw- Дозволяє клієнту читати (r) та записувати (w) файли в директорії
  • sync- Цей параметр змушує NFS записувати зміни на диск перед відповіддю клієнту.
  • no_subtree_check- Ця опція відключає перевірку того, що користувач звертається саме до файлу у певному підкаталозі. Якщо ця перевірка увімкнена, то можуть виникнути проблеми, коли, наприклад, назва файлу або підкаталогу було змінено і користувач спробує звернутися до них.

Після цього потрібно створити таблицю відповідності розшарених директорій та клієнтів, а потім запустити NFS сервіс. Для цього вводимо наступні команди.

Поєднання "NFC" (Near field communication - комунікації ближнього поля) все частіше зустрічається в специфікаціях сучасних смартфонів та планшетів. У цій статті ми постараємося розглянути цей інтерфейс з точки зору практичного використання, тому читачі зможуть самостійно зробити висновок про необхідність його наявності у своєму телефоні.

У тестуванні ми використали дві моделі смартфонів, які вже були детально розглянуті на нашому ресурсі: Acer CloudMobile S500 та Sony Xperia acro S. Також хочемо звернути увагу, що більшість інформації, включаючи описані програми та сценарії використання, ставитиметься лише до смартфонів на базі Android. Саме ця операційна система сьогодні найбільш «дружня», коли справа стосується роботи з NFC.

Вступ

На перший погляд може здатися, що численні бездротові інтерфейси сьогодні вже покривають усі можливі популярні завдання та сценарії, тому ще один варіант просто не потрібен. Однак, якщо подивитися на розвиток сучасних технологій, то можна помітити, що все більше уваги приділяється питанням енергоспоживання, особливо якщо йдеться про мобільні пристрої. Зокрема версія 4.0 відомого сімейства протоколів Bluetooth спрямована на зниження витрат заряду батареї. Другий момент, який варто згадати, полягає в тому, що не для кожного завдання потрібна велика дальність роботи. Буває навпаки — хочеться явно обмежити відстань між пристроями, що взаємодіють. Крім очевидного зниження споживання, це також впливає на безпеку. Та й про обсяги даних, що передаються, теж можна зробити аналогічне зауваження. Так що ідея нешвидкого бездротового інтерфейсу, що працює на невеликих відстанях і відрізняється низьким енергоспоживанням, цілком має право на існування.

За початкову точку відліку в історії розвитку NFC можна прийняти 2004, коли Nokia, Philips і Sony оголосили про створення з метою розробки та стандартизації інтерфейсу взаємодії різних пристроїв, заснованого на дотику. Втім, перші версії специфікацій було створено трохи раніше. Мабуть, за сучасними мірками технологію можна вважати дуже молодою (якщо не враховувати історію RFID), проте вона досить часто зустрічається в реальних продуктах і сервісах. Зокрема, на Mobile World Congress 2013, що пройшов наприкінці лютого, цій темі було присвячено багато стендів і демонстрацій.

Такий знак можна зустріти на пристроях із технологією NFC

Формальні характеристики інтерфейсу такі: робота на відстані кількох сантиметрів, максимальна швидкість обміну інформацією близько 400 Кбіт/с, підтримується повнодуплексний обмін даними, робоча частота 13,56 МГц, час встановлення з'єднання не перевищує 0,1 с, режим роботи – точка-точка. Ці параметри кардинально відрізняють NFC від інших популярних бездротових інтерфейсів.

Якщо говорити про пристрої, то крім активних контролерів у NFC існують і пасивні варіанти (вони зазвичай називаються мітками), які отримують бездротовим способом живлення від активного контролера. Одним із прикладів є сучасні карти для проїзду міським транспортом. Мітки є просто сховище даних, обсяг якого зазвичай не перевищує 4 КБ. Найчастіше їм забезпечується лише режим читання, але є варіанти і з підтримкою запису.

Один з найпростіших варіантів пасивної NFC-мітки

Компактний розмір контролера та його низьке споживання дозволяє реалізувати NFC навіть у таких невеликих конструкціях, як SIM-картки або картки пам'яті microSD. Однак для повноцінної роботи потрібне використання спеціальної антени. У телефонах вона зазвичай знаходиться на зворотному боці кришки батарейного відсіку або вбудована в задню панель, якщо апарат не передбачає знімної батареї.

Антену NFC часто розміщують на задній кришці смартфона

Невеликий радіус дії може негативно позначитися при використанні планшетів — знайти потрібне місце для прикладення може бути не так просто, як хотілося б. Для вирішення цієї проблеми деякі виробники позначають місцезнаходження антени спеціальним знаком. Щодо дальності, то в нашому випадку зв'язок працював на відстані не більше чотирьох сантиметрів — як між телефонами, так і з пасивною міткою.

З погляду безпеки, розробники не стали реалізовувати елементи захисту від перехоплення та атаки ретрансляції. Це, звичайно, ускладнює реалізацію безпечних рішень, оскільки вимагає від самих додатків захисту на вищому рівні. Зазначимо, що насправді аналогічно поводиться і такий відомий протокол, як TCP/IP. Так що з практичної точки зору, більш небезпечною є втрата телефону без додаткового захисту з налаштованими програмами платіжних систем, ніж перехоплення комунікацій.

Мабуть, найголовніше, що потрібно сьогодні знати про NFC, те, що сам по собі інтерфейс не дає жодних реальних практичних сценаріїв використання або рішень. На відміну, наприклад, від Bluetooth, профілі якого чітко описують, як передати файл, як підключити гарнітуру або забезпечити мережний доступ, NFC є лише базою, а безпосередні сценарії роботи забезпечуються додатковим програмним забезпеченням, яке працює через нього. З одного боку, це відкриває широкі можливості для розробників, а з іншого — є для них проблемою при забезпеченні взаємодії різних додатків та пристроїв.

Цікаво, що будь-які встановлені на смартфон або планшет програми можуть зареєструватися в операційній системі як обробники подій, пов'язаних з NFC, і тоді при зовнішньому виклику ви побачите стандартне меню «чим ви хочете здійснити цю дію?». Оскільки деякі сценарії використання NFC мають на увазі зручну автоматизацію дій, бажано не перевантажувати пристрій такими утилітами.

Форум NFC намагається допомогти з цією невизначеністю, пропонуючи стандартизувати протоколи для певних сценаріїв (зокрема NDEF для зберігання коротких повідомлень на мітках та SNEP (Simple NDEF Exchange Protocol) для обміну інформацією між пристроями), проте практичне визначення сумісності конкретних пристроїв зазвичай утруднено відсутністю детальної інформації від виробника та засобів діагностики. Ще одним помічником виступає компанія Google, яка запропонувала в останніх версіях Android власну розробку Android Beam. Це дозволяє обмінюватися деякими типами інформації між сумісними пристроями.

Android Beam

Для початку потрібно переконатися, що обидва пристрої мають увімкнений NFC, активний Android Beam, а їх екрани розблоковані. На тих моделях, що ми тестували, NFC працює тільки в тому випадку, якщо екран і пристрій повністю розблоковано. Але можливо, в інших апаратах буде використано інший алгоритм. У будь-якому випадку, активний інтерфейс вимагає для роботи зовсім небагато енергії батареї, і поки що описаний підхід виглядає цілком розумно. Один із варіантів спрощення роботи – відключення екрана блокування. В цьому випадку для розпізнавання мітки буде досить просто увімкнути смартфон. Іншою незручністю є необхідність підтвердження операції торканням екрана після того, як пристрої знайдуть одне одного. Це не завжди просто зробити без порушення зв'язку, тим більше, коли обидва пристрої знаходяться на вазі в руках у двох різних людей.

Наступним кроком треба вибрати один із додатків на апараті, з якого планується передача. Зокрема, це можуть бути:

  • Google Chrome — надсилання поточного відкритого посилання;
  • Клієнт YouTube – передача відеокліпу (у вигляді посилання);
  • Google Maps — надсилання місця або маршруту;
  • Контакти – передача картки контакту;
  • Google Play – передача програми;
  • Галерея – надсилання фотографій.

Далі наближаєте пристрої один до одного. Коли партнер виявиться, почуєте сигнал на пристрої-відправнику, і зображення на робочому столі зменшиться. У цей момент потрібно торкнутися екранної картинки і тримати палець, поки не почуєте другий сигнал про успішну передачу.

Ми спробували вказані у списку варіанти, і практично всі вони справді працюють. Навіть те, що наші пристрої були випущені різними виробниками, не завадило їм порозумітися. Але кілька коментарів таки варто зробити. З маршрутами в Google Maps проблем немає, а варіант з місцем не дуже цікавий, тому що передається тільки поточне відображення карти. Точка ж, позначена на екрані вихідного телефону, не потрапляє до одержувача. Ситуація виправляється використанням програми «Адреса», яка надсилає дані коректно. При надсиланні контактів втрачається фотографія, оскільки з технічного погляду формат передачі відповідає текстовим файлам vcf. Якщо говорити про програми, то відправити можна не лише встановлені на телефоні, але і відкриті картки в Google Play. Аналогічно підтримуються книги та інший контент із магазину. Природно, йдеться про передачу посилань, а не самих завантажених або куплених елементів. З відправкою фотографій виявилася проблема: апарат Sony виявився нездатним працювати з даними такого типу. Офіційне формулювання звучить як "Пристрій отримувача не підтримує передачу великих обсягів даних через Android Beam". Ось вам і перша ознака молодості інтерфейсу або недостатньої деталізації технічних специфікацій пристроїв. Формально ми маємо у двох апаратах і NFC, і Android Beam, а на практиці їх реальні можливості суттєво відрізняються, і дізнатися про це можна лише в результаті перевірки. Що вже казати про менш відомих виробників - їх варіант реалізації цієї технології може бути абсолютно непередбачуваним.

До речі, щодо самої роботи Android Beam. В описі технології вказується, що для передачі даних використовується встановлення зв'язку Bluetooth після початкового узгодження налаштувань NFC. Враховуючи, що всі працюючі формати передбачали дійсно невеликий обсяг даних, для них цілком вистачало і швидкості NFC, а ось для фотографій його було б явно мало. Так що можна припустити, що в Sony і не реалізовано перемикання на більш швидкісний інтерфейс. Зрозуміти, чи є ця проблема програмною (нагадаємо, що на цьому пристрої встановлено Android 4.0.4) або апаратною, неможливо.

Ми спробували також надіслати власну музику та відео аналогічно з відповідних додатків, але на приймачі нічого не з'являлося.

Читання та запис міток

Описаний Android Beam використовує можливість передачі та обробки коротких інформаційних повідомлень. Однак насправді їх можна не лише передавати з телефону, а й зчитувати з пасивних міток. У певному сенсі ця технологія аналогічна відомим QR-кодам, які зчитуються фотокамерою телефону. При цьому корисна інформація (наприклад, посилання на сторінку сайту) займає кілька десятків байт. Мітки можуть використовуватись компаніями, наприклад, для просування своїх товарів або послуг. Враховуючи компактний розмір пасивної мітки (точніше, порівнянну з листом паперу товщину — через антену площа буде все-таки значною, не меншою за п'ятирублеву монету), вона може бути розміщена практично в будь-якому місці: на коробці з товаром, в журналі, на інформаційній стійці та інших місцях.

Пасивні мітки NFC можуть бути виготовлені у вигляді брелків

Якщо ж говорити про власноручне виготовлення міток, то це цілком здійсненний сценарій. Для цього потрібно придбати чисті заготовки та за допомогою спеціальної програми для телефону записати на них необхідну інформацію. Для прикладу ми купили кілька різних варіантів: наклейку мінімальної товщини, захищений кружечок із пластику та брелоки. Всі вони мали зовсім невеликий обсяг пам'яті - всього 144 байти (на ринку присутні варіанти і на 4 КБ). Число циклів перезапису не було вказано, але для більшості сценаріїв застосування цей параметр не є критичним. Для роботи з мітками можна рекомендувати програми NXP Semiconductors - TagInfo та TagWriter.

Перша дозволить вам рахувати дані з мітки та розшифрувати інформацію за стандартом NDEF, а друга допоможе створити власні мітки. При цьому підтримуються кілька подваріантів NDEF: контакт, посилання, текст, SMS, поштове повідомлення, телефонний номер, Bluetooth, географічне розташування, посилання на локальний файл, запуск програми, URI. Зверніть увагу, що при створенні запису потрібно враховувати обсяг даних, що зберігаються. Наприклад, фотографія контакту може займати кілька кілобайт, повідомлення або текст також можуть вийти за 144 байти. До речі, програма NFC TagInfo компанії NFC Research Lab зі спеціальним плагіном може прочитати та показати вам кольорову фотографію із біометричного паспорта. При обсязі даних півтора десятка кілобайт їх читання по NFC займає близько 20 секунд. Додатковий рівень захисту у разі забезпечується необхідністю вказівки деяких реквізитів паспорта для читання даних із чіпа.

Зазначимо, що автоматичне оброблення лічених міток залежить від контенту. Зокрема, іноді потрібні додаткові підтвердження для здійснення дії. Наприклад, у разі SMS відкривається заповнена форма повідомлення, але власне надсилання повинен підтвердити користувач. А ось записане web-посилання може одразу відкриватися у браузері. Будь-яка автоматизація пов'язана з втратою контролю, так що й описані можливості варто застосовувати обережно, оскільки простою заміною або перепрограмування міток зловмисники можуть перенаправити вас на підставний сайт замість оригінального. Штатних налаштувань ОС для обмеження подібного автозапуску ми не виявили (якщо не відключити сам NFC).

Ще один важливий момент при використанні міток у публічних місцях – захист від перезапису. Під час запису мітки ви можете поставити прапорець захисту, який блокуватиме всі спроби зміни інформації, але зняти його буде вже неможливо. Так що мітка надалі використовуватиметься в режимі «тільки для читання». Для домашнього застосування це здебільшого не дуже критично.

Згадаємо ще кілька програм для запису тегів:

Використання готових міток для керування пристроєм

Одним із активних учасників процесу впровадження NFC є компанія Sony. У її апаратах встановлено програму Smart Connect, що підтримує роботу з оригінальними мітками Sony. За бажанням із використанням утиліти SmartTag Maker ви можете створити їх самостійно із чистих заготовок. Для роботи системи використовується формат NDEF URI з кодуванням номера/колір мітки в текстовому посиланні. Усього система передбачає до восьми міток, які позначені як «будинок», «офіс», «машина», «спальня», «слухати», «грати», «активності», «дивитися».

Варіант оригінальних тегів Sony SmartTags

Сама програма Smart Connect працює не тільки з NFC-мітками, але і з іншими пристроями, що підключаються до телефону, включаючи гарнітури, блок живлення, пристрої Bluetooth. Досить зручно, що штатні налаштування вже непогано відповідають зазначеним вище сценаріям. При цьому користувач може перепрограмувати усі схеми; у кожній з них вказується набір із умови та дій.

Як умову можна використовувати розпізнання мітки або підключення пристрою, додатково можна обмежити час роботи схеми. Набір дій досить широкий, до нього входять запуск програми, відкриття посилання в браузері, запуск музики, регулювання гучності та режиму, підключення аудіопристрою Bluetooth, відправлення SMS, дзвінок, управління бездротовими інтерфейсами, регулювання яскравості та інші дії. Причому їх можна призначити і на вихід з даного режиму, який здійснюється за повторним розпізнаванням мітки, за новою подією/міткою або після закінчення зазначеного тимчасового інтервалу.

Але насправді не обов'язково використовувати фірмові мітки Sony - можна знайти застосування і готовим міткам, які не допускають перезапису інформації. Наприклад, це можуть бути використані транспортні картки. Справа в тому, що кожна з них має свій унікальний ідентифікатор, який можна прив'язати до певних дій спеціальними програмами. Як можливу реакцію можуть виступати такі операції, як зміна профілю, включення/вимкнення інтерфейсів та безліч інших.

У магазині Play Store є кілька утиліт для цього сценарію, згадаємо пару з них:

Нагадаємо, що не варто встановлювати одразу кілька таких програм. Зручності такого режиму не додасться, оскільки при виявленні мітки на екрані телефону виникатиме діалогове вікно з вибором програми для її обробки.

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

Нагадаємо, що зараз читання мітки здійснюється лише при розблокованому апараті. Так що сценарій «прийшов додому, поклав телефон на тумбочку – автоматично переключив профіль, відключив дзвінок та Bluetooth, налаштував будильник» вимагатиме від користувача деяких дій. Така поведінка таки трохи обмежує можливості програм.

Обмін інформацією між пристроями

За винятком Android Beam, описані вище сценарії припускають роботу одного телефону з міткою або спеціалізованим терміналом. Якщо ж говорити про прямий зв'язок апаратів між собою, то основне питання тут сумісність. Звичайно, у випадку продуктів одного виробника, особливо великого, той має можливість просто встановити в прошивку відповідну програму. Але якщо апарати випущені різними виробниками, доведеться всім використовувати однакові утиліти. І зовсім не факт, що у вашого партнера буде встановлена ​​така ж програма, як у вас.

Враховуючи, що власна швидкість NFC дуже мала, для швидкої передачі файлів зазвичай використовується Bluetooth або Wi-Fi, а NFC працює лише на етапі узгодження параметрів підключення та встановлення зв'язку. Для перевірки цього сценарію ми спробували на наших пристроях кілька програм передачі файлів із заявленою підтримкою NFC.

Send! File Transfer (NFC) у безкоштовній версії дозволяє обмінюватися файлами фотографій, музики та відео. Для встановлення зв'язку можна використовувати NFC або QR-коди. Передача здійснюється через Bluetooth або Wi-Fi (у випадку, якщо обидва пристрої мають підтримку Wi-Fi Direct , якої у телефоні Sony не виявилося). У результаті нам вдалося побачити швидкість на рівні 65 КБ/с, що, звісно, ​​замало навіть для фотографій.

Blue NFC, як відомо з назви, також спрощує обмін файлами по Bluetooth, замінюючи етапи включення, пошуку та сполучення на дотик з обміном інформацією NFC. Швидкість роботи не дуже велика — на рівні згаданої вище програми.

File Expert HD також використовує Bluetooth, але швидкість становить 100-200 КБ/с. Правда, задля справедливості варто зазначити, що в цій програмі є і багато інших режимів обміну файлами.

Висновок

Станом на весну 2013 можна сказати, що технологія NFC вже впевнено займає місце в сучасних смартфонах топового і середнього рівня. Побічно інтерес до неї можна оцінити за кількістю програм у Play Store: одних лише безкоштовних проектів є вже кілька сотень. З огляду на домінування на ринку (особливо за кількістю моделей) платформи Android, саме вона є сьогодні найпопулярнішою для NFC-пристроїв. У iOS штатних коштів для NFC не передбачено, а Windows Phone 8 має суттєво обмежені можливості роботи з NFC для сторонніх програм.

Сама по собі технологія NFC має кілька особливостей, що дозволяють їй зайняти унікальне становище:

  • безконтактна передача даних;
  • робота лише на невеликих відстанях;
  • можливість обміну інформацією з іншими пристроями чи пасивними мітками;
  • низька вартість рішення;
  • низьке енергоспоживання;
  • низька швидкість передачі.

На даний момент для смартфонів і планшетів можна відзначити три найбільш актуальні варіанти використання NFC: обмін даними між пристроями (контакти, програми, посилання, фотографії та інші файли), читання міток зі спеціальною інформацією та зміна режимів/налаштувань/профілів пристрою, швидке сполучення з периферійними пристроями (наприклад, гарнітури). У першому випадку можна спробувати працювати зі стандартною програмою Android Beam або встановити альтернативні варіанти. Вони можуть бути корисними за необхідності високої швидкості обміну (по Wi-Fi), але вимагають наявності однакової програми на кожному пристрої.

Пасивні мітки можуть використовуватися практично скрізь - від плакатів до журналів та бірок на товарах. У них можна записати інформацію про продукт, посилання на сайт, налаштування Wi-Fi, контактні дані, географічні координати або інший невеликий обсяг даних. Поширення такого способу обміну інформацією залежить від кількості сумісних пристроїв у користувачів. Цей сценарій можна порівняти з поширеними кодами QR, які сьогодні, мабуть, простіше з точки зору реалізації і більш популярні.

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

Ми не розглядали в цій статті такі сценарії використання NFC, як платіжні системи, електронні гаманці та мікроплатежі, квитки та купони, транспортні картки та пропуски. Ці теми, особливо перша, заслуговують на окремий розгляд. Ми постараємося повернутися до них за наявності читацького інтересу та поширення подібних рішень.

NFS (Network File System)— мережний протокол доступу до доступу до файлів та файлової системи NFS-сервера, популярний у сімействі ОС Linux/UNIX, а також різних системах зберігання. Microsoft також, не бажаючи відставати від конкурентів, запровадила базовий функціонал NFS сервера ще Windows Server 2003 R2. У наступних версіях серверних платформ Microsoft можливості вбудованого NFS Windows сервера розширювалися, з'являвся новий функціонал та засоби управління. NFS сервер у Windows Server 2012 – чергова віха у розвитку даної технології.

Що нового пропонують розробники Microsoft в даному продукті? Нові можливості NFS сервера у Windows Server 2012:

  1. Підтримка стандарту NFS v4.1. Підтримка останньої версії NFS 4.1 – одна з основних нововведень Windows Server 2012. У порівнянні з NFS v3 цей протокол забезпечує підвищену безпеку, продуктивність та сумісність, повністю реалізуючи всі аспекти RFC 5661.
  2. Продуктивність "з коробки".Завдяки використанню нової транспортної інфраструктури RPC-XDR, оптимальна продуктивність сервера NFS може бути досягнута відразу «з коробки» без необхідності тонкого налаштування параметрів системи. Оптимальна продуктивність досягається за рахунок кешу, що автоматично налаштовується, поділу робочих процесів на пули і динамічне управління пулами, засноване на їх навантаженні.
  3. Спрощене розгортання та управління. Цей факт досягнуто за рахунок:
    • — більше 40 командлетів PowerShell для налаштування сервера NFS та керування спільними папками
    • - простого графічного інтерфейсу управління, що дозволяє одночасно керувати як SMB, так і NFS кулями, а також налаштуваннями скринінгу файлів та .
    • — фіксації RPC порту (порт 2049) для простоти налаштування фаєрволів
    • нового провайдера WMI v2
    • - Спрощена ідентифікація за рахунок плоского файлу мапінга
  4. Поліпшення в NFSv3. За рахунок швидкого надсилання клієнтам повідомлень про збої монітором NSM (Network Status Monitor), старі NFS клієнти краще та швидше обробляють процедуру failover, що означає менший час простою.

Отже, NFS сервер у Windows Server 2012 значно покращено з погляду простоти розгортання, масштабованість, стабільність, доступність, надійність, безпеку та сумісність. Загальні папки можуть бути доступні одночасно за протоколами SMB і NFS, що означає можливість використання Windows Server 2012 як сховища в гетерогенних мережах.

NFS сервер у Windows Server 2012 можна встановити за допомогою GUI та Powershell. Щоб встановити NFS сервер за допомогою графічного інтерфейсу, відкрийте та всередині ролі файлового сервера (File and Storage Services) позначте компонент Server for NFS.

Після завершення встановлення компонента NFS, сервер необхідно перезавантажити.

Встановлення цієї ролі за допомогою Powershell також не викликає труднощів, просто виконайте команду:

Add-WindowsFeature "FS-NFS-Service"

Налаштування спільної папки NFS у Windows Server 2012

Далі ми покажемо, як за допомогою встановленої нами ролі створити NFS кулі (загальну папку) на сервері Windows. Створити NFS кулі можна знову кількома способами: за допомогою графічного інтерфейсу або Powershell.

Створення загального каталогу NFS за допомогою консолі Server Manager

Відкрийте консоль Server Manager, перейдіть до розділу Share management(перебуває всередині ролі File and Storage Services).
У контекстному меню запустіть майстер створення нового загального каталогу. New Share…

Виберіть тип кулі NFSShare -Quick

Потім необхідно задати тип аутентифікації NFS клієнтів: можливо, задіяти як аутентифікацію Kerberos, так і анонімну.

Припустимо, як споживача створюваного NFS ресурсу виступатиме сервер віртуалізації ESXi, у якому можливість аутентифікувати NFS з'єднання відсутня (ESXi не підтримує NFSv4). Тому тип аутентифікації буде No Server Authentication, відзначимо також опції Enable unmapped user accessі Allow unmapped user access by UID/GID.

Щоб трохи убезпечити створювану NFS кулі від доступу сторонніх осіб, обмежимо доступ до NFS ресурсу за адресою IP клієнта.

Host: 192.168.1.100
Language Encoding: BIG5
Share Permissions: Read/Write
Allow root access: Yes

Далі залишилося перевірити, що на рівні NTFS користувач, у якого працює підключається користувач, має доступ на читання / запис (якщо вирішено використовувати анонімний доступ, доведеться для користувача Everyone дати повні r / w права на рівні NTFS).

Як створити NFS кулі за допомогою Powershell

Створимо нову NFS кулі:

New-NfsShare -Name "NFS" -Path "d:\shares\nfr" -AllowRootAccess $true -Permission Readwrite -Authentication sys

Дозволимо доступ до кулі для IP адреси 192.168.1.100 і задамо кодування BIG5 (можливість перегляду вмісту NFS кулі для клієнта ESXi).

Grant-NfsSharePermission -Name “NFS” -ClientName 192.168.1.100 -ClientType host -LanguageEncoding BIG5

Створену NFS кулю можна використовувати, наприклад, як NFS-datastore у середовищі віртуалізації, або для доступу до даних з інших Unix-like клієнтів. Як змонтувати NFS кулі у Windows – клієнтах описано у статті.

Кожен знає, що в UNIX-системах файлова система логічно є набір фізичних файлових систем, підключених до однієї точки. Одна з основних принад такої організації, на мій погляд, полягає в можливості динамічно модифікувати структуру існуючої файлової системи. Також завдяки зусиллям розробників ми на сьогоднішній день маємо можливість підключити ФС практично будь-якого типу і будь-яким зручним способом. Говорячи «спосібом», перш за все хочу підкреслити можливість роботи ядра ОС з файловими системами за допомогою мережевих з'єднань.

Багато мережевих протоколів надають нам можливість роботи з віддаленими файлами, будь то FTP, SMB, Telnet або SSH. Завдяки можливості ядра, зрештою, не залежати від типу ФС, що підключається, ми маємо можливість за допомогою програми mount підключати що завгодно і як завгодно.

Сьогодні мені хочеться розповісти про NFS - Network File System. Ця технологія дозволяє підключати окремі точки ФС на віддаленому комп'ютері файлової системи локального комп'ютера. Сам протокол NFS дозволяє виконувати операції з файлами досить швидко, безпечно та надійно. А що нам ще потрібне? :-)

Що необхідно для того, щоб це працювало

Щоб довго не розголошувати на тему версій NFS та їх підтримку в різних ядрах, відразу зробимо припущення, що версія вашого ядра не нижче 2.2.18. В офіційній документації розробники обіцяють повну підтримку функціоналу NFS версії 3 у цьому ядрі та пізніших версій.

Встановлення

Для запуску сервера NFS в моїй Ubuntu 7.10 - the Gutsy Gibbon потрібно встановити пакети nfs-common і nfs-kernel-server. Якщо потрібен тільки клієнт NFS, то nfs-kernel-server встановлювати не потрібно.

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

Після того, як всі пакети успішно встановлені, необхідно перевірити, чи запущено демон NFS:

/etc/init.d/nfs-kernel-server status

Якщо демон не запущено, його потрібно запустити командою

/etc/init.d/nfs-kernel-server start

Після того, як все успішно запустилося, можна розпочати експорт файлової системи. Сам процес дуже простий і займає мінімум часу.

Основний файл конфігурації NFS-сервера розташовується в /etc/exports і має такий формат:

Directory machine1(option11,option12) machine2(option21,option22)

directory- Абсолютний шлях до каталогу ФС сервера, до якого потрібно дати доступ

machineX— DNS-ім'я або IP-адреса клієнтського комп'ютера, з якого дозволяється доступ

optionXX— параметри експорту ФС, які найчастіше використовуються з них:

  • ro— доступ до файлів дозволяється лише для читання
  • rw— доступ надається на читання/запис
  • no_root_squash— за замовчуванням, якщо ви підключаєтеся до ресурсу NFS від імені root, сервера, безпеки заради, на своїй стороні буде звертатися до файлів від імені користувача nobody. Однак, якщо включити цю опцію, то звернення до файлів на стороні сервера буде здійснюватись від імені root. Акуратніше з цією опцією.
  • no_subtree_check— за замовчуванням, якщо ви на сервері експортуєте не весь розділ, а лише частину ФС, демон перевірятиме, чи є файл, який був фізично розміщений на тому ж розділі, чи ні. У випадку, якщо ви експортуєте весь розділ або точка підключення ФС, що експортується, не зачіпає файли з інших фізичних томів, то можна включити цю опцію. Це дасть вам збільшити швидкість роботи сервера.
  • sync— вмикайте цю опцію, якщо є можливість раптового обриву зв'язку або відключення живлення сервера. Якщо ця опція не увімкнена, то дуже підвищується ризик втрати даних при раптовій зупинці сервера NFS.

Отже, скажімо, нам потрібно дати доступ комп'ютера ashep-desktop до каталогу /var/backups комп'ютера ashep-laptop. Доступ до каталогу потрібний для копіювання резервних копій файлів з ashep-desktop. У мене файл вийшов наступним:

/var/backups ashep-desktop(rw,no_subtree_check,sync)

Після додавання рядка в /etc/exports необхідно перезапустити сервер NFS для набрання чинності.

/etc/init.d/nfs-kernel-server restart

От і все. Можна розпочинати підключення експортованої ФС на клієнтському комп'ютері.

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

На клієнтській стороні віддалена файлова система монтується так само, як і решта — командою mount. Також ніхто не забороняє вам використовувати /etc/fstab у випадку, якщо підключати ФС потрібно автоматично при завантаженні ОС. Отже, варіант з mount виглядатиме так:

Mount -t nfs ashep-laptop:/var/backups/ /mnt/ashep-laptop/backups/

Якщо все пройшло успішно і вам необхідно виконувати підключення до віддаленої ФС автоматично при завантаженні - просто додаємо рядок /etc/fstab:

Ashep-laptop:/var/backups /mnt/ashep-laptop/backups nfs auto 0 0

Що ще

Ось і вийшов практичний, маленький огляд можливостей NFS. Звичайно, це лише мала частина того, що вміє NFS. Цього достатньо для використання вдома або у невеликому офісі. Якщо ж вам цього недостатньо, рекомендую насамперед прочитати

Поділитися