13. Руководство администратора

13.1. Общая информация

ПО VoltExpert состоит из клиентской и серверной частей, написанных на Java. Для работы требуется операционная система, на которой работает Java версии 17. Также для работы требуется PostgreSQL-совместимая СУБД (например, Postgres Pro 15). Дистрибутив серверной части для Windows включает в своем составе СУБД Postgre SQL.

В большинстве случаев рекомендуется устанавливать только один сервер VoltExpert на виртуальный сервер организации и несколько (по количеству лицензий) клиентских частей на рабочие места пользователей.

В случае проблем с подключением к центральному серверу VoltExpert с клиентских мест (например, при отсутствии интернет-соединения), допускается установка дополнительной серверной части на компьютер пользователя. Однако, в этом случае теряется возможность централизованного хранения схем и их бэкапирования.

Всю информацию о схемах VoltExpert хранит в СУБД. При настройке сервера необходимо уделить особое внимание настройке ее бэкапа и проверке восстановления из него.

13.2. Установка и настройка серверной части

13.2.1. Системные требования

Важно

Для работы серверной части VoltExpert требуется установленная Java 17 и PostgreSQL-совместимая СУБД.

В связи с отсутствием их бесплатных вариантов в Реестре Российского ПО, приобретение и установка Java 17 и PostgreSQL-совместимой СУБД в Linux производится покупателем VoltExpert отдельно от приобретения и установки VoltExpert.

Дистрибутив VoltExpert для Windows включает в себя бесплатное open source ПО СУБД PostgreSQL и Java 17 (не включенные в Реестр Российского ПО), поэтому для установки серверной части VoltExpert на Windows не требуется их дополнительная установка.

Минимальные системные требования

  • Операционная система

    • Windows 7/8/10/11 - 64 bit с установленными рекомендуемыми Microsoft обновлениями. Для автоустановки задач бэкапа и автозапуска на Windows 7 требуется предварительно поставить PowerShell 3.0.

    • ОС семейства Linux с установленной Java 17 (например, Astra Linux с установленной Axiom JDK 17) и PostgreSQL-совместимой СУБД (например, Postgres Pro 15).

  • 1 ГБ ОЗУ, 1 ядро процессора, 10 ГБ свободного места на диске.

Рекомендуемая конфигурация

  • Серверная операционная система Windows Server 2016/2019/2022 - 64 bit с установленными рекомендуемыми Microsoft обновлениями, либо Astra Linux Common Edition версии 2.12.45.5 и новее;

  • Установленная Axiom JDK 17;

  • Postgres Pro 15;

  • 4+ ГБ ОЗУ, 4+ ядра процессора, 20+ ГБ свободного места на диске.

При большом количестве пользователей и их интенсивной работе могут потребоваться дополнительные вычислительные ресурсы, но для большинства случаев рекомендуемой конфигурации достаточно для комфортной работы.

13.2.2. Установка

13.2.2.1. Установка на Windows

  1. Запустить дистрибутив сервера VoltExpert (обычно voltexpert-server.exe).

  2. Ознакомиться с лицензионным соглашением, принять его условия и нажать Далее.

    Лицензионное соглашение

  3. Выбрать папку установки программы (рекомендуется оставить предлагаемую по умолчанию).

    Папка установки программы

  1. Выбрать устанавливаемые компоненты. Рекомендуется выбрать все пункты.

    • VoltExpert Server. Установка сервера VoltExpert.

    • PostgreSQL. Установка СУБД PostgreSQL, в которой физически будет храниться вся информация о структуре сети. Следует деактивировать данный пункт, если администратор самостоятельно устанавливает СУБД. В этом случае надо будет после установки указать путь к СУБД в Файл конфигурации.

    • Задачи ежедневного бэкапа. Добавляет в Windows Task Scheduler задачи ежедневного бэкапа и автозапуска при старте сервера. Если бэкап СУБД будет производиться сторонними системами - необходимо убрать этот пункт. Подробнее можно узнать здесь: Варианты бэкапа.

    • Открыть порт Windows Firewall. Добавляет в Windows Firewall разрешение на доступ к серверу извне по порту, указанному в Файл конфигурации (обычно 7770).

    Выбор компонентов

  2. Выбрать название папки в меню «Пуск».

    Название папки в Пуск

  3. Проверить выбранные параметры и нажать Установить.

    Всё готово к установке

  4. После завершения установки нажать «Завершить».

    Завершить

  5. Дождаться запуска сервера. Если установка прошла успешно - внизу появится надпись вида «Started VoltExpertServer in … seconds».

    Сервер успешно стартанул

13.2.2.2. Установка на Linux

