Наводжу інструкцію з встановлення та налаштування NFS (Network File System). NFS - це мережева файлова система, за допомогою якої можна звертатися до файлів і каталогів віддаленого комп'ютера (сервера), як ніби ці файли і каталоги були локальними. Головною перевагою такої системи є те, що окремо взяті робочі станції можуть використовувати менше власного дискового простору, так як спільно використовуються дані зберігаються на окремій машині (сховище даних) і доступні для інших машин в мережі. NFS - це клієнт-серверний додаток, де роль сховища покладається на сервер. Кожен учасник мережі - це NFS-клієнт, який монтує мережевий диск сервера у себе в файлової системі.
У ролі сервера візьмемо Ubuntu 12.04.
В якості клієнтів будемо використовувати і тестувати Centos і Winows 7.
Master server: 192.168.2.213 (Ubuntu)
Clients: 192.168.2.72 (Centos), 192.168.2.180 (Windows)
Для початку потрібно налаштувати сервер. Так як ми будемо використовувати Ubuntu в ролі сервера, потрібно встановити відповідний пакет
Після установки потрібного пакети у нас створилися два файли конфігурацій. З балки установки:
У першому файлі описаний user (створений при установці пакету) та group. для участі в mapping-e (ідентифікації користувачів).
Як ми знаємо, в Linux кожен файл належить конкретному користувачеві, у якого є свій (UID, GID), але у Windows системах схема трохи інша. І в зв'язку з цим був придуманий механізм mapping, який робить трансляцію різних користувачів з різних ОС в зрозумілий для файлової системи Linux вид.
Другий файл потрібен для настройки ідентифікації Kerberos та налаштування нестандартного порту, на якому буде слухатися демон. Він поки нам не потрібен. Про налаштування Kerberos мова піде в наступній статті.
Тепер продовжимо налаштування.
Всі директорії для шаринга потрібно прописувати в файлі / etc / exports. Для початку створимо 2 папки в домашній директорії і закинемо в них файли. Дерево каталогів і файлів для експорту:
Тепер потрібно присвоїть користувача і групу для цих каталогів (беремо з файлу /etc/idmapd.conf).
Для початку зробимо експорт директорії nfs_dir1 для конкретного IP. Редагуємо файл / etc / exprots.
Тут наведено мінімальний набір опцій для коректної роботи сховища з ОС Windows.
- rw -Читання / запис (може приймати значення ro-тільки читання);
- no_root_squash - за замовчуванням користувач root на клієнтській машині не матиме доступу до поділюваного директорії сервера. Цією опцією ми знімаємо це обмеження. З метою безпеки цього краще не робити;
- sync - синхронний режим доступу (може приймати зворотне значення - async);
- noaccess - забороняє доступ до зазначеної директорії. Може бути корисною, якщо перед цим ви задали доступ всім користувачам мережі до певної директорії, і тепер хочете обмежити доступ в піддиректорії лише деяким користувачам.
- all_squash - має на увазі, що всі підключення будуть виконуватися від анонімного користувача (потрібно для Windows клієнта)
- anonuid = 1000 - прив'язує анонімного користувача до «місцевим» користувачеві;
- anongid = 1000 - прив'язує анонімного користувача до групи «місцевого» користувача.
- no_subtree_check (subtree_check) -якщо експортується підкаталог файлової системи, але не вся файлова система, сервер перевіряє, чи знаходиться запитаний файл в експортованому підкаталозі. Відключення перевірки зменшує безпеку, але збільшує швидкість передачі даних.
- Зазвичай, Linux (та інші Unix-подібні операційні системи) резервують TCP і UDP порти від 1-1023 (так звані безпечні порти) для використання процесами користувача root. Щоб упевнитися, що саме root ініціював віддалене підключення NFS, сервер NFS зазвичай вимагає, щоб віддалені клієнти використовували безпечні порти. Ця угода, однак, не дотримується деяких операційних системах (наприклад Windows). У таких випадках опція insecure дозволяє клієнту NFS використовувати будь-який порт TCP / UDP. Зазвичай вона потрібна при обслуговуванні клієнтів Windows.
Всі доступні опції і синтаксис запису хостів, груп хостів і т.п. можна почитати в мануалі
Далі потрібно застосувати настройки
Тепер перевіряємо що у нас експортувалося.
Налаштування Windows клієнта
Якщо не було повідомлень про помилку. Можна приступити до монтування на клієнтській стороні.
Для початку, потрібно додати сервіс (службу-клієнта) NFS. Для цього переходимо в Пуск -> Панель управління -> Програми та засоби і натискаємо на пункт меню зліва Включення або відключення компонентів Windows. У вікні, що з'явилося вибираємо Клієнт для NFS і тиснемо ОК (рис. 1).
Далі потрібно змонтувати диск. Для цього можна використовувати командний рядок або ж просто натиснути правою кнопкою миші на Мій комп'ютер і вибрати Підключення мережевого диска. І ввести рядок \\ 192.168.2.213 \ home \ alex \ nfs_dir1. Це IP сервера і шлях до папки (рис. 2).
Якщо все ок, ми побачимо диск (рис. 3).
Те ж можна виконати, використовуючи командний рядок (рис. 4).
Ви не зможете підключити мережевий NFS диск до Windows OS (рис. 5), якщо
1. Не встановлений клієнт NFS
2. Чи включений (не налаштований) фаервол
3. Ні мережевого доступу до сервера
4. Невірно введені параметри монтування
5. Не налаштований (не застосовано налаштування) експорт на сервері.
6. Додати опцію insecure в настройках експорту
Малюнок 5 - Помилка підключення мережевого NFS диска
Ви не зможете додати файл в змонтовану файлову систему (рис. 6). якщо:
1. На сервер не виставлені права на папку (nobody: nogroup)
2. Не виставлена опція all_squash в настройках експорту
3. Не виставлена опція rw в настройках експорту
Малюнок 6 - Помилка при додаванні файлу на NFS диска
Налаштування Centos клієнта
Налаштування линукс систем досить проста і безболісна. Потрібно просто встановити потрібний пакет і змонтувати диск. Для Centos потрібні такі пакети
Далі створюємо папку і монтуємо NFS розділу
В даному випадку ми можемо додавати будь-який файл і директорію в змонтовану nfs_dir1 папку від імені будь-якого користувача системи (all_squash). Але якщо ми змонтуємо другу папку nfs_dir2, то в неї може записувати ТІЛЬКИ root, так як там стоїть опція no_root_squash. Перевіряємо.
Можливі прапори монтування.