Перейти к содержимому


Содержание d.ch

5 публикаций пользователя d.ch OpenID:


по типу содержимого

Просмотр информации о пользователе

#863483 Ошибка при обновлении сервера DRWEB ES10 до версии ESS11

Отправлено по d.ch в 14 Январь 2019 - 13:12 В: Dr.Web Enterprise Suite

 

Если поправить вручную процесс завершается с той же ошибкой
ERROR: Database xmlupimportdb failed.
но по другой причине -- database.gz содержит хэш и xmlupimportdb не принимает измененный файл.

Хэш можно тоже поправить.

Только тут вопрос, что именно и как Вы изменили.

 

 

Судя по ошибке в логе:

20190110.225300.87 ERR [18863] main   [PgSQL/1] ERROR: length for type varchar must be at least 1, position 116, 00.021, CREATE TABLE alert_settings( settings_set CHARACTER VARYING(36) NOT NULL,name CHARACTER VARYING(45) NOT NULL,value CHARACTER VARYING(0) DEFAULT '', PRIMARY KEY(settings_set, name) )

процедуру импорта не устраивает вот эта часть -- value CHARACTER VARYING(0)

 

Экспорт базы database.gz содержит xml, в котором таблица alert_settings выглядит так:
<record>
 <field>1</field>
 <field>0</field>
 <field>36</field>
 <field>alert_settings</field>
 <field>settings_set</field>
 <field>2</field>
 <field></field>
 <field>settings%Sset</field>
</record>
<record>
 <field>2</field>
 <field>0</field>
 <field>45</field>
 <field>alert_settings</field>
 <field>name</field>
 <field>2</field>
 <field></field>
 <field>setting%Sname</field>
</record>
<record>
 <field>3</field>
 <field>0</field>
 <field>0</field>
 <field>alert_settings</field>
 <field>value</field>
 <field>1</field>
 <field></field>
 <field>setting%Svalue</field>
</record>

В SQL-представлении исходная таблица выглядит так:
CREATE TABLE alert_settings (
   settings_set character varying(36) NOT NULL,
   name character varying(45) NOT NULL,
   value text DEFAULT ''::text
);

Т.е. при экспорте/импорте поле value text превращается в value CHARACTER VARYING(0)
Посмотрел как выглядят другие поля text (не более 10 полей) в файле экспорта --
вторая секция <field></field> для таких полей содержит 4 (возможно, есть варианты!)

Заменил этот кусок
<record>
 <field>3</field>
 <field>0</field>
 <field>0</field>
 <field>alert_settings</field>
 <field>value</field>
 <field>1</field>
 <field></field>
 <field>setting%Svalue</field>
</record>

 

на

 

<record>
 <field>3</field>
 <field>4</field>
 <field>0</field>
 <field>alert_settings</field>
 <field>value</field>
 <field>1</field>
 <field></field>
 <field>setting%Svalue</field>
</record>

 

и попытался загрузить, проверка хэша не позволила.




#863452 Ошибка при обновлении сервера DRWEB ES10 до версии ESS11

Отправлено по d.ch в 13 Январь 2019 - 07:00 В: Dr.Web Enterprise Suite

 

Т.е. старые клиенты используют drwcsd.pub, а новые drwcsd-certificate.pem, и надо бы эти файлы подложить Агентам, но не смог понять где они должны быть, на рабочем компьютере с Агентом версии 11 не нашел ни того не другого.
Потому что они на сервере хранятся. Можно, конечно, положить в расшаренную директорию. А потом прицепить Агентов. Например, как здесь:

https://forum.drweb.com/index.php?showtopic=331058

 

Никогда не знал как подключить Агентов после замены адреса сервера.

dwservice -e es.server.address

es-service -e es.server.address     # ESS11

Спасибо!




#863451 Ошибка при обновлении сервера DRWEB ES10 до версии ESS11

Отправлено по d.ch в 13 Январь 2019 - 06:54 В: Dr.Web Enterprise Suite

 