Для установки сервера VoltExpert на Linux необходимо выполнить следующие действия:

  1. Установить PostgreSQL-совместимую СУБД (например, Postgres Pro 15). Документация по установке СУБД Postgres Pro .

    Примечание

    Пример установки на Astra Linux Common Edition 2.12.45.5 может выглядеть следующим образом:

    1. Установить СУБД

      wget https://repo.postgrespro.ru/std-15/keys/pgpro-repo-add.sh
      sh pgpro-repo-add.sh
      apt-get install postgrespro-std-15
      
    2. Настроить автозапуск СУБД и изменить пароль пользователя postgres

      sudo pg-setup service enable
      sudo -u postgres psql
      

      в psql выполнить команду

      ALTER USER postgres WITH PASSWORD 'YOUR_PASSWORD';
      \q
      
  2. Приобрести и установить Axiom JDK 17. Сайт производителя Axiom JDK 17.

  3. Запустить скрипт установки сервера. Для этого необходимо распаковать архив с дистрибутивом и запустить скрипт установки install-voltexpert-server.sh.

    Во время первоначальной установки скрипт проделывает следующие действия:

    • Скачивает и устанавливает Liberica JRE 17 (при использовании ключа --java или выборе варианта установки Java при вопросе)

    Примечание

    данный пункт утратил актуальность в связи с тем, что Liberica JRE 17 стала недоступна в РФ и теперь требуется приобретение и установка Axiom JDK 17

    • Устанавливает VoltExpert Server в папку /opt/voltexpert-server

    • Создает файл конфигурации с введенными настройками подключения к СУБД по пути /etc/opt/voltexpert-server/application.properties

    • Создает БД voltexpert в СУБД Postgres

    • Создает и запускает сервис /etc/systemd/system/voltexpert-server.service

    • Добавляет в cron ежедневную задачу автоматического бэкапирования (при использовании ключа --backup или выборе соответствующего варианта при вопросе)

    Данный скрипт можно запустить в интерактивном режиме (без параметров), также возможно указать следующие параметры:

    • --java | -J - установить Liberica JRE 17, загрузив его с сайта производителя. В текущий момент при работе в РФ данный ключ использовать нельзя, необходимо приобрести и установить Axiom JDK 17 вручную.

    • --nojava | -j - не устанавливать и не задавать вопрос по поводу отсутствия Liberica JRE 17

    • --backup | -B - добавить задачу автоматического ежедневного бэкапирования БД (добавит в /etc/cron.daily символьную ссылку на скрипт бэкапирования /opt/voltexpert-server/scripts/backup-voltexpert-pg-db.sh)

    • --nobackup | -b - не добавлять задачу автоматического ежедневного бэкапирования БД

    • остальные параметры касаются обновления и рассмотрены в разделе Обновление на Linux.

    Для запуска установки в терминале в каталоге с дистрибутивом сервера требуется выполнить следующую команду:

    unzip voltexpert-server-linux.zip    # указать имя файла дистрибутива
    sudo ./install-voltexpert-server.sh  # можно добавить --java или --nojava для того, чтобы не отвечать на вопрос об установке Liberica JRE 17
    

    Далее следуйте инструкциям установщика. На шаге «Настройка БД» обычно не требуется менять адрес, порт и имя базы данных (можно просто нажать Enter на данном шаге), но обязательно требуется указать пароль пользователя postgres, который был указан при установке СУБД.

    Скриншот ниже показывает пример установки на чистую Astra Linux Common Edition

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

  4. Настроить резервное копирование БД. Подробнее об этом в разделе Варианты бэкапа.

  5. Дополнительно может потребоваться открыть порт 7770 в файрволе операционной системы для доступа клиентской части к серверу.

13.2.2.3. Установка из ZIP-архива

Ручная установка возможна для любых совместимых ОС (Windows / Linux). Для этого необходимо проделать следующие шаги:

  1. Распаковать архив с серверной частью VoltExpert в любую папку на жестком диске.

  2. Установить PostgreSQL-совместимую СУБД (например, Postgres Pro 15), создать в ней пустую БД voltexpert и восстановить ее средствами СУБД из бэкапа БД, находящего в файле db/init.backup.

  3. Установить Java Runtime Environment (JRE) версии 17 или выше.

  4. Настроить файл конфигурации, прописав путь и доступ к СУБД, поменяв значения параметров в Файл конфигурации.

  5. Запустить файл voltexpert-server.bat (Windows) или voltexpert-server.sh (Linux) для запуска сервера. Для остановки сервера необходимо нажать Ctrl+C в консоли, в которой он был запущен.

  6. Дождаться запуска сервера. Если установка прошла успешно, внизу появится надпись вида «Started … in … seconds».

    Сервер успешно стартанул

  7. Настроить резервное копирование БД. Подробнее об этом в разделе Варианты бэкапа.

  8. Дополнительно может потребоваться открыть порт 7770 в файрволе операционной системы для доступа клиентской части к серверу.

13.2.3. Порядок обновления

13.2.3.1. Обновление на Windows

Важно

До выполнения любых операций обновления настоятельно рекомендуется сделать бэкап БД и папки с сервером («c:\VoltExpert Server» при установке с параметрами по умолчанию).

Новая версия сервера при запуске обновляет модель данных в БД, из-за чего дальнейшая работа данной БД со старой версией будет невозможна!

  1. Сделать бэкап:

    • используемой базы данных (которая прописана в application.properties);

    • папки с сервером («c:\VoltExpert Server»), ее достаточно скопировать в любое надежное место.

  2. Запустить дистрибутив сервера VoltExpert (обычно voltexpert-server.exe).

  3. Ознакомиться с лицензионным соглашением, принять его условия и нажать Далее.

    Лицензионное соглашение

  4. Выбрать устанавливаемые компоненты. Часть компонентов может быть недоступна для изменения, т.к. они уже установлены.

    • VoltExpert Server … (обновление с …). Обновление сервера VoltExpert.

    • PostgreSQL. Установка СУБД PostgreSQL. Данный пункт будет доступен только если PostgreSQL еще не установлена (проверяется наличие ключа реестра «HKLM\SOFTWARE\PostgreSQL»).

    • Задачи ежедневного бэкапа. Добавляет в Windows Task Scheduler задачи ежедневного бэкапа и автозапуска при старте сервера. Обычно не нужно при обновлении, т.к. бэкап к моменту обновления скорее всего уже был настроен. Если бэкап СУБД будет производиться сторонними системами - также необходимо убрать этот пункт. Подробнее можно узнать здесь: Варианты бэкапа.

    • Открыть порт Windows Firewall. Добавляет в Windows Firewall разрешение на доступ к серверу извне по порту, указанному в Файл конфигурации (обычно 7770). Обычно не нужно при обновлении.

    Выбор компонентов

  5. Если были не выбраны некоторые пункты - инсталлятор уведомит о том, что он не удалит их. Необходимо нажать Yes.

    Уведомление о том, что невыбранные компоненты не будут удалены

  6. Проверить выбранные параметры и нажать Установить.

    Всё готово к установке

  7. При необходимости сбросить прошлые настройки, необходимо установить соответствующий флаг. Обычно этого не требуется и может понадобиться только если их случайно испортили. Необходимо завершить установку нажатием «Завершить».

    Завершить

  8. Дождаться запуска сервера. Если установка прошла успешно, внизу появится надпись вида «Started VoltExpertServer in … seconds».

    Сервер успешно стартанул

