- How to Mount an NFS Share in Linux
- Installing NFS Client Packages #
- Manually Mounting an NFS File Systems #
- Automatically Mounting NFS File Systems with /etc/fstab #
- Unmounting NFS File Systems #
- Conclusion #
- Как смонтировать общий ресурс NFS в Linux
- Установка клиентских пакетов NFS
- Монтирование файловых систем NFS вручную
- Автоматическое монтирование файловых систем NFS с помощью /etc/fstab
- Размонтирование файловых систем NFS
- Выводы
- Установка и настройка NFS-сервера и клиента в CentOS/RHEL
- Установка и настройка NFS-сервера в Linux CentOS
- Настройка клиента NFS в CentOS
How to Mount an NFS Share in Linux
Network File System (NFS) is a distributed file system protocol that allows you to share remote directories over a network. With NFS, you can mount remote directories on your system and work with the remote files as if they were local files.
On Linux and UNIX operating systems, you can use the mount command to mount a shared NFS directory on a particular mount point in the local directory tree.
In this tutorial, we will show you how to manually and automatically mount an NFS share on Linux machines.
Installing NFS Client Packages #
To mount an NFS share on a Linux system first you’ll need to install the NFS client package. The package name differs between Linux distributions.
- Installing NFS client on Ubuntu and Debian:
sudo apt update
sudo apt install nfs-common
sudo yum install nfs-utils
Manually Mounting an NFS File Systems #
Mounting a remote NFS share is the same as mounting regular file systems.
To mount an NFS file system on a given mount point, use the mount command in the following form:
mount [OPTION. ] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
Use the steps below to manually mount a remote NFS share on your Linux system:
- First, create a directory to serve as the mount point for the remote NFS share:
sudo mount -t nfs 10.10.0.10:/backups /var/backups
Where 10.10.0.10 is the IP address of the NFS server, /backup is the directory that the server is exporting and /var/backups is the local mount point.
Once the share is mounted, the mount point becomes the root directory of the mounted file system.
When you are manually mounting the share, the NFS share mount does not persist after a reboot.
Automatically Mounting NFS File Systems with /etc/fstab #
Generally, you will want to mount the remote NFS directory automatically when the system boots.
The /etc/fstab file contains a list of entries that define where how and what filesystem will be mounted on system startup.
To automatically mount an NFS share when your Linux system starts up add a line to the /etc/fstab file. The line must include the hostname or the IP address of the NFS server, the exported directory, and the mount point on the local machine.
Use the following procedure to automatically mount an NFS share on Linux systems:
- Set up a mount point for the remote NFS share:
# 10.10.0.10:/backups /var/backups nfs defaults 0 0
mount /var/backups mount 10.10.0.10:/backups
Unmounting NFS File Systems #
The umount command detaches (unmounts) the mounted file system from the directory tree.
To detach a mounted NFS share, use the umount command followed by either the directory where it has been mounted or remote share:
umount 10.10.0.10:/backups
umount /var/backups
If the NFS mount have an entry in the fstab file, remove it.
The umount command will fail to detach the share when the mounted volume is in use. To find out which processes are accessing the NFS share, use the fuser command:
Once you find the processes you can stop them with the kill command and unmount the NFS share.
If you still have problems unmounting the share use the -l ( —lazy ) option which allows you to unmount a busy file system as soon as it is not busy anymore.
If the remote NFS system is unreachable, use the -f ( —force ) option to force an unmount.
Generally not a good idea to use the force option as it may corrupt the data on the file system.
Conclusion #
We have shown you how to mount and unmount a remote NFS share. The same commands apply for any Linux distribution, including Ubuntu, CentOS, RHEL, Debian and Linux Mint.
Feel free to leave a comment if you have any questions.
Как смонтировать общий ресурс NFS в Linux
Сетевая файловая система (NFS) — это протокол распределенной файловой системы, который позволяет вам обмениваться удаленными каталогами по сети. С помощью NFS вы можете монтировать удаленные каталоги в своей системе и работать с удаленными файлами, как если бы они были локальными файлами.
В операционных системах Linux и UNIX вы можете использовать команду mount для монтирования общего каталога NFS в определенной точке монтирования в локальном дереве каталогов.
В этом руководстве мы покажем вам, как вручную и автоматически смонтировать общий ресурс NFS на машинах Linux.
Установка клиентских пакетов NFS
Чтобы смонтировать общий ресурс NFS в системе Linux, сначала необходимо установить клиентский пакет NFS. Название пакета отличается в разных дистрибутивах Linux.
- Установка клиента NFS в Ubuntu и Debian:
sudo apt update
sudo apt install nfs-common
sudo yum install nfs-utils
Монтирование файловых систем NFS вручную
Подключение удаленного общего ресурса NFS аналогично монтированию обычных файловых систем.
Чтобы смонтировать файловую систему NFS в заданной точке монтирования, используйте команду mount в следующей форме:
mount [OPTION. ] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
Выполните следующие действия, чтобы вручную смонтировать удаленный общий ресурс NFS в вашей системе Linux:
- Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса NFS:
sudo mount -t nfs 10.10.0.10:/backups /var/backups
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы.
Когда вы монтируете общий ресурс вручную, подключение общего ресурса NFS не сохраняется после перезагрузки.
Автоматическое монтирование файловых систем NFS с помощью /etc/fstab
Как правило, вы хотите автоматически монтировать удаленный каталог NFS при загрузке системы.
Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.
Чтобы автоматически монтировать общий ресурс NFS при запуске системы Linux, добавьте строку в файл /etc/fstab . Строка должна включать имя хоста или IP-адрес сервера NFS, экспортированный каталог и точку монтирования на локальном компьютере.
Используйте следующую процедуру для автоматического монтирования общего ресурса NFS в системах Linux:
- Настройте точку монтирования для удаленного общего ресурса NFS:
# 10.10.0.10:/backups /var/backups nfs defaults 0 0
mount /var/backups mount 10.10.0.10:/backups
Размонтирование файловых систем NFS
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить смонтированный общий ресурс NFS, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:
umount 10.10.0.10:/backups
umount /var/backups
Если для монтирования NFS есть запись в fstab , удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда смонтированный том используется. Чтобы узнать, какие процессы обращаются к общему ресурсу NFS, используйте команду fuser :
Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс NFS.
Если у вас все еще есть проблемы с —lazy ресурса, используйте параметр -l ( —lazy ), который позволяет вам отключать загруженную файловую систему, как только она больше не занята.
Если удаленная система NFS недоступна, используйте параметр -f ( —force ) для принудительного размонтирования.
Как правило, не рекомендуется использовать опцию принудительного выполнения, так как это может повредить данные в файловой системе.
Выводы
Мы показали вам, как подключать и отключать удаленный общий ресурс NFS. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Установка и настройка NFS-сервера и клиента в CentOS/RHEL
05.06.2020
VyacheslavK
CentOS, Linux
комментария 4
Network File System (NFS) – протокол распределенной файловой системы для организации общего доступа к файлам и папками. За основу в NFS взят протокол удаленных процедур (ONC RPC). NFS позволяет монтировать удаленные файловые системы по сети сеть. В отличии от FTP, NFS позволяет получить доступ только к тем частям файла, к которым обратился процесс. Имейте в виду, что данные в протоколе NFS по умолчанию не шифруются, и аутентификация клиентов не выполняется (доступ ограничивается по IP).
NFS очень прост в настройке, как со стороны сервера, так и со стороны клиента. В данной статье мы рассмотрим установку и настройку NFS-сервера и после чего, подключим NFS ресурс на клиенте. В этой статье для примера использования технологии NFS мы используем CentOS 8. В других Linux дистрибутивах (RHEL, Fedora и т.д.) все действия аналогичны.
Установка и настройка NFS-сервера в Linux CentOS
По умолчанию nfs уже установлен в CentOS 8 с пакетом Standard. Если вы удалили компоненты NFS, или ставили сервер в режиме Minimal Install, можно установить пакет NFS с помощью пакетного менеджера yum (dnf):
У меня пакет уже был установлен:
В текущей версии NFS сервера поддерживаются версии протокола NFSv3 и NFSv4. Версия NFS2 по умолчанию отключена. Список поддерживаемых версия NFS можно получить командой:
После установки нужных пакетов, нужно запустить службы nfs-server и rpcbind, добавьте их в автозагрузку:
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
Если у вас в системе установлен firewalld откройте необходимые порты:
# firewall-cmd —permanent —add-port=111/tcp
# firewall-cmd —permanent —add-port=20048/tcp
# firewall-cmd —permanent —zone=public —add-service=nfs
# firewall-cmd —permanent —zone=public —add-service=mountd
# firewall-cmd —permanent —zone=public —add-service=rpc-bind
# firewall-cmd —reload
# iptables -t filter -A INPUT -p tcp —dport 111 -j ACCEPT
# iptables -t filter -A INPUT -p tcp —dport 2049 -j ACCEPT
# iptables -t filter -A INPUT -p tcp —dport 20048 -j ACCEPT
# service iptables save
Теперь создадим директорию, которая будет раздаваться вашим NFS сервером:
# mkdir -p /backup/nfs
# chmod -R 777 /backup/nfs
Теперь в конфигурационном файле с настройками NFS сервера (/etc/exports) нужно опубликовать данный каталог и назначить права доступа.
Добавьте в файл следующую строку для предоставления доступа к NFS всем хостам в указанной IP подсети:
/backup/nfs 192.168.1.0/24 (rw,sync,no_root_squash,no_all_squash)
Или можно ограничить доступ для конкретного IP:
/backup/nfs 192.168.2.24 (rw,sync,no_root_squash,no_all_squash, anonuid=1000,anongid=1000) 192.168.3.100 (ro,async,no_subtree_check)
Рассмотрим более подробно формат предоставления прав к NFS каталогу:
- rw – права на запись в каталоге, ro – доступ только на чтение;
- sync – синхронный режим доступа. async – подразумевает, что не нужно ожидать подтверждения записи на диск (повышает производительность NFS, но уменьшает надежность);
- no_root_squash – разрешает root пользователю с клиента получать доступ к NFS каталогу (обычно не рекомендуется);
- no_all_squash — включение авторизации пользователя. all_squash – доступ к ресурсам от анонимного пользователя;
- no_subtree_check – отключить проверку, что пользователь обращается в файлу в определенном каталоге (subtree_check – используется по умолчанию);
- anonuid, anongid – сопоставить NFS пользователю/группу указанному локальному пользователю/группе(UID и GID).
Чтобы применить новые настройки NFS каталогов, выполните:
И перезапустите nfs-сервер:
# systemctl restart nfs-server
На этом установка и настройка nfs-сервера закончена и можно приступить к настройке клиента.
Настройка клиента NFS в CentOS
Для настройки NFS клиента, нужно также установить пакет nfs-utils. Для CentOS 7:
# dnf install nfs-utils -y Добавляем сервисы в автозагрузку и включаем:
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
Теперь на клиенте, нужно создать директорию, в которую мы смонтируем nfs-каталог:
Теперь можно смонтировать удаленное NFS-хранилище командой:
# mount -t nfs 192.168.0.100:/backup/nfs/ /backup
можно принудительно указать версию NFS протокола, которую нужно использовать
# mount -t nfs -o vers=4 192.168.0.100:/backup/nfs/ /backup
Где IP — это адрес NFS-сервера, который вы настроили ранее.
Теперь Теперь в списке перемонтированных разделов диска отображается подключенный NFS ресурс с удаленного сервере. Вы можете читать данные из этого каталога, или записывать в него (в зависимости от прав, которые назначены для вашего IP на NFS сервере). Чтобы NFS каталог автоматически монтировался при перезагрузке, нужно открыть файл fstab:
192.168.0.100:/backup/nfs/ /backup/ nfs rw,sync,hard,intr 0 0
После сохранения файла fstab, можно применить его командой:
Итак, мы настроили и подключили удаленное NFS хранилище, которое можно использовать для прозрачного сетевого доступа к общему ресурсу с различных хостов. Можно складывать в NFS каталог бэкапы, хранить там файлы ISO образов и т.д.
Предыдущая статья Следующая статья