Использование NFS и SMB для сетевых хранилищ

Введение

Сетевые файловые системы, такие как NFS (Network File System) и SMB (Server Message Block), позволяют компьютерам в сети совместно использовать файлы и ресурсы. В операционной системе НАЙС ОС NFS и SMB предоставляют удобные методы для организации сетевых хранилищ. В этой документации мы рассмотрим процесс настройки и использования NFS и SMB для создания сетевых хранилищ.

Установка и настройка NFS

NFS — это сетевой протокол, который позволяет пользователям монтировать удаленные файловые системы и работать с ними так, как если бы они были локальными. Рассмотрим процесс установки и настройки NFS сервера и клиента.

Установка NFS сервера

Для установки NFS сервера используйте dnf:


sudo dnf install nfs-utils

Настройка NFS сервера

Создайте директорию, которую хотите экспортировать (поделиться), например /mnt/nfs_share:


sudo mkdir -p /mnt/nfs_share
sudo chown -R nobody:nogroup /mnt/nfs_share
sudo chmod 777 /mnt/nfs_share

Откройте файл /etc/exports для редактирования и добавьте строку для экспорта директории:


sudo nano /etc/exports

Добавьте следующую строку в файл:

/mnt/nfs_share    *(rw,sync,no_subtree_check)

Перезагрузите службу NFS для применения изменений:


sudo systemctl restart nfs-server
sudo systemctl enable nfs-server

Настройка брандмауэра

Откройте порты, используемые NFS, в брандмауэре:


sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

Установка NFS клиента

Для установки NFS клиента на другой машине используйте dnf:


sudo dnf install nfs-utils

Монтирование NFS раздела

Создайте директорию для монтирования удаленного NFS раздела:


sudo mkdir -p /mnt/nfs_clientshare

Смонтируйте удаленный NFS раздел:


sudo mount -t nfs server_ip:/mnt/nfs_share /mnt/nfs_clientshare

Чтобы автоматизировать монтирование при загрузке, добавьте запись в файл /etc/fstab:


sudo nano /etc/fstab

Добавьте следующую строку:

server_ip:/mnt/nfs_share /mnt/nfs_clientshare nfs defaults 0 0

Установка и настройка SMB

SMB (Server Message Block) — это сетевой протокол, который позволяет компьютерам совместно использовать файлы и принтеры в сети. Рассмотрим процесс установки и настройки Samba (SMB) сервера и клиента.

Установка Samba сервера

Для установки Samba сервера используйте dnf:


sudo dnf install samba samba-client

Настройка Samba сервера

Создайте директорию, которую хотите экспортировать (поделиться), например /mnt/samba_share:


sudo mkdir -p /mnt/samba_share
sudo chown -R nobody:nogroup /mnt/samba_share
sudo chmod 777 /mnt/samba_share

Откройте файл /etc/samba/smb.conf для редактирования и добавьте раздел для экспорта директории:


sudo nano /etc/samba/smb.conf

Добавьте следующий раздел в файл:

[samba_share]
   path = /mnt/samba_share
   browsable = yes
   writable = yes
   guest ok = yes
   read only = no

Перезагрузите службу Samba для применения изменений:


sudo systemctl restart smb
sudo systemctl enable smb

Настройка брандмауэра

Откройте порты, используемые Samba, в брандмауэре:


sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

Установка Samba клиента

Для установки Samba клиента на другой машине используйте dnf:


sudo dnf install samba-client

Монтирование SMB раздела

Создайте директорию для монтирования удаленного SMB раздела:


sudo mkdir -p /mnt/samba_clientshare

Смонтируйте удаленный SMB раздел:


sudo mount -t cifs -o username=guest,password=guest //server_ip/samba_share /mnt/samba_clientshare

Чтобы автоматизировать монтирование при загрузке, добавьте запись в файл /etc/fstab:


sudo nano /etc/fstab

Добавьте следующую строку:

//server_ip/samba_share /mnt/samba_clientshare cifs username=guest,password=guest 0 0

Управление доступом и разрешениями

При использовании NFS и SMB важно правильно настроить доступ и разрешения для пользователей и групп.

Управление доступом в NFS

В файле /etc/exports можно указать, какие хосты имеют доступ к экспортируемым директориям и с какими правами. Например:

/mnt/nfs_share    192.168.1.0/24(rw,sync,no_subtree_check)

Этот пример позволяет чтение и запись для всех хостов в сети 192.168.1.0/24.

Управление доступом в SMB

В файле /etc/samba/smb.conf можно указать, какие пользователи и группы имеют доступ к общим ресурсам. Например:

[samba_share]
   path = /mnt/samba_share
   browsable = yes
   writable = yes
   valid users = @smbgroup
   read only = no

Этот пример позволяет доступ к ресурсу только для пользователей группы smbgroup.

Мониторинг и обслуживание

Регулярный мониторинг и обслуживание сетевых хранилищ помогает поддерживать их стабильную работу и предотвращать возможные проблемы.

Мониторинг NFS

Для мониторинга состояния NFS сервера используйте команду showmount:


sudo showmount -e server_ip

Эта команда покажет список экспортируемых директорий на NFS сервере.

Мониторинг SMB

Для мониторинга состояния SMB сервера используйте команду smbstatus:


sudo smbstatus

Эта команда покажет информацию о подключенных клиентах и открытых файлах.

Логирование

Оба сервиса ведут журналы, которые можно использовать для диагностики проблем. Логи NFS можно найти в /var/log/messages, а логи Samba в /var/log/samba/.


sudo tail -f /var/log/messages
sudo tail -f /var/log/samba/log.smbd

Заключение

Использование NFS и SMB для сетевых хранилищ в НАЙС ОС предоставляет мощные инструменты для организации совместного доступа к файлам и ресурсам в сети. Настройка и управление этими сервисами требует внимательного подхода к конфигурации и безопасности. Следуя приведенным инструкциям и примерам, вы сможете эффективно настроить и использовать NFS и SMB для создания надежных и удобных сетевых хранилищ.