13.2.3.2. Обновление на Linux

Важно

До выполнения любых операций обновления настоятельно рекомендуется сделать бэкап БД.

Новая версия сервера при запуске обновляет модель данных в БД, из-за чего дальнейшая работа данной БД со старой версией будет невозможна!

  1. Сделать бэкап используемой базы данных. Параметры подключения к БД указаны в файле /etc/opt/voltexpert-server/application.properties

  2. Запустить скрипт установки сервера. Для этого необходимо распаковать архив с дистрибутивом и запустить скрипт установки install-voltexpert-server.sh.

    Во время обновления скрипт производит следующие действия:

    • Скачивает и устанавливает Liberica JRE 17 (при использовании ключа --java или выборе варианта установки Java при вопросе)

    Примечание

    данный пункт утратил актуальность в связи с тем, что Liberica JRE 17 стала недоступна в РФ и теперь требуется приобретение и установка Axiom JDK 17

    • Останавливает и удаляет старый сервис voltexpert-server.service, архивирует старую версию и конфиги в /var/opt/voltexpert-server/backups

    • Удаляет директорию /opt/voltexpert-server

    • Устанавливает VoltExpert Server в директорию /opt/voltexpert-server

    • При необходимости обновляет конфигурационный файл /etc/opt/voltexpert-server/application.properties (при использовании ключа --config или выборе варианта обновления конфига при вопросе)

    • Читает файл конфигурации с введенными настройками подключения к СУБД по пути /etc/opt/voltexpert-server/application.properties и при необходимости обновляет его данными пользователя

    • Создает и запускает сервис /etc/systemd/system/voltexpert-server.service

    • Добавляет в cron ежедневную задачу автоматического бэкапирования (при использовании ключа --backup или выборе соответствующего варианта при вопросе)

    Данный скрипт можно запустить в интерактивном режиме (без параметров), также возможно указать следующие параметры:

    • --java | -J - установить Liberica JRE 17, загрузив его с сайта производителя. В текущий момент при работе в РФ данный ключ использовать нельзя, необходимо приобрести и установить Axiom JDK 17 вручную.

    • --nojava | -j - не устанавливать Liberica JRE 17 и не задавать вопрос по поводу его отсутствия

    • --upgrade | -u - обновить сервер, не выводить уведомление о том, что он уже установлен

    • --config | -C - обновить конфигурационный файл /etc/opt/voltexpert-server/application.properties данными из дистрибутива (рекомендуется только в случае, если конфигурационный файл был случайно удален или изменен так, что сервер не может запуститься)

    • --noconfig | -c - не обновлять конфигурационный файл /etc/opt/voltexpert-server/application.properties и не предлагать его обновление

    • --backup | -B - добавить задачу автоматического ежедневного бэкапирования БД (добавит в /etc/cron.daily символьную ссылку на скрипт бэкапирования /opt/voltexpert-server/scripts/backup-voltexpert-pg-db.sh)

    • --nobackup | -b - не добавлять задачу автоматического ежедневного бэкапирования БД

    Для запуска обновления в терминале в каталоге с дистрибутивом сервера требуется выполнить следующую команду:

    unzip voltexpert-server-linux.zip    # указать имя файла дистрибутива
    sudo ./install-voltexpert-server.sh  # можно добавить нужные ключи, например --upgrade
    

    Далее следуйте инструкциям установщика. Скриншот ниже показывает пример обновления сервера.

    Скриншот обновления серверной части

13.2.3.3. Перенос на другой сервер

Операция переноса серверной части VoltExpert на другой сервер выглядит одинаково во всех ОС и состоит из следующих шагов:

  • Остановить старый сервер VoltExpert (sudo systemctl stop voltexpert-server.service в Linux, c:\VoltExpert Server\stop-server.bat в Windows)

  • Сделать бэкап БД средствами СУБД

  • При необходимости переноса СУБД на новый сервер, необходимо установить СУБД на новый сервер и восстановить бэкап БД

  • Установить VoltExpert Server на новый сервер согласно инструкции Установка на Windows либо Установка на Linux

  • При необходимости поправить конфигурационный файл для указания параметров доступа к БД (/etc/opt/voltexpert-server/application.properties в Linux, C:\VoltExpert Server\application.properties в Windows)

  • Убедиться, что сервер запустился

  • На клиентских частях VoltExpert поменять параметры подключения к серверной части Настройка подключения

13.2.4. Структура папок

