NFS (Network File System) в основном разработана для совместного использования файлов и папок между Linux/Unix систем от компании Sun Microsystems в 1980 году. Она позволяет монтировать локальные файловые системы по сети и удаленных хостов, для взаимодействия с ними так, как будто они установлены локально на той же системе. С помощью NFS, мы можем настроить общий доступ к файлам между Unix в Linux системе и Linux для системы Unix.
Cервис System V-launched. Серверный пакет NFS включает в себя три средства, входящие в состав пакетов portmap и nfs-Utils.
Для настройки монтирования NFS, мы будем нуждаться по крайней мере, в двух машинах Linux/Unix. Вот в этом учебнике, мы будем использовать два сервера.
Нам нужно установить пакеты NFS на нашем сервере NFS, а также на машине клиента NFS. Мы можем установить его с помощью “yum” (Red Hat Linux) и установочный пакет “apt-get” (Debian и Ubuntu).
[root@nfsserver ~]# yum install nfs-utils nfs-utils-lib [root@nfsserver ~]# yum install portmap (not required with NFSv4)
[root@nfsserver ~]# apt-get install nfs-utils nfs-utils-lib
Теперь запустите службы на обеих машинах.
[root@nfsserver ~]# /etc/init.d/portmap start [root@nfsserver ~]# /etc/init.d/nfs start [root@nfsserver ~]# chkconfig --level 35 portmap on [root@nfsserver ~]# chkconfig --level 35 nfs on
После установки пакетов и запуск сервисов на обеих машинах, нам нужно настроить обе машины для совместного использования файлов.
Сначала настроим сервер NFS.
Для обмена каталог с NFS, нам нужно сделать запись в файл конфигурации “/etc/exports”. Здесь мы будем создавать новый каталог с именем “nfsshare” в разделе “/” для обмена с сервером клиента, вы также можете поделиться уже существующим каталогом с NFS.
[root@nfsserver ~]# mkdir /nfsshare
Теперь нам нужно сделать запись в “/etc/exports” и перезапустить службы, чтобы сделать наш каталог разделяемыми в сети.
[root@nfsserver ~]# vi /etc/exports /nfsshare 192.168.0.60(rw,sync,no_root_squash)
В приведенном выше примере, есть каталог, в разделе / под названием “nfsshare“, в настоящее время совместно с клиентом IP “192.168.0.60” с привилегиями чтения и записи (RW), вы можете также использовать имя хоста клиента вместо IP в приведенном выше примере.
Некоторые другие варианты мы можем использовать в файлы “/etc/exports” для совместного использования файлов выглядит следующим образом.
Для большего количества вариантов с “/etc/exports“, рекомендуется прочитать страницы руководства для экспорта.
После настройки NFS-сервера, нам необходимо смонтировать этот общий каталог или раздел на клиентском сервере.
Теперь на клиенте NFS, нам нужно смонтировать этот каталог для доступа к нему на местном уровне. Для этого, во-первых, мы должны выяснить, какие ресурсы доступны на удаленном сервере или сервере NFS.
[root@nfsclient ~]# showmount -e 192.168.0.55 Export list for 192.168.0.55: /nfsshare 192.168.0.60
Командой показывает, что каталог с именем “nfsshare” доступна на “192.168.0.55” , чтобы поделиться с вашим сервером.
Для того, чтобы смонтировать общий NFS каталог, мы можем использовать следующую команду монтирования.
[root@nfsclient ~]# mount -t nfs 192.168.0.55:/nfsshare /mnt/nfsshare
Приведенная выше команда установит общий каталог в “/mnt/nfsshare” на сервере клиента. Вы можете проверить его следующей командой.
[root@nfsclient ~]# mount | grep nfs sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nfsd on /proc/fs/nfsd type nfsd (rw) 192.168.0.55:/nfsshare on /mnt type nfs (rw,addr=192.168.0.55)
Выше команда mount монтирует на NFS совместно используемый каталог на NFS клиента временно, чтобы смонтировать каталог NFS постоянно на вашей системе вне зависимости от перезагрузок, нам нужно сделать запись в “/etc/fstab“.
[root@nfsclient ~]# vi /etc/fstab
Добавьте следующую новую строку, как показано ниже.
192.168.0.55:/nfsshare /mnt nfs defaults 0 0
Мы можем протестировать нашу установку сервера NFS путем создания тестового файла на стороне сервера и проверить его наличие на NFS клиента стороне или наоборот.
Мы создали новый текстовый файл с именем “nfstest.txt” в этом общем каталоге.
[root@nfsserver ~]# cat > /nfsshare/nfstest.txt This is a test file to test the working of NFS server setup.
Перейдите в общий каталог на сервере клиента и вы обнаружите общий файл без какого-либо ручного обновления или службы перезагрузки.
[root@nfsclient]# ll /mnt/nfsshare total 4 -rw-r--r-- 1 root root 61 Sep 21 21:44 nfstest.txt root@nfsclient ~]# cat /mnt/nfsshare/nfstest.txt This is a test file to test the working of NFS server setup.
Если вы хотите размонтировать этот общий каталог с сервера после того, как вы закончите с обменом файлами, вы можете просто размонтировать этот конкретный каталог с помощью команды “umount“. Смотрите этот пример ниже.
root@nfsclient ~]# umount /mnt/nfsshare
Вы можете видеть, что монтирование было удалено в файловой системе.
[root@nfsclient ~]# df -h -F nfs
Вы увидите, что эти общие каталоги не доступны больше.
Некоторые более важные команды для NFS.
Это все про монтирование NFS на данный момент, если интересно, можете прочитать гид о том как настроить сервер NFS на Ubuntu 16. Оставляйте свои комментарии и предложения ниже в поле для комментариев.