Skip to main content

Установка 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 готовы для указания при установке ПринтМенеджеров.

                Следующие шаги

                  Установка балансировщика HAProxy Установка первого ПринтМенеджера в кластере

                  Типовые ошибки

                  Ошибка: ОшибкаПричинаРешение

                  При отложенной печати появляется ошибка «"файл недоступен»недоступен".

                  Причина: 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-сервера и возможности чтения/записи из NFS_FOLDER_PATH

                    .

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