После установки создается следующая структура папок

  • В Windows:

    Структура папок сервера

    • config - папка с конфигурацией сервера. Подробнее здесь: Файл конфигурации.

    • help - папка с документацией по программе.

    • jre - папка с Java Runtime Environment, необходимой для работы сервера.

    • lib - папка с библиотеками, используемыми программой.

    • log - папка с логами работы серверной части.

    • scripts - папка с PowerShell скриптами, которые могут пригодиться при администрировании сервера. Подробнее о них рассказано в соответствующих разделах ниже.

    • uninstall - папка с файлами, необходимыми для корректного удаления программы.

    • COPYRIGHT, LICENSE, NOTICE - файлы с лицензией и правами на программу.

    • main.ico - иконка VoltExpert.

    • pid.txt - содержит идентификатор текущего запущенного процесса сервера для его принудительной остановки с помощью stop-server.bat.

    • stop-server.bat - принудительная остановка сервера. Рекомендуется использовать только в крайних случах или когда известно, что пользователи в данный момент не работают с программой. В противном случае есть риск потери несохраненных данных пользователей.

    • voltexpert-server.bat - запуск сервера. Запрещено запускать несколько экземпляров сервера, поэтому при повторном запуске - автоматически принудительно завершится работающий экземпляр, что может привести к потере несохраненных данных.

    • voltexpert-server.jar - исполняемый модуль VoltExpert Server (основная программа).

  • В Linux:

    • /opt/voltexpert-server/ - директория установки VoltExpert Server, содержащая:

      • voltexpert-server.jar - исполняемый модуль VoltExpert Server (основная программа)

      • lib/ - директория с библиотеками, используемыми программой

      • help/ - директория с документацией о программе

    • /etc/opt/voltexpert-server/application.properties - файл конфигурации

    • /var/opt/voltexpert-server/backups - директория с бэкапом /opt/voltexpert-server и /etc/opt/voltexpert-server/application.properties, создается во время обновления и при работе скрипта автобэкапа

    • /var/log/voltexpert-server/ - директория с логами серверной части

13.2.5. Файл конфигурации

Файл конфигурации содержит настройки сервера и находится в папке программы по пути c:\VoltExpert Server\config\application.properties в Windows и /etc/opt/voltexpert-server/application.properties в Linux.

В большинстве случаев не требуется вносить изменения в файл конфигурации. Это может быть необходимо, только если:

  • администратор вручную устанавливал PostgreSQL и необходимо указать параметры доступа к нему;

  • необходимо поменять порт, на котором VoltExpert ожидает входящие соединения от клиентов.

Ниже подсвечены параметры файла конфигурации, которые могут быть полезны в этих случаях.

Файл конфигурации сервера

  • spring.datasource.url - путь к базе данных программы в формате «jdbc:postgresql://{IP_или_DNS_имя_сервера_СУБД}:{Порт_сервера}/{Имя_Базы_Данных}»;

  • spring.datasource.username - имя пользователя от которого VoltExpert Server должен обращаться к СУБД;

  • spring.datasource.password - пароль пользователя;

  • server.port - TCP-порт, на котором VoltExpert Server принимает сообщения от клиента. Необходимо, чтобы данный порт был открыт для сетевых соединений в Windows|Linux Firewall. В Windows это делается автоматически при установке программы, если установлена соответствующая галочка в инсталляторе. При изменении порта - необходимо открыть его вручную, либо при установке в Windows запустить PowerShell скрипт scripts\open-ports.ps1, который автоматически создаст необходимое правило.

Для того, чтобы изменения вступили в силу, необходимо перезапустить сервер VoltExpert.

13.2.6. Варианты бэкапа

Вся информация о структуре сети находится в базе данных, указанной в параметре spring.datasource.url Файл конфигурации. Для успешного восстановления с бэкапа необходимо иметь бэкап этой БД и дистрибутив сервера VoltExpert.

Таким образом, бэкап данных VoltExpert сводится к бэкапу указанной БД. Возможны следующие варианты настройки бэкапа:

  • бэкап СУБД или всей виртуальной машины, на которой находится БД уже использующимися в компании средствами бэкапирования (рекомендуется). Подробности по их настройке для бэкапа БД PostgreSQL или всей виртуальной машины можно найти в документации к этим средствам. Параметры подключения к БД VoltExpert можно найти в разделе Файл конфигурации. При возможности рекомендуется использовать данный вариант.

  • бэкап СУБД средствами PostgreSQL. Подробнее здесь: PostgreSQL Backup and Restore.

  • бэкап СУБД с помощью скрипта бэкапирования, подробнее здесь: Скрипт бэкапа.

Важно

Настройка бэкапа не может считаться успешной до удачного тестового восстановления с файлов бэкапа! Также рекомендуется периодически, раз в один-два месяца проверять, что бэкапы не только делаются, а что с них можно восстановиться!

13.2.7. Скрипт бэкапа

13.2.7.1. Скрипт бэкапа в Windows

Для того, чтобы произвести бэкап БД с помощью скрипта бэкапа, необходимо запустить scripts\backup.ps1 с помощью PowerShell или Планировщика задач Windows (Windows Task Scheduler).

При этом скрипт содержат два параметра, изменив которые можно поменять:

  • путь для бэкапов (по умолчанию бэкапы создаются в подпапке backups программы). Рекомендуется делать бэкапы на отдельный диск, для того, чтобы выход из строя файлового хранилища не привел к потере всех бэкапов.

  • максимальное количество бэкапов, которое необходимо хранить в папке (по умолчанию 30). Когда количество бэкапов в папке достигнет указанного числа - после очередного бэкапа удалится самый старый файл бэкапа.

