Записка про установку и настройку NFS - сетевой файловой системы на сервере с установленным CentOS 7.
NFS позволяет использовать файлы или каталоги удаленной рабочей машины, так, как будто они находятся на локальной машине. То есть, можно дать доступ к каталогу на сервере, чтобы другие машины сети, могли туда записывать свои данные или считывать их. Прямой конкурент NFS, это наша Samba :)
В большинстве Linux дистрибутивов, NFS сервер и клиент устанавливаются при установке ОС как базовые компоненты. Эти службы при этом не ставятся в автозагрузку. Так например было в CentOS 6.
Седьмая версии CentOS в отличии от шестой требует самостоятельной установки службы NFS сервера, как и клиента.
Немного про NFS на дистрибутиве CentOS 7:
Раньше в версии CentOS 6 и ниже, использовалась версия протокола NFS v3. В CentOS 7, используется версия 4.1. В которой были произведены координальные усовершенствия, как pNFS - параллельное обращение к опубликованному ресурсу, чего не было в старых версиях.
Краткое содержание записки:
1. Установка NFS
2. Настройка NFS
3. Запуск служб и автозагрузка
4. Проверка работы
5. Подключение NFS шары в Windows XP
1. Установка NFS
# yum install nfs-utils -y
2. Запуск служб и автозагрузка
Ставим службы rpcbind и nfs сервер в автозагрузку:
# systemctl enable rpcbind nfs-server
Запускаем службы:
# systemctl start rpcbind nfs-server
3. Настройка NFS
Допустим мы хотим опубликовать каталог /home. Для это берем, редактируем файл /etc/exports
# vi /etc/exports
/home 10.0.10.20(rw,no_root_squash)
Здесь:
/home - каталог который мы делаем общедоступным
10.0.10.20 - доступ к каталог /home имеет машина с IP адресом 10.0.10.20, можно ввести целую подсеть 10.0.10.0/24 или дать доступ всем указав символ звездочки - *. А также можно указывать NIS группы, например @nisgroup8.
rw - каталог доступен для чтения и записи
no_root_squash - права доступа предоставляются из под учетной записи root
Демон nfs-server автоматически перечитывает файл /etc/exports, но бывает, что надо в ручную запуск перечитывание конфига командой:
# exportfs -r
Команда exportfs показывает что ресурс опубликован:
# exportfs
/home 10.0.10.20
Здесь опция -r означает read - прочитать заново конфиг /etc/exportfs.
Если при вводе появляется ошибка - Function not implemented
exportfs: 10.0.10.20:/home: Function not implemented
Значить, не запущены службы rpcbind и nfs-server.
4. Проверка работы
Проверим работу, возьмем один сервер с CentOS 7, настроим на нем доступ к NFS серверу. Допустим что у этого ПК адрес 10.0.10.20, у сервера 10.0.10.10.
Устанавливаем nfs клиент:
# yum install nfs-utils -y
На машине Linux с IP адресом 10.0.10.20 создадим каталог:
# mkdir /mnt/nfs
Примонтируем общий каталог:
# mount -t nfs 10.0.10.10:/home /mnt/nfs
Здесь:
-t nfs - опция которая указывает на файловую систему NFS
10.0.10.10 - сервер где опубликован каталог
/home - сам опубликованный каталог
/mnt/nfs - указываем локальную точку монтирования
Проверяем примонтировался ли ресурс:
10.0.10.10:/root on /mnt/nfs type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.0.10.11,local_lock=none,addr=10.0.10.10)
Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 6.7G 1.2G 5.6G 17% /devtmpfs devtmpfs 488M 0 488M 0% /devtmpfs tmpfs 497M 0 497M 0% /dev/shmtmpfs tmpfs 497M 6.6M 491M 2% /runtmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup/dev/sda1 xfs 497M 119M 379M 24% /boot10.0.10.10:/root nfs4 6.7G 1.7G 5.1G 25% /mnt/nfs
5. Подключение NFS шары в Windows XP
На Windows XP, нужен SFU (Windows Services for UNIX Version 3.5) - http://www.microsoft.com/en-us/download/details.aspx?id=274
6. Подключение NFS шары в Windows 7 Pro
Скачиваете архив nfs_client.7z по ссылке:
Внутри архива 4 файла:
Устанавливаете последовательно:
1. DokanInstall_0.6.0.exe
2. Microsoft .NET Framework 4 Framework_x86_x64
3. NekoDrive_x86.msi
4. Лишний файл setup.exe можете не запускать - это тоже NekoDriver
5. Запускаете из меню Пуск - Neko Drive
Нажимаете Connect и внизу Mount.
В Windows 7 Enterprise, Windows 2008 есть родная поддержка NFS: https://www.microsoft.com/en-us/download/details.aspx?id=2391
7. NFS сервер на Windows
Чтобы создать NFS папку на клиентской Windows и отдавать ее клиентам, понадобится утилита https://sourceforge.net/projects/winnfsd/
С помощью WinNFSd мы добавляем серверную службу NFS на Windows компьютер. Жалко конечно что папки на русском не поддерживаются.
Пример использования:
Расшариваем папку D:\ISO
WinNFSd.exe d:\ISO
На Linux машине
mount -v -t nfs 192.168.10.139:/D/ISO /mnt/nfs -o nfsvers=3
На Windows сервер необходимо установить компоненту NFS в разделе файловый сервер (службы).