Обновление OTRS 3.0.11 до текущей версии

Moderator: DenisBY

Locked
banzayats
Znuny newbie
Posts: 12
Joined: 12 Dec 2011, 10:05
Znuny Version: OTRS 3.1.0.beta2
Company: Eximbank
Location: Kiev, Uktraine

Обновление OTRS 3.0.11 до текущей версии

Post by banzayats »

Уважаемое сообщество!
Наша организация использует OTRS долгое время и у нас накопился большой архив заявок, база знаний и база конфигурационных единиц. С экспортом/импортом последних двух (FAQ и CMDB) вопросов не возникает.
Вопрос заключается в следующем: каким образом можно экспортировать архив заявок в текущей версии OTRS, а потом импортировать его в последнюю версию?
Цепочку обновлений (3.0->3.1->3.2->3.3) проделывать не хочется по нескольким причинам:
  • мы используем дополнение KIX4OTRS;
  • мы добавили собственные функции и внесли правки в код;
  • версия операционной системы, в которой установлен OTRS, безбожно устарела (Fedora 11).
Поэтому неизвестно какие проблемы могут возникнуть и насколько успешно будет проходить такое последовательное обновление.
Исходя из вышеперечисленного, я принял решение поступить следующим образом:
  • настроить новый сервер с современным дистрибутивом (Centos 7);
  • установить на него последнюю версию OTRS (3.3.8) (пока что можно без KIX4OTRS);
  • экспортировать накопленную информацию из старой системы.
  • импортировать данные в новую систему
В данный момент мы используем файловую систему для хранения заявок (ArticleStorageFS). Я так понимаю, что просто скопировать директорию otrs/var/article недостаточно; необходимо также экспортировать связи, которые, как я понял, хранятся в базе данных. Но структура баз старого OTRS (вместе с KIX4OTRS) и нового OTRS отличаются и при простом экспорте/импорте возникнут ошибки.
Как лучше поступить в данной ситуации? Есть ли какой-нибудь скрипт, который умеет экспортировать заявки из OTRS?
Буду благодарен за ваши советы.
alexus
Znuny wizard
Posts: 380
Joined: 20 Sep 2010, 16:54
Znuny Version: OTRS 6 CE
Real Name: Alexey Yusov
Company: Radiant System Group s.r.o
Location: Prague
Contact:

Re: Обновление OTRS 3.0.11 до текущей версии

Post by alexus »

Добрый день!
У нас есть опыт импорта тикетов для версии 3.3 (мы сливали 2 базы в одну). Теоретически в вашем случае необходимо делать апдейт только базы и потом эту базу заливать в новую систему.
Alexey Yusov

Production: OTRS CE ITSM 6.0.28 on CentOS 7 + Apache 2.4 + MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator
RS4OTRS marketplace
Stay tuned on our Facebook
((OTRS)) Community Edition - what next?
banzayats
Znuny newbie
Posts: 12
Joined: 12 Dec 2011, 10:05
Znuny Version: OTRS 3.1.0.beta2
Company: Eximbank
Location: Kiev, Uktraine

Re: Обновление OTRS 3.0.11 до текущей версии

Post by banzayats »

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