Данные параметры можно поменять в файле или передать в параметрах скрипта при его запуске.

Если при установке программы была поставлена галочка «Задачи ежедневного бэкапа» - автоматически в Планировщике задач Windows создадутся задачи бэкапа БД с помощью скрипта backup.ps1. Данное задание делает бэкап ежедневно ночью.

Предупреждение

Задания в Планировщике Windows создадутся автоматически только для операционных систем Windows Server 2012R2+ и Windows 8+. Для того, чтобы задания бэкапа автоматически создались для других ОС - необходимо до установки VoltExpert Server установить PowerShell 3.0.

Посмотреть созданную задачу можно открыв Планировщик заданий Windows (нажав Win-R ввести taskschd.msc и Enter).

Запуск планировщика заданий Windows

Задачи, связанные с VoltExpert находятся в папке VoltExpert. Первая задача на скриншоте ниже - задача ежедневного бэкапа.

Задачи планировщика заданий Windows

Если дважды кликнуть на этой задаче и посмотреть ее действия, можно увидеть, что запуск скрипта осуществляется запуском программы powershell.exe с параметрами -command «& „C:\VoltExpert Server\scripts\backup.ps1“ „C:\VoltExpert Server\backups“».

Задача бэкапа в планировщике заданий Windows

Аналогичным образом можно создать в планировщике заданий Windows свою задачу бэкапирования и указать в параметрах запуска скрипта путь к внешней папке/шаре для файлов бэкапа. В новой задаче бэкапа можно указать необходимые триггеры запуска.

Предупреждение

Рекомендуется создавать именно новую задачу бэкапа (с новым именем), а не модифицировать старую, т.к. при переустановке сервера автоматически созданные задачи перезапишутся и потеряются все их модификации.

Подробную информацию по работе с Планировщиком заданий Windows можно получить здесь: Планировщик заданий Windows.

13.2.7.2. Скрипт бэкапа в Linux

Скрипт бэкапа находится по пути /opt/voltexpert-server/scripts/backup-voltexpert-pg-db.sh. Для запуска скрипта необходимо иметь установленную локально утилиту pg_dump (устанавливается одновременно с PostgreSQL). При ее отсутствии необходимо использовать другие варианты бэкапа Варианты бэкапа.

При запуске скрипт делает следующие операции:

  • Читает параметры используемой БД (IP-адрес и порт СУБД, имя БД, пароль) из файла /etc/opt/voltexpert-server/application.properties

  • Делает бэкап указанной БД с помощью утилиты pg_dump с ключами -Fc и сохраняет его в файл /var/opt/voltexpert-server/backups/db/voltexpert-server-db-<дата-время>.backup

  • Удаляет файлы бэкапов старше 30 дней. Для этого используется утилита find. При необходимости можно изменить количество дней хранения бэкапов в переменной KEEP_DAYS в скрипте.

При установке VoltExpert Server с ключом --backup (либо выборе шага установки задач автоматического бэкапа при вопросе скрипта установки), скрипт бэкапа автоматически добавляется в планировщик заданий cron.

Добавление осуществляется путем создания символьной ссылки /etc/cron.daily/backup-voltexpert-pg-db. По умолчанию, задачи из данной директории в Astra Linux выполняются ежедневно в районе 6 утра. Для изменения времени запуска необходимо отредактировать файл /etc/crontab.

13.2.8. Восстановление из бэкапа

Перед восстановлением с бэкапа необходимо остановить VoltExpert Server запуском stop-server.bat из папки с установленной программой.

Если использовались сторонние средства бэкапирования - необходимо обратиться к их документации за инструкциями по восстановлению БД / виртуальной машины.

Если для бэкапа использовался Скрипт бэкапа - для восстановления можно использовать утилиту pg_restore

pg_restore -d voltexpert voltexpert-server-db-2018-01-01.backup

В среде Windows удобно использовать интерфейс pgAdmin, который идет в комплекте поставки с программой.

Восстановление с помощью pgAdmin состоит из следующих шагов:

  1. Запустить pgAdmin (например, из меню Пуск).

    pgAdmin в Пуск

  2. Подключиться к СУБД. Для этого в окне pgAdmin дважды кликнуть на инстанс СУБД в списке и ввести пароль, указанный в параметре spring.datasource.password Файл конфигурации.

    Подключение к СУБД

  3. Создать новую БД, в которую будет происходить восстановление (не обязательно, но желательно восстанавливать не текущую БД, а в новую на случай, если что-то пойдет не так). Для этого кликнуть правой кнопкой мыши на «Базы данных», выбрать пункт «Новая база данных…»

    Создать БД...

    Ввести название новой БД

    Параметры новой БД

  4. Выбрать пункт меню «Восстановить…» на необходимой БД.

    Восстановить БД

  5. Выбрать файл, с которого необходимо произвести восстановление и нажать «Восстановить».

    Выбор файла бэкапа

  6. Дождаться восстановления БД и нажать «Завершено».

    Восстановление завершено

  7. Поменять в Файл конфигурации имя БД.

    Поменять имя БД в конфиге

  8. Запустить VoltExpert сервер (например, с помощью иконки на рабочем столе) и убедиться, что все работает.

13.3. Установка и настройка клиентской части

13.3.1. Системные требования

Важно

Для работы клиентской части VoltExpert требуется установленная Java 17.

