Skip to main content

Установка NFS-хранилища

Цель

Подготовка сервера NFS для совместного хранения данных ПринтМенеджеров в кластерной конфигурации.

Предусловия

  • Подготовлен сервер для NFS (DB_NFS).
  • Все сервера ПринтМенеджер должны иметь сетевой доступ к серверу NFS.

Шаги установки

Шаг 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 — это прокси с открытым исходным кодом, который позволяет создавать безопасные туннели для взаимодействия с другими компьютерами по протоколу TLS.

Ниже описаны шаги по установке и настройке Stunnel для обеспечения безопасного подключения к серверу NFS.

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

Для Ubuntu, Astra Linux и ALT Linux:

sudo apt 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

Измените владельца папки:

  • Для Ubuntu, и 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\_PATHFOLDER\PATH. ,
    DRIVER_OPTS_Oaddr=NFS_ADDR,nolock,soft,rw. ,
    DRIVER_OPTS_TYPEnfs.



    Убедитесь в сетевой доступности NFS-сервера и возможности чтения/записи из NFS_FOLDER_PATH.


    Связанные страницы