20190111.151759.49 ERR [16772] wrk:5  [Proto/Common] tcp://xx.xx.xx.xx client detected protocol violation "invalid server signature"
в консоли все станции "отключены".
Если правильно понимаю, дело в новых открытых ключах шифрования сервера, которых нет у клиентов.

Нет, нужно притащить из старого бэкапа drwcsd.pri в /var/drwcs/etc/ и сгенерировать с него сертификат – /usr/local/drwcs/drwsign gencert -private-key /var/drwcs/etc/drwcsd.pri /var/drwcs/etc/drwcsd-certificate.pem, cp /var/drwcs/etc/drwcsd-certificate.pem /usr/local/drwcs/webmin/install, если не наврал с путями. Хотя да, лучше это до upgradedb сделать, я этот момент не указал сразу. Но не принципиально.

 

 

Вернул систему в состояние до установки ESS11, поставил ESS с чистой конфигурацией,
настроил подключение к базе postgres, остановил сервер, сделал upgradedb,
скопировал drwcsd.pri от старого сервера в /var/drwcs/etc, сгенерировал сертификат
/usr/local/drwcs/bin/drwsign gencert -private-key=drwcsd.pri drwcsd-certificate.pem
скопировал новый сертификт в репозиторий /var/drwcs/repository/20-drwcs/11020181112000000/common/webmin/install/drwcsd-certificate.pem
заменил в конфигурации drwcsd.conf новый ID сервера на старый, запустил сервер.

Станции получили обновления, ждут перезагрузки, свою перезагрузил, пока все хорошо.

Большое спасибо всем!




#863434 Ошибка при обновлении сервера DRWEB ES10 до версии ESS11

Отправлено по d.ch в 11 Январь 2019 - 16:47 В: Dr.Web Enterprise Suite

Либо вообще установиться без бэкапа, если БД в постгресе жива, заново настроить соединение с постгресом, остановить сервер и выполнить /usr/local/drwcs/drwcs.sh upgradedb.

Пошел по этому пути, запустил сервер, в drwcsd.log получил сообщения:
20190111.151759.49 ERR [16772] wrk:5  [Proto/Common] tcp://xx.xx.xx.xx client detected protocol violation "invalid server signature"
в консоли все станции "отключены".
Если правильно понимаю, дело в новых открытых ключах шифрования сервера, которых нет у клиентов.
В Руководстве по установке написано - "Начиная с 11 версии Сервера открытый ключ используется для связи с клиентами предыдущих версий.
Остальной функционал перенесен на сертификат, который, в том числе, содержит в себе открытый ключ шифрования."
Т.е. старые клиенты используют drwcsd.pub, а новые drwcsd-certificate.pem,
и надо бы эти файлы подложить Агентам, но не смог понять где они должны быть, на рабочем компьютере с Агентом версии 11 не нашел ни того не другого.
 

Либо, как вариант, поправить этот бэкап вручную.

Если поправить вручную процесс завершается с той же ошибкой
ERROR: Database xmlupimportdb failed.
но по другой причине -- database.gz содержит хэш и xmlupimportdb не принимает измененный файл.




#863405 Ошибка при обновлении сервера DRWEB ES10 до версии ESS11

Отправлено по d.ch в 10 Январь 2019 - 18:29 В: Dr.Web Enterprise Suite

Добрый день,

 

Upgrade существующей базы при обновлении сервера завершается с ошибкой:

 

Database already exists.
Upgrading existing database (if required) ...
ERROR: Database xmlupimportdb failed.
Installation failed.
 

в /var/drwcs/log/drwcsd.log ошибка:

 

20190110.225300.87 ERR [18863] main   [PgSQL/1] ERROR: length for type varchar must be at least 1, position 116, 00.021, CREATE TABLE alert_settings( settings_set CHARACTER VARYING(36) NOT NULL,name CHARACTER VARYING(45) NOT NULL,value CHARACTER VARYING(0) DEFAULT '', PRIMARY KEY(settings_set, name) )
 

дистрибутив сервера drweb-11.00.1-201811120-esuite-server-unix-freebsd-i686.tar.gz.run