В связи с отсутствием бесплатных вариантов Java 17 в Реестре Российского ПО, ее приобретение и установка в Linux производится покупателем VoltExpert отдельно от приобретения и установки VoltExpert.

Дистрибутив VoltExpert для Windows включает в себя бесплатное open source ПО Java 17 (не включенное в Реестр Российского ПО), поэтому для установки клиентской части VoltExpert на Windows не требуется дополнительная установка Java 17.

Минимальные системные требования

  • Операционная система

    • Windows 7/8/10/11 - 64 bit с установленными рекомендуемыми Microsoft обновлениями

    • ОС семейства Linux с установленной Java 17 (например, Astra Linux с Axiom JDK 17)

  • 1 ГБ ОЗУ, 1 ядро процессора, 1 ГБ свободного места на диске.

  • Разрешение экрана 1280х768.

Рекомендуемые системные требования

  • Операционная система

    • Windows 11 64 bit с установленными рекомендуемыми Microsoft обновлениями

    • Astra Linux Common Edition версии 2.12.45.5 и новее

  • Установленная Axiom JDK 17;

  • 2 ГБ ОЗУ, 2 ядра процессора, 2 ГБ свободного места на диске.

  • Разрешение экрана 1920х1080.

При интенсивной работе с большими схемами для комфортной работы рекомендуется использовать два монитора.

13.3.2. Установка

13.3.2.1. Установка на Windows

  1. Подключить ключ Guardant к USB-порту компьютера.

  2. Установить драйвер ключа Guardant с сайта производителя (или из комплекта поставки).

  3. Запустить дистрибутив клиента VoltExpert (обычно voltexpert-client.exe).

  4. Ознакомиться с лицензионным соглашением, принять его условия и нажать Далее.

    Лицензионное соглашение

  5. Выбрать папку установки программы (рекомендуется оставить предлагаемую по умолчанию).

    Папка установки программы

  6. Выбрать устанавливаемые компоненты

    Выбор компонентов

  7. Выбрать название папки в меню «Пуск».

    Название папки в Пуск

  8. Проверить выбранные параметры и нажать Установить.

    Всё готово к установке

  9. После завершения установки при необходимости выбрать пункт «Сбросить прошлые настройки (если есть)». Данный пункт возвращает все настройки пользователя на настройки по умолчанию. Это может быть полезно, если например, пользователь передвинул окно за пределы экрана и не может найти его. Нажать «Завершить».

    Завершить

  10. Дождаться запуска клиента.

  11. Настроить подключение и рабочее место как это показано в разделе Настройка подключения.

13.3.2.2. Установка на Linux

Для установки клиента VoltExpert на Linux необходимо выполнить следующие действия:

  1. Подключить USB-токен защиты

  2. Приобрести и установить Axiom JDK 17. Сайт производителя Axiom JDK 17.

  3. Запустить скрипт установки клиента. Для этого необходимо распаковать архив с дистрибутивом и запустить скрипт установки install-voltexpert-client.sh.

    Во время первоначальной установки скрипт проделывает следующие действия:

    • Скачивает и устанавливает Liberica JRE 17 (при использовании ключа --java или выборе варианта установки Java при вопросе)

    Примечание

    данный пункт утратил актуальность в связи с тем, что Liberica JRE 17 стала недоступна в РФ и теперь требуется приобретение и установка Axiom JDK 17

    • Устанавливает VoltExpert Client в папку /opt/voltexpert-client

    • Устанавливает конфигурацию клиента в папку /var/opt/voltexpert-client

    • Создает ярлык «VoltExpert Client.desktop» на рабочем столе текущего пользователя.

    Данный скрипт можно запустить в интерактивном режиме (без параметров), также возможно указать следующие параметры:

    • --java | -J - установить Liberica JRE 17, загрузив его с сайта производителя. В текущий момент при работе в РФ данный ключ использовать нельзя, необходимо приобрести и установить Axiom JDK 17 вручную.

    • --nojava | -j - не устанавливать и не задавать вопрос по поводу отсутствия Liberica JRE 17

    • остальные параметры касаются обновления и рассмотрены в разделе Обновление на Linux.

    Для запуска установки в терминале в каталоге с дистрибутивом клиента требуется выполнить следующую команду:

    unzip voltexpert-client-linux.zip    # указать имя файла дистрибутива
    ./install-voltexpert-client.sh       # можно добавить --java или --nojava для того, чтобы не отвечать на вопрос об установке Liberica JRE 17
    

    Далее следуйте инструкциям установщика. Скриншот ниже показывает пример установки на чистую Astra Linux Common Edition

    Установка клиента на Linux
  4. Запустить с рабочего стола ярлык VoltExpert Client

  5. Настроить подключение и рабочее место как это показано в разделе Настройка подключения.

13.3.2.3. Установка из ZIP-архива

Ручная установка возможна для любых совместимых ОС (Windows / Linux). Для этого необходимо проделать следующие шаги:

  1. Распаковать архив с клиентской частью VoltExpert в любую папку на жестком диске.

  2. Установить Java Runtime Environment (JRE) версии 17 или выше.

  3. Запустить файл voltexpert-client.bat (Windows) или voltexpert-client.sh (Linux) для запуска клиента.

  4. Настроить подключение и рабочее место как это показано в разделе Настройка подключения.

