Установка NFS сервера на CentOS 7
В рамках данной заметки рассмотрим процесс установки NFS сервера в локальной сети на базе Linux CentOS 7. Данная файловая шара мне потребовалась для работы с XenServer 6.5 (установка ОС на виртуальные машины с ISO NFS library).
Выполняем к командной строке (нужны привилегии супер пользователя) следующие операции. Сначала устанавливает требуемые пакеты:
sudo yum install nfs-utils nfs-utils-lib
Затем включаем установленную службу:
sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo systemctl enable nfs-lock
sudo systemctl enable nfs-idmap
sudo systemctl start rpcbind
sudo systemctl start nfs-server
sudo systemctl start nfs-lock
sudo systemctl start nfs-idmap
После этого переходим к настройке каталога, которые будет использоваться для раздачи контента нашим NFS сервером. Рекомендуется делать NFS шару в «/var/nfs_name», чтобы не иметь проблем с записью файлов и назначением прав доступа. В моей ситуации по определенным причинам используется каталог «/home/nfs». Итак, создаем папку и назначаем права доступа:
sudo mkdir -p /home/nfs
sudo chmod -R 777 /home/nfs
После этого необходимо добавить в файл «/etc/exports’ информацию о предоставляемой шаре через NFS:
/home/nfs – расшариваемая директория
192.168.10.0/24 – IP адрес клиента (или, как в моем случае, возможность подключения для всей подсети)
sync – синхронизация указанной директории
no_root_squash – включение root привилегий
no_all_squash — включение пользовательской авторизации
Выполняем в командной строке exportfs -a ,чтобы подключить этот каталог в список экспортируемых. В завершение настройки NFS сервера перезапускаем его:
sudo systemctl restart nfs-server
Теперь добавляем (открываем) порты NFS сервера в брандмауэре (firewalld) для корректной работы в сети:
firewall-cmd —permanent —add-port=111/tcp
firewall-cmd —permanent —add-port=54302/tcp
firewall-cmd —permanent —add-port=20048/tcp
firewall-cmd —permanent —add-port=2049/tcp
firewall-cmd —permanent —add-port=46666/tcp
firewall-cmd —permanent —add-port=42955/tcp
firewall-cmd —permanent —add-port=875/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
Готово! Установка и настройка NFS сервера на CentOS 7 завершена.
Установка и настройка клиента NFS
В завершении данной заметки рассмотрим процесс настройки клиента для подключения (работы) с развернутым ранее NFS сервером. В моем случае, чаще всего клиентом будет какой-либо хост виртуализации (например, VMware ESXi или Xen Server) и его установка и настройка не требуется. Только необходимо запустить мастер подключения и указать параметры подключения. Для других сервисов или серверов выполняем следующие команды:
sudo yum install nfs-utils nfs-utils-lib
Включаем сервис и активируем автозагрузку:
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
Создаем каталог, куда будем монтировать шару:
sudo mkdir /media/nfs_share
mount -t nfs 192.168.10.101:/home/nfs/ /media/nfs_share/
Добавление автомонтирования при включение системы:
# # /etc/fstab # Created by anaconda on Tue Aug 19 12:15:24 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 1 1 UUID=2ba8d78a-c420-4792-b381-5405d755e544 /boot xfs defaults 1 2 /dev/mapper/centos-swap swap swap defaults 0 0 192.168.1.101:/home/nfs/ /media/nfs_share/ nfs rw,sync,hard,intr 0 0
Проверяем, что все примонтировалось правильно:
Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор. Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!
firewall-cmd —permanent —add-port=111/tcp firewall-cmd —permanent —add-port=54302/tcp firewall-cmd —permanent —add-port=20048/tcp firewall-cmd —permanent —add-port=2049/tcp firewall-cmd —permanent —add-port=46666/tcp firewall-cmd —permanent —add-port=42955/tcp firewall-cmd —permanent —add-port=875/tcp для чего нужно открывать эти порты если и без них работает нормально?
В статье напроч отсутствует описание контекста безопасности и случаев использования сервиса в публичной сети интернет, в корпоративной сети или указания версии протокола. Так что набор команд для обертки firewalld имеет косметический смысл в данном случае.Более важным является момент привязки сервисов к IP адресу или работе через туннели.
Рубрики
- 1C
- Active Directory
- Careers in IT
- CentOS
- Cloud Computing
- CTO & CIO Service
- Data Center Management
- Debian
- Enterprise Messaging
- Events
- Fedora
- FreeBSD
- Hardware
- IT Certifications
- Networking
- Overclocking
- PowerShell
- Security Solution
- SEO
- Server & Desktop Virtualization
- Software
- Storage & Backup Solutions
- Support
- Tips and Tricks
- VMware vSphere ESXi
- VoIP
- VPN Networking
- WEB Development
- Web/Mail Hosting Services
- Windows 10
- Windows 8 / 8.1
- Windows Server
- О проекте
Вики IT-KB
Установка и настройка сервера и клиента NFS в CentOS Linux 7.2
В этой статье мы рассмотрим простой пример того, как установить и настроить Network File System (NFS) в CentOS Linux 7.2. На стороне сервера будет настроена NFS-шара, а на стороне клиента эта шара будет подключена.
В некоторых дистрибутивах Linux NFS-сервер и клиент устанавливаются при установке ОС. Например в CentOS 6 NFS-сервер устанавливался по умолчанию, но служба не была включена в автозагрузку. В CentOS 7 серверные и клиентские компоненты NFS нужно устанавливать самостоятельно. При этом в CentOS 7 используется обновлённая усовершенствованная версия NFS 4.1.
Установка и настройка NFS-сервера
Устанавливаем пакеты для организации NFS-сервера
Включаем автозагрузку для служб rpcbind и nfs-server:
# systemctl enable rpcbind nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
# systemctl start rpcbind nfs-server
Проверяем для каких версий NFS способен принимать подключения наш NFS-сервер:
# rpcinfo -p localhost program vers proto port service . 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs .
Как видим, наш NFS сервер должен принимать подключения как NFSv3 так и NFSv4.
Создаём каталог под NFS-шару
# mkdir -p /var/nfs # chmod -R 777 /var/nfs
Создаём NFS-шару в файле /etc/exports:
# cat /etc/exports /var/nfs 10.1.1.0/24(rw,sync,no_root_squash,no_all_squash)
Описание использованных опций позаиствовано отсюда:
rw – доступ на чтение и запись (может принимать значение ro-только чтение);
sync – синхронный режим доступа(может принимать обратное значение- async). sync (async) — указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
no_root_squash – запрет подмены uid/gid для суперпользователя (root). По умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;
all_squash / no_all_squash — установка подмены идентификатора от всех пользователей all_squash — подмена запросов от ВСЕХ пользователей (не только root) на анонимного uid/gid, либо на пользователя, заданного в параметре anonuid/anongid. Используется обычно для публичного экспорта директорий. no_all_squash — запрет подмены uid/gid для от всех пользователей
Чтобы служба nfs-server перечитала конфигурацию, выполним
Выполнив команду exportfs убедимся в том, что ресурс опубликован:
Добавляем разрешающие правила брандмауэра:
# 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
Установка и настройка клиента NFS
Устанавливаем пакетов поддержки NFS:
Включаем и запускаем включаем службы NFS:
# systemctl start rpcbind # systemctl enable rpcbind
Создаем каталог, в который будет смонтирована шара и монтируем шару:
# mkdir /mnt/nfs-share # mount -t nfs KOM-FS03.holding.com:/var/nfs/ /mnt/nfs-share/
Проверяем то, что каталог примонтирован:
# mount | grep nfs4 KOM-FS03.holding.com:/var/nfs/ on /mnt/nfs-share type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576, namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys, clientaddr=10.1.1.201,local_lock=none,addr=10.1.1.4)
# df -hT | grep nfs4 KOM-FS03.holding.com:/var/nfs nfs4 3.6T 88M 3.4T 1% /mnt/nfs-share
Проверим возможность записи в шару
# touch /mnt/nfs-share/test.txt # rm /mnt/nfs-share/test.txt
Настраиваем автоматическое монтирование шары при перезагрузке системы, добавляя запись в конец файла /etc/fstab:
# cat /etc/fstab . KOM-FS03.holding.com:/var/nfs/ /mnt/nfs-share/ nfs defaults 0 0
Автор первичной редакции:
Алексей Максимов
Время публикации: 01.09.2016 15:30
Обсуждение
unix-linux/centos/linux-how-to-setup-nfs-server-with-share-and-nfs-client-in-centos-7-2.txt · Последнее изменение: 02.09.2016 15:33 — Алексей Максимов