Установка NFS-хранилища
Page Type: Installation
Component: ПринтМенеджер
Domain: Infrastructure
Product Versions: 4.x
OS: Linux
Status: Draft
Related Components: NFS
Установка NFS-хранилища
Цель
Подготовка сервера NFS для совместного хранения данных ПринтМенеджеров в кластерной конфигурации.
Предусловия
- Подготовлен сервер для NFS (
DB_NFS)DB_NFS). - Все сервера ПринтМенеджер должны иметь сетевой доступ к серверу
NFSNFS.
Шаги установки
Шаг 1. Установите и запустите NFS
Для Ubuntu, Astra Linux и ALT Linux:
sudo apt install nfs-kernel-server -y
sudo systemctl start nfs-kernel-server.service
sudo systemctl status nfs-kernel-server.service
Для РЕД ОС и Red Hat Enterprise Linux:
sudo dnf install -y nfs-utils
sudo systemctl enable nfs-server.service
sudo systemctl start nfs-server.service
sudo systemctl status nfs-server.service
Шаг 2. Создайте папку для NFS
Создайте директорию /scratch:
sudo mkdir /scratch
Шаг 3. Настройте файл экспорта
Отредактируйте файл конфигурации экспортируемых директорий:директорий для редактирования:
sudo nano /etc/exports
Добавьте строку для папки /scratch:
/scratch *(rw,async,no_subtree_check,no_root_squash)
ПрименитеСохраните файл и примените изменения экспорта:
sudo exportfs -a
Шаг 4. Настройте права доступа
Измените владельца папки:
Для Ubuntu, Astra Linux и ALT Linux:
sudo chown nobody:nogroup /scratch
Для РЕД ОС и Red Hat Enterprise Linux:
sudo chown nobody:nobody /scratch
Установите разрешения для записи:
sudo chmod -R 777 /scratch
Параметры для установки системы
Для установки балансировщика понадобится адрес сервера NFS_ADDR и путь к папке NFS_FOLDER_PATH:
NFS_ADDR:УкажитеIP-адрес или доменное имя сервера NFS.NFS_FOLDER_PATH:Вв данном примере путь к папке —/scratch.
Эта настройка позволяет использовать NFS-хранилище для хранения данных системы управления печатью.
Установка с шифрованием (stunnel)
ЕслиStunnel требуется— защищённоеэто соединениепрокси с NFSоткрытым черезисходным stunnel,кодом, обратитеськоторый позволяет создавать безопасные туннели для взаимодействия с другими компьютерами по протоколу TLS.
Ниже описаны шаги по установке и настройке Stunnel для обеспечения безопасного подключения к разделусерверу "ПодготовкаNFS.
Установка сервера NFS си stunnel"Stunnel
Для документации.Ubuntu, Astra Linux и ALT Linux:
sudo Nextapt steps
update
sudo apt install -y nfs-kernel-server stunnel4
Для РЕД ОС и Red Hat Enterprise Linux:
sudo dnf update
sudo dnf install -y nfs-utils stunnel
Настройка сервера NFS
Создайте директорию для экспорта:
sudo mkdir /scratch
Измените владельца папки:
УстановкабалансировщикаДля
HAProxyUbuntu, и Astra Linux и ALT Linux:sudo chown nobody:nogroup /scratch sudo chmod 777 /scratchУстановкапервогоДля
ПринтМенеджераРЕДвОСкластереи Red Hat Enterprise Linux:sudo chown nobody:nobody /scratch sudo chmod 777 /scratch
где /scratch – путь к общей директории.
Настройте экспорт директории. Для этого отредактируйте файл конфигурации экспортируемых директорий:
sudo nano /etc/exports
Добавьте строку для папки /scratch:
/scratch 127.0.0.1(rw,sync,no_subtree_check,insecure,no_root_squash)
Обратите внимание: параметр
insecureобязателен.
Применение изменений в экспортах:
Выполните команду:
sudo exportfs -a
Перезапуск службы NFS
Выполните перезапуск службы NFS:
Для Ubuntu, Astra Linux и ALT Linux:
sudo systemctl restart nfs-kernel-server
Для РЕД ОС и Red Hat Enterprise Linux:
sudo systemctl restart nfs-server.service
Настройка Stunnel на сервере NFS
Получение сертификатов
Если используются автоматические сертификаты, выпустите дополнительные сертификаты для NFS сервера, выполнив следующие команды на сервере балансировщика:
cd /opt/printum_balancer/scripts
sudo ./generate_certs.sh <HOSTNAME_NFS_SERVER>
где <HOSTNAME_NFS_SERVER> — IP-адрес или доменное имя сервера NFS.
После выполнения команды архив printum_certs.tar.gz, содержащий необходимые сертификаты, будет создан в директории /opt/printum_balancer/certificates/<HOSTNAME_NFS_SERVER>.
На сервере NFS создайте директорию /etc/stunnel/cert:
sudo mkdir /etc/stunnel/cert
Скопируйте архив на сервер NFS и извлеките файлы в эту директорию:
sudo cp printum_certs.tar.gz /etc/stunnel/cert
sudo tar -xvf printum_certs.tar.gz
Если используются собственные сертификаты, скопируйте CA-сертификат, SSL-сертификат и ключ на сервер NFS в эту директорию:
sudo cp ssl_cert ssl_key ca_cert /etc/stunnel/cert
Настройка Stunnel
Создайте файл /etc/stunnel/stunnel.conf со следующим содержимым:
cert = /etc/stunnel/cert/<cert.crt>
key = /etc/stunnel/cert/<cert.key>
CAfile = /etc/stunnel/cert/<ca.crt>
[nfs]
accept = <NFS_STUNNEL_PORT>
connect = 127.0.0.1:2049
где:
/etc/stunnel/cert/<cert.crt>, /etc/stunnel/cert/<cert.key>, /etc/stunnel/cert/<ca.crt> — абсолютные пути к сертификату, ключу и CA-сертификату.
<NFS_STUNNEL_PORT> — порт для туннеля (рекомендуется указать 20490 или другой непривилегированный порт).
Настройка Stunnel для автоматического запуска
Для Ubuntu, ALT Linux и Astra Linux:
/etc/default/stunnel4
Найдите строку ENABLED и установите значение 1:
ENABLED=1
Если строки нет, добавьте ее вручную.
Для РЕД ОС и Red Hat Enterprise Linux:
sudo systemctl enable stunnel
Запуск и включение Stunnel
Для Ubuntu и Astra Linux:
sudo systemctl enable stunnel4
sudo systemctl start stunnel4
Для РЕД ОС и Red Hat Enterprise Linux:
sudo systemctl enable stunnel
sudo systemctl start stunnel
Теперь сервер NFS настроен с использованием шифрования через Stunnel. Для получения дополнительной информации обращайтесь к официальной документации.
Примечание: Если ранее у вас уже был развёрнут балансировщик с использованием нешифрованного соединения с NFS, то для перехода на шифрование с Stunnel вам необходимо выполнить повторную установку балансировщика и всех нод ПМ.
Допускается установка на уже развёрнутые версии.
В сценарии установки балансировщика с помощью скрипта массового развёртывания, укажите следующие значения переменных в файле конфигурации (
config.ini):
NFS_TLS = 1иNFS_STUNNEL_PORT = <порт_для_Stunnel>.SKIP = trueв секции настроек[Monitoring].После изменения значений переменных сохраните файл конфигурации и запустите установку:
sudo ./install_all_offline.shВ сценарии установки балансировщика вручную обновите балансировщик и все ноды ПМ с указанием переменных
NFS_TLS = 1иNFS_STUNNEL_PORT = <порт_для_Stunnel>.
Ожидаемый результат
- NFS-сервис активен; общая папка доступна на чтение и запись.
- Параметры
NFS_ADDRиNFS_FOLDER_PATHготовы для указания при установке ПринтМенеджеров.
Следующие шаги
Типовые ошибки
Ошибка: ОшибкаПричинаРешение
Причина: NFS-хранилище недоступно или неверно указаны параметры в .env ПринтМенеджера
Решение: Выполнить sudo cat /opt/printmanager/.env. Параметры должны быть:
DRIVER_OPTS_DEVICE — :NFS_FOLDER_PATH»,NFS\_FOLDER\_PATH.
DRIVER_OPTS_O — addr=NFS_ADDR,nolock,soft,rw»,rw.
DRIVER_OPTS_TYPE — nfs.
Убедитесь в сетевой доступности NFS-сервера и возможности чтения/записи из NFS_FOLDER_PATH