13.3.2.4. Настройка подключения

  1. Если клиент запускался с машины, на которой установлен сервер, то сразу после установки клиент залогинится под демо-учеткой и можно будет проверить работу со схемами.

    Сервер успешно стартанул

  2. Если VoltExpert Server установлен на другой машине, появится ошибка с рекомендацией зайти в «Настройки - Настройки подключения».

    Сервер недоступен

    В этом случае надо в указанном пункте меню ввести адрес и порт сервера (сервер должен быть запущен).

    Настройки подключения

  3. Сразу после установки программа авторизует пользователя под учетной записью guest (Гость). Данной демо-записи доступны для просмотра только 4 примера схем.

    Права доступа гостя

    Для того, чтобы создать учетные записи реальных пользователей и выдать им права, необходимо зайти в систему из клиента под учетной записью администратора.

    Для этого надо указать учетные записи администратора в разделе Настройки - Текущий пользователь. Пароль администратора вы можете найти в комплекте поставки сервера.

    Настройки пользователя

    Подробную информацию о создании пользователей и выдаче им прав можно получить здесь: Список пользователей.

  4. После создания необходимых учетных записей - необходимо указать реального пользователя в разделе Настройки - Текущий пользователь и закрыть программу для того, чтобы настройки пользователя сохранились.

    Настройки реального пользователя

13.3.3. Порядок обновления

13.3.3.1. Обновление на Windows

  1. Убедиться, что на компьютере установлен клиент VoltExpert. Если клиент не установлен, необходимо сразу поставить новую версию используя раздел Установка.

  2. Запустить дистрибутив клиента VoltExpert (обычно voltexpert-client.exe).

  3. Установщик сообщит, что найдена старая версия программы и предложит что с ней сделать.

    Выбор варианта обновления или установки рядом

    • При выборе Yes - версия будет обновлена на текущую (рекомендуется).

    • Если по каким-либо причинам необходимо оставить старую версию и рядом поставить новую, необходимо выбрать No и в дальнейшем руководствоваться разделом Установка.

  4. Ознакомиться с лицензионным соглашением, принять его условия и нажать Далее.

    Лицензионное соглашение

  5. Проверить компоненты для установки и нажать Далее.

    Выбор компонентов

  6. Проверить выбранные параметры и нажать Установить.

    Всё готово к установке

  7. После завершения установки при необходимости выбрать пункт «Сбросить прошлые настройки (если есть)». Данный пункт возвращает все настройки пользователя на настройки по умолчанию. При обновлении обычно не требуется устанавливать эту галочку. Нажать «Завершить».

    Завершить

  8. Дождаться запуска клиента. Если не был выбран пункт «Сбросить прошлые настройки (если есть)», клиент запустится со старыми учетными данными.

13.3.3.2. Обновление на Linux

  1. Запустить скрипт установки клиента. Для этого необходимо распаковать архив с дистрибутивом и запустить скрипт установки install-voltexpert-client.sh.

    Во время обновления скрипт производит следующие действия:

    • Скачивает и устанавливает Liberica JRE 17 (при использовании ключа –java или выборе варианта установки Java при вопросе)

    Примечание

    данный пункт утратил актуальность в связи с тем, что Liberica JRE 17 стала недоступна в РФ и теперь требуется приобретение и установка Axiom JDK 17

    • Останавливает старый клиент, архивирует старую версию и конфиги в /var/opt/voltexpert-client/backups

    • Удаляет директорию /opt/voltexpert-client

    • Устанавливает VoltExpert Client в директорию /opt/voltexpert-client

    • При необходимости обновляет конфигурационный файл /var/opt/voltexpert-client/user.properties (при использовании ключа --config или выборе варианта обновления конфига при вопросе)

    • Создает ярлык «VoltExpert Client.desktop» на рабочем столе

    Данный скрипт можно запустить в интерактивном режиме (без параметров), также возможно указать следующие параметры:

    • --java | -J - установить Liberica JRE 17, загрузив его с сайта производителя. В текущий момент при работе в РФ данный ключ использовать нельзя, необходимо приобрести и установить Axiom JDK 17 вручную.

    • --nojava | -j - не устанавливать Liberica JRE 17 и не задавать вопрос по поводу его отсутствия

    • --upgrade | -u - обновить клиент, не выводить уведомление о том, что он уже установлен

    • --config | -C - обновить конфигурационный файл /var/opt/voltexpert-client/user.properties данными из дистрибутива (рекомендуется только в случае, если конфигурационный файл был случайно удален или изменен так, что клиент не может запуститься)

    • --noconfig | -c - не обновлять конфигурационный файл /var/opt/voltexpert-client/user.properties и не предлагать его обновление

    Для запуска обновления в терминале в каталоге с дистрибутивом клиента требуется выполнить следующую команду:

    unzip voltexpert-client-linux.zip    # указать имя файла дистрибутива
    sudo ./install-voltexpert-client.sh  # можно добавить нужные ключи, например --upgrade
    

    Далее следуйте инструкциям установщика. Скриншот ниже показывает пример обновления сервера.

    Скриншот обновления клиентской части
  2. Запустить с рабочего стола ярлык VoltExpert Client

  3. Настроить подключение и рабочее место (при необходимости) как это показано в разделе Настройка подключения.

13.4. Часто задаваемые вопросы

13.4.1. Общее

  • Где найти лог-файлы?

    • Windows:

      • Логи сервера: c:\VoltExpert Server\log

      • Логи клиента: c:\VoltExpert Client\log

    • Linux:

      • Логи сервера: /var/log/voltexpert-server/

      • Логи клиента: /var/log/voltexpert-client/

