Настройка PAM для работы с NFS
Перед настройкой PAM для работы с NFS необходимо выполнить установку и настройку NFS-медиахранилища.
- Linux
- Windows
Создайте папку для монтирования медиахранилища на сервере. Также можете использовать готовую папку, например, /etc/indeed/indeed-pam/media-temp.
sudo mkdir -p /mnt/pamstorage/
Установите клиент для монтирования NFS:
RPM:
sudo yum install nfs-utils
DEB:
sudo apt install nfs-common
Выполните монтирование хранилища:
Шаблон командыsudo mount -t nfs <fqdn_or_ip_nfs_server>:/путь/до/медихранилища /путь/до/папки/монтирования
Пример командыsudo mount -t nfs 192.168.131.200:/mnt/data_storage/ /mnt/pamstorage/
Добавьте монтирование хранилища в автозапуск:
Чтобы автоматически монтировать NFS при старте системы, добавьте запись в файл /etc/fstab:
Шаблон команды<fqdn_or_ip_nfs_server>:/путь/до/медихранилища /путь/до/папки/монтирования nfs defaults 0 0
Пример файла:
Пример команды192.168.131.200:/mnt/data_storage/ /mnt/pamstorage/ nfs defaults 0 0
Для проверки монтирования выполните команду:
sudo mount
Внесите изменения в секции volumes в docker-compose файлах для Core и Gateway-Service:
- Core: Путь до файла на сервере управления: /etc/indeed/indeed-pam/docker-compose.management-server.yml
- Gateway-Service: Путь до файла на сервере доступа: /etc/indeed/indeed-pam/docker-compose.access-server.yml
В секцию
volumes
необходимо добавить путь к монтированному хранилищу:- /путь/до/папки/монтирования:/mnt/storage:rw,z
Пример для Core:
core:
image: nexus.indeed-id.hq:5050/pam/indeed-pam-core:${TAG}
container_name: pam-core
extends:
file: docker-compose.common-services.yml
service: base
pids_limit: 5000
depends_on:
- ca-certificates
- pgsql
environment:
- COMPlus_EnableDiagnostics=0
user: root
read_only: false
security_opt:
- apparmor=pam-management
volumes:
- ./core/events:/var/lib/indeed/indeed-pam/events:rw,Z
- ./core/appsettings.json:/app/appsettings.json:ro,z
- ./keys/shared/protector:/etc/indeed/indeed-pam/keys/shared/protector:ro,z
- ./keys/core:/etc/indeed/indeed-pam/keys/core:ro,Z
- ./logs/core:/app/logs:rw,Z
- /mnt/pamstorage:/mnt/storage:rw,z # Пример монтирования NFS
- pam-core-temp-data:/var/lib/indeed/indeed-pam:rw
- pam-ca-cert-store:${CERT_STORE}:ro
tmpfs:
- /tmp
networks:
- pam-core-network
- pam-ls-networkВнесите изменения в секции Storage конфигурационных файлов Core и Gateway-Service:
- Core: Путь до конфигурационного файла на сервере управления: /etc/indeed/indeed-pam/core/appsettings.json
- Gateway-Service: Путь до конфигурационного файла на сервере доступа: /etc/indeed/indeed-pam/gateway-service/appsettings.json
В обоих файлах необходимо указать путь до монтированного хранилища:
"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "/mnt/storage"
}
}Перезагрузите контейнеры с помощью следующей команды:
sudo bash /etc/indeed/indeed-pam/scripts/run-pam.sh
Установите клиент для монтирования NFS:
- Нажмите в левом нижнем углу Start → Server Manager.
- Нажмите Add Roles and Features.
- На странице Features активируйте чекбокс Client for NFS и нажмите Next.
- Подтвердите настройки, нажав Install.
Выполните монтирование хранилища и добавьте в автозапуск:
Используйте PowerShell без повышения прав.
Шаблон командыNew-PSDrive -PSProvider FileSystem -Name <буква диска> -Root \\<fqdn_or_ip_nfs_server>\путь\до\медихранилища -Persist
Пример командыNew-PSDrive -PSProvider FileSystem -Name Z -Root \\192.168.131.200\mnt\data_storage\ -Persist
Внесите изменения в секцию
Storage
конфигурационных файлов Core и Gateway-Service:- Core: Путь до конфигурационного файла на сервере управления:
C:\inetpub\wwwroot\pam\core\appsettings.json
- Gateway-Service: Путь до конфигурационного файла на сервере доступа:
C:\Program Files\Indeed\Indeed PAM\Gateway\Pam.Gateway.Service\appsettings.json
Измените секцию
Storage
на:Шаблон секции"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "\\\\<fqdn_or_ip_nfs_server>\\путь\\до\\медихранилища"
}
},Пример секции"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "\\\\192.168.131.200\\mnt\\data_storage\\"
}
},- Core: Путь до конфигурационного файла на сервере управления:
Перезагрузите IIS и службу Gateway-Service:
Перезагрузите IIS на сервере управления:
Откройте IIS Manager и выполните команду Restart на нужном сервере.
Перезагрузите Gateway-Service:
Откройте Task Manager, найдите сервис PAM.Gateway.Service и перезапустите его.