============ 3.0.11 -> 3.1.21 ==============
1. Создаем резервную установленного OTRS
2. Копируем резервную копию на новый сервер
3. Восстанавливаем базу данных на новом сервере:
mysql> CREATE DATABASE otrs CHARACTER SET utf8;
shell> mysql -p -h localhost otrs < DatabaseBackup.sql
4. Останавливаем сервисы:
shell> service crond stop
shell> service postfix stop
shell> service httpd stop
5. Устанавливаем следующую версию OTRS. Для этого скачиваем пакет и устанавливаем его:
shell> wget http://ftp.otrs.org/pub/otrs//RPMS/rhel ... noarch.rpm
shell> rpm -ivh otrs-3.1.21-01.noarch.rpm
6. Заменяем следующие файлы из резервной копии:
Kernel/Config.pm
Kernel/Config/GenericAgent.pm
Kernel/Config/Files/ZZZAuto.pm
var/*
7. Устанавливаем права доступа:
shell> cd /opt/otrs/
shell> bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=apache --otrs-group=apache --web-group=apache /opt/otrs
8. Обновляем базу данных:
8.1 Обновление схемы часть 1:
shell> cat scripts/DBUpdate-to-3.1.mysql.sql | mysql -p -f -u root otrs
8.2 Проверяем настройки подключения к базе данных в файле Kernel/Config.pm и запускаем скрипт миграции базы данных:
shell> scripts/DBUpdate-to-3.1.pl
Внимание! Нельзя продолжать обновление если скрипт завершился неудачно во избежание потери данных
8.3 Обновление схемы часть 2:
shell> cat scripts/DBUpdate-to-3.1-post.mysql.sql | mysql -p -f -u root otrs
9. Обновляем кэш конфигурации:
shell> bin/otrs.RebuildConfig.pl
shell> bin/otrs.DeleteCache.pl
10. Обновление до следующей версии закончено! Больше информации об изменениях можно прочитать в файле UPGRADING

============ 3.1.21 -> 3.2.16 ==============
1. Устанавливаем следующую версию OTRS. Для этого скачиваем пакет и обновляем его:
shell> wget http://ftp.otrs.org/pub/otrs//RPMS/rhel ... noarch.rpm
shell> rpm -Uvh otrs-3.2.16-01.noarch.rpm
При этом OTRS автоматически сохранит старые конфигурационные файлы
2. Устанавливаем права доступа:
shell> cd /opt/otrs/
shell> bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=apache --otrs-group=apache --web-group=apache /opt/otrs
3. Проверяем необходимые Perl-модули и устанавливаем недостающие:
shell> /opt/otrs/bin/otrs.CheckModules.pl
4. Обновляем базу данных:
4.1 Запускаем скрипт, который поменяет систему хранения данных с MyISAM на InnoDB:
shell> bin/otrs.MySQLInnoDBSwitch.pl
4.2 Проверяем настройки базы данных:
shell> bin/otrs.CheckDB.pl
4.3 Обновляем схему:
shell> cat scripts/DBUpdate-to-3.2.mysql.sql | mysql -p -f -u root otrs
4.4 Запускаем скрипт миграции базы данных от имени пользователя otrs:
Находим пользователя otrs в /etc/passwd:
Меняем:
otrs:x:503:48:OTRS System User:/opt/otrs/:/bin/false
на:
otrs:x:503:48:OTRS System User:/opt/otrs/:/bin/bash
shell> su - otrs
shell> scripts/DBUpdate-to-3.2.pl
Внимание! Нельзя продолжать обновление если скрипт завершился неудачно во избежание потери данных
5. Обновляем кэш конфигурации:
shell> bin/otrs.RebuildConfig.pl
shell> bin/otrs.DeleteCache.pl
6. Удаление метаданных из архивированных заявок.
В OTRS 3.2 из архивируемых заявок удаляется информация об агентах (история просмотров, подписки), что позволяет уменьшить размер данных в базе данных при больших количествах заявок.
Таким образом, для очистки метаданных уже архивированных заявок следует выполнить скрипт:
shell> bin/otrs.CleanupTicketMetadata.pl --archived
Если вы хотите сохранять всю информацию, то в конфигурации системы (SysConfig) следует поменять настройки на "Нет" в следующих параметрах:
Ticket::ArchiveSystem::RemoveSeenFlags
Ticket::ArchiveSystem::RemoveTicketWatchers
7. Обновление до следующей версии закончено! Больше информации об изменениях можно прочитать в файле UPGRADING.md

============ 3.2.16 -> 3.3.8 ==============
1. Устанавливаем следующую версию OTRS. Для этого скачиваем пакет и обновляем его:
shell> wget http://ftp.otrs.org/pub/otrs//RPMS/rhel ... noarch.rpm
shell> rpm -Uvh otrs-3.3.8-01.noarch.rpm
При этом OTRS автоматически сохранит старые конфигурационные файлы
2. Устанавливаем права доступа:
shell> cd /opt/otrs/
shell> bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=apache --otrs-group=apache --web-group=apache /opt/otrs
3. Проверяем необходимые Perl-модули и устанавливаем недостающие:
shell> /opt/otrs/bin/otrs.CheckModules.pl
4. Обновляем базу данных:
4.1 Проверяем настройки базы данных:
shell> bin/otrs.CheckDB.pl
4.2 Обновляем схему:
shell> cat scripts/DBUpdate-to-3.3.mysql.sql | mysql -p -f -u root otrs
4.3 Запускаем скрипт миграции базы данных от имени пользователя otrs:
shell> su - otrs
shell> scripts/DBUpdate-to-3.3.pl
Внимание! Нельзя продолжать обновление если скрипт завершился неудачно во избежание потери данных
5. Обновляем кэш конфигурации от имени пользователя otrs:
shell> su - otrs
shell> bin/otrs.RebuildConfig.pl
shell> bin/otrs.DeleteCache.pl
6. Стартуем серисы:
shell> service httpd start
shell> service postfix start
shell> service crond start
shell> service otrs start
7. Заходим в "Управление пакетами" и обновляем/устанавливаем, удаляем устаревшие.

Обновление закончено!

Также рекомендуют импортировать списки управления доступом (ACL) в новый редактор в панели администрирования.
Locked