13.4.2. Сервер

  • Как установить сервер на Windows из командной строки?

    У установщика сервера Windows есть несколько параметров командной строки:

    • /silent - тихая установка. Установщик покажет только окно прогресса. Поставит с параметрами по умолчанию. Если найдена установленная версия - будет выполнено обновление;

    • /verysilent - очень тихая установка. Установщик не покажет никаких окон. Поставит с параметрами по умолчанию. Если найдена установленная версия - будет выполнено обновление;

  • Как мне настроить автозапуск сервера в Windows после перезагрузки компьютера?

    Самый простой вариант - установить сервер из дистрибутива с поставленной галочкой «Задачи ежедневного бэкапа» (если собственно бэкап не нужен - можно деактивировать данную задачу в планировщике задач позже). Если данный вариант Вам не подходит, можно настроить запуск voltexpert-server.bat в нужный момент различными средствами Windows (Task scheduler, добавить в автозагрузку)

  • Я поэкспериментировал с программой, насоздавал кучу мусора, а теперь хочу начать работать с новой, чистой базой данных

    Для этого достаточно просто создать новую БД средствами pgAdmin и указать ее в Файл конфигурации.

  • Сервер не запускается и в логах видно несколько записей «liquibase: Waiting for changelog lock….»

    Данная ситуация может возникнуть когда сервер был выключен через несколько секунд после запуска (захватил лок запуска, но не успел освободить его). Для того, чтобы сервер снова заработал, надо запустить скрипт scripts\clear-changelog-lock.ps1 (в Windows) или scripts/clear-changelog-lock.sh (в Linux).

  • Клиент не может подключиться к серверу с другого компьютера. Что делать?

    Проверьте, что в настройках Windows|Linux Firewall открыт TCP порт 7770 (или другой, если он менялся в конфиге).

  • Как обновить версию PostgreSQL на Windows?

    Обновление версии PostgreSQL состоит из следующих шагов:

    • Остановить VoltExpert Server

    • Создать бэкап БД VoltExpert

    • Установить новую версию PostgreSQL (например, 14) в соответствии с инструкцией на сайте производителя СУБД.

    • Восстановить БД VoltExpert из бэкапа на новой версии PostgreSQL

    • Изменить параметры доступа к БД в файле c:\VoltExpert Server\config\application.properties как указано в Файл конфигурации.

    • Запустить VoltExpert Server, убедиться, что все работает. Если сервер не запускается, а в логах видна ошибка «The authentication type 10 is not supported.» - требуется изменить тип аутентификации СУБД

    • Остановить / удалить старую версию PostgreSQL

    • Убедиться что настроено бэкапирование БД VoltExpert в новой версии СУБД.

    Подробную информация по обновлению PostgreSQL под Windows со скриншотами можно скачать по ссылке: Обновление Postgres 9.6 -> 14 на Windows

  • После обновления на PostgreSQL 10+ сервер не запускается, в логах ошибка «The authentication type 10 is not supported.»

    Ошибка в логах

    Начиная с версии 10 в PostgreSQL изменился тип аутентификации по умолчанию. Для того, чтобы сервер заработал, требуется изменить тип аутентификации на md5. Для этого:

    • Меняем password_encryption на md5 в postgresql.conf (для PostgreSQL 14 он находится в папке C:\Program Files\PostgreSQL\14\data)

      Изменение аутентификации в postgresql.conf

    • Меняем во всех строках pg_hba.conf (для PostgreSQL 14 он находится в папке C:\Program Files\PostgreSQL\14\data) METHOD на md5 и добавляем строку для аутентификации всех подключений по md5

      Изменение аутентификации в pg_hba.conf

    • Обновляем пароль postgres, чтобы восстановить его хэш в md5. Для этого выполняем команду

      ALTER ROLE postgres WITH PASSWORD 'PASSWORD_FROM_APPLICATION_PROPERTIES';
      

      Запуск Query tool

      Изменение пароля postgres

    • Перезапускаем сервис нового PostgreSQL (CTRL-SHIFT-ESC)

      Перезапуск сервиса postgres

    • После этого ошибка аутентификации, связанная с md5 должна уйти.

13.4.3. Клиент

  • Я хочу обновить версию клиента, но боюсь, что слетят настройки пользователей, что мне делать?

    Настройки пользователя останутся прежними, если при установке

    • в Windows не ставить галку «Сбросить прошлые настройки (если есть)».

    • в Linux не указывать параметр --noconfig (или ответить «y» на вопрос «Обнаружены настройки VoltExpert /var/opt/voltexpert-client/user.properties от установленной версии. Использовать их (рекомендуется)? [Y/n]» скрипта установки).

  • Как поставить/обновить клиента в Windows из командной строки?

    У установщика клиента есть несколько параметров командной строки:

    • /silent - тихая установка. Установщик покажет только окно прогресса. Также, если найдена установленная версия и не указаны флаги /upgrade или /new, будет отображено окно выбора варианта установки (обновление / установка рядом);

    • /verysilent - очень тихая установка. Установщик не покажет никаких окон. Поставит с параметрами по умолчанию. Если найдена установленная версия и не указан флаг /new, будет выполнено обновление;

    • /upgrade - обновление версии. Если найдена установленная версия, она будет обновлена. Аналог нажатия Yes в окне

      Выбор варианта обновления или установки рядом

    • /new - установка версии «рядом». Если найдена установленная версия, новая версия будет установлена в другую папку. Аналог нажатия No в окне

      Выбор варианта обновления или установки рядом

    Пример запуска для скрытой установки обновления: voltexpert-client.exe /verysilent /upgrade