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


Фото
- - - - -

Перенос сервера на внешнюю БД

СУБД DrWeb Enterprise

  • Please log in to reply
82 ответов в этой теме

#1 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 25 Апрель 2012 - 13:49

Добрый день.

В организации становится всё больше станций с установленными агентами и наконец "созрел" на переход с внутренней базы на внешнюю. Не совсем понятно каким руководством можно пользоваться для данного мероприятия, я бы даже сказал операции :ph34r:

Нашел две статьи на ВиКи:
http://wiki.drweb.com/index.php/PostgreSQL_как_внешняя_СУБД_для_ES
http://wiki.drweb.com/index.php/Смена_типа_СУБД_Dr.Web®_Enterprise_Suite

Плюс в руководстве администратора есть раздел посвященный смене СУБД (как я понял тоже самое что и во второй ссылке)
Каким руководством пользоваться? Как проверить что работает именно внешняя СУБД и что оно нормально работает? Может быть есть еще какие-то ньансы?

#2 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 25 Апрель 2012 - 14:42

На абстрактный вопрос напрашивается абстрактный ответ :)

1. Какую СУБД планируете использовать в качестве внешней?
2. Что именно из конкретики непонятно?

1. Проверить очень просто - после перехода ваша внутренняя БД (по умолчанию это файл dbinternal.dbs в каталоге var больше не будет обновлять свою дату модификации, ну и ессно, в файле конфигурации drwcsd.conf будет указан не он, впрочем, это можно увидеть и через Конфигурацию сервера веб-интерфейса управления). И, как апогей - в логе drwcsd.log вы увидите, что используется при загрузке сервера в качестве СУБД.
(exit 0)

#3 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 25 Апрель 2012 - 14:54

1) Ипользовать буду PostgreSQL, я так понимаю что особого выбора нет из бесплатных вариантов.
2) Две инструкции, какую использовать? В одной из них указана конкретная версия Postgre 8.3.8 , т.е. если следовать ей, то более новые версии не подходят что-ли? O_o

Про проверку СУБД всё понял, очень доходчиво, спасибо :)

#4 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 25 Апрель 2012 - 15:13

1. В Release Notes, а также в документации к ES "Руководство администратора" (кстати, какую версию ЕС используете?) указаны поддерживаемые версии и рекомендуемые ODBC драйвера (если вы используете ES под Windows)

2. Первая ссылка о как бы изначальном использовании PostgreSQL в качестве СУБД, вторая ссылка непосредственно о смене.

От себя могу резюмировать общий алгоритм таким образом:
1. Устанавливаете СУБД.
2. Создаете там (в СУБД) пользователя и БД для ES - например при помоши батника create_drwebes_pgsql.cmd:

rem BEGIN OF FILE


rem Create user
psql --dbname postgres --username postgres --command "CREATE ROLE drwcs WITH NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD 'drwcs';"

rem Create tablespace
rem mkdir C:\DATA
mkdir c:\data\pg_drwebes
psql --dbname postgres --username postgres --command "CREATE TABLESPACE drwebes_ts OWNER postgres LOCATION 'C:/data/pg_drwebes';"

rem Create database
psql --dbname postgres --username postgres --command "CREATE DATABASE drwebes OWNER postgres ENCODING 'UTF8' TABLESPACE drwebes_ts;"

rem Create schema
psql --dbname drwebes --username postgres --command "CREATE SCHEMA drwcs AUTHORIZATION drwcs;"

rem Create alter role
psql --dbname postgres --username postgres --command "ALTER ROLE drwcs SET search_path to '$user', 'public';"

rem END OF FILE

Результат: будет создана БД drwebes и пользователь drwcs с паролем drwcs в качестве владельца БД
Обратите внимание, что в данном скрипте предполагается, что БД будет расположена в каталоге c:\data, что не является обязательным и остается на ваш выбор, а также используется кодировка UTF-8 для БД, что обязательно.

3. Устанавливаете на ПК, где ES-сервер, рекомендованный драйвер ODBC,
4. Там же, используя вкладку System DSN Настроек ODBC, добавляете новое подключение, выбираете UNICODE вариант Postgresql драйвера и настраиваете ODBC подключение в соответствии с мануалом. Test connection должен пройти успешно.
5. Далее по http://wiki.drweb.com/index.php/Смена_типа_СУБД_Dr.Web®_Enterprise_Suite
(exit 0)

#5 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 25 Апрель 2012 - 15:18

Foxes,
Версия ES 6.0.3 (ОС действительно Windows)
Огромное спасибо за подробную инструкцию, буду пробовать :)

#6 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 25 Апрель 2012 - 15:24

Предварительно ознакомьтесь, пожалуйста, с Release Notes и руководством администратора - есть известные проблемы с некоторыми версиями odbc драйверов.
(exit 0)

#7 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 25 Апрель 2012 - 16:12

Я дико извиняюсь, но не совсем понимаю в какой момент база импортируется в PostgreSQL, т.е. на данный момент:
1) Установил PostgreSQL
2) Создал пустую базу и пользователя
3) Установил драйвер ODBC
4) Добавил новое подключение и проверил его.
Как я понял, если просто подключить новую базу, то заново нужно будет назначать группы клиентским ПК и настраивать ES-сервер? O_o Или не так понял?

P.S. Просто ежедневно работают более 250 пользователей и заново их подключать будет не очень удобно

Сообщение было изменено VladimirN: 25 Апрель 2012 - 16:13


#8 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 25 Апрель 2012 - 16:18

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

п. 5 моего эссе.
(exit 0)

#9 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 26 Апрель 2012 - 08:17

Доброе утро.

Вроде всё получилось. Есть пара ньансов которые могут пригодиться тому кто пойдет таким же путём :) :
1) Если создавать базу через cmd (bat) файл, то запускать его надо из папки PostgreSQL\{версия}\bin или добавить строку смены каталога перез запуском основных команд.
2) Если создавать базу через cmd (bat) файл, то на папку c:\data\pg_drwebes надо дать права пользователю postgres на запись (Через безопасность папки)
3) Теоретически можно добавить в конец файла строчку pause чтобы контролировать правильность выполнения команд.
4) В момент указания в интерфейсе ES данных о новой базе (логин, пароль и т.п.) есть пункт "Имя источника данных, DSN", я честно говоря не сразу понял что это за штука и писал туда имя базы :rolleyes: , но это было неправильно. Правильно писать имя которое выводится при добавлении нового источника данных ODBC, в моём случае это было PostgreSQL35W

Еще раз спасибо Foxes за помощь. :)

Сообщение было изменено VladimirN: 26 Апрель 2012 - 08:17


#10 durashki

durashki

    Member

  • Posters
  • 382 Сообщений:

Отправлено 26 Апрель 2012 - 09:00

VladimirN, а зачем на винде пользовать PostgreSQL??? Чем сиквел не нравится??? Бесплатного последнего хватить за глаза на любое колличество пользователей.

#11 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 26 Апрель 2012 - 09:47

Владимир все правильно сделал, не советуйте ему плохого (если вы про MS SQL CE или Express) :)
(exit 0)

#12 VladimirN

VladimirN

    Member

  • Posters
  • 133 Сообщений:

Отправлено 26 Апрель 2012 - 12:15

durashki,
Основная цель была перевести именно на внешнюю БД, поскольку с внутренней уже начали возникать проблемы. Выбирал изначально из PostgreSQL и SQL CE, почему именно выбрал Postgre сейчас уже не скажу -- не помню :blush: , но наверное в случае если когда-нибудь понадобиться перевести ОС на базу Линукса, то это должно пройти проще.

Foxes,
Хочется в это верить :)
Вопрос не совсем по теме, но может подскажите: правильно ли я понял, что внешняя база (в отличии от внутренней) не "бэкапится" средствами ES? Т.е. будет правильно настроить резервное копирование средствами самого PostgreSQL?

#13 durashki

durashki

    Member

  • Posters
  • 382 Сообщений:

Отправлено 26 Апрель 2012 - 12:37

VladimirN, СЕ все же жесть.. А вот экспресс отлично работает.. Это и есть внешняя база данных. Прелесть вся в том, что как только контора перерастет определенные размеры, возникнет снова проблема, захочится перевести все к одним стандартам, а уж сервера сиквела появляются по любому..

Foxes, опа.. .НУ давайте расскажите, какие проблемы с MS SQL express возникнут у пользователя??

Сообщение было изменено durashki: 26 Апрель 2012 - 12:39


#14 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 26 Апрель 2012 - 12:59

Вопрос не совсем по теме, но может подскажите: правильно ли я понял, что внешняя база (в отличии от внутренней) не "бэкапится" средствами ES? Т.е. будет правильно настроить резервное копирование средствами самого PostgreSQL?


Бэкапится, но вы можете и средствами постгреса это делать - на ваш выбор.

.НУ давайте расскажите, какие проблемы с MS SQL express возникнут у пользователя??


"Тут ведь как... Можете взлететь, а можете не взлететь..." (с) Могут возникнуть, а могут и нет. Статистика показывает, что почему-то проблем больше с MS SQL и Oracle-ом, чем с PostgreSQL. Конечно же, непреодолимых фатальных проблем нет, иначе бы поддержку MS SQL выпилили бы целиком.
(exit 0)

#15 durashki

durashki

    Member

  • Posters
  • 382 Сообщений:

Отправлено 26 Апрель 2012 - 13:58

Foxes, не выпилили бы никак.. Забили бы предпоследние гвоздики в свой ящичек для крупных клиентов.. Поверьте, на опыте своей и еще двух достаточно крупных контор - Ставится один сервер SQL в конторе на все, начиная от wsus и заканчивая 1С и... И вебы и все остальное... Все четко бекапится и работает как часики на двух серверах в кластере, чего не умеет делать тот же PostgreSQL. Ни кто не будет колхозить и ставить для этого одно, для второго другое с разными ОС.

Сообщение было изменено durashki: 26 Апрель 2012 - 13:59


#16 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 26 Апрель 2012 - 15:17

durashki, вы, наверно, знаете, что тот же Firefox использует для своих нужд sqlite? Почему вы не требуете от него использования Оракл или МС СКЛ БД? Почему Симантек использует внутр. БД (кажется от ibm) и в качестве опции может предложить только MS SQL и ничуть от этого не страдает?
Ответ прост - это проблемы внутренней реализации самого ПО - какие он использует БД и для чего, лишь бы удовлетворял требованиям по производительности, надежности, функциональности, безопасности и т.д.

Если СУБД будет приходить вместе с ESS, устанавливаться и настраиваться средствами инсталлятора ESS.
Если ESS будет обеспечивать, через тот же веб-интерфейс управление/обслуживание используемой СУБД - разве администратора будет беспокоить - какая СУБД используется?

Все четко бекапится и работает как часики на двух серверах в кластере, чего не умеет делать тот же PostgreSQL


Что из перечисленого не умеет делать pgsql? Бэкапиться, работать как часики? Умеет.
В отношении обеспечения отказоустойчивости у pgsql есть свои пути, кроме как использования кластеров от Microsoft.
Например в 9.1 реализовано Synchronous replication http://wiki.postgresql.org/wiki/Synchronous_replication
В качестве примера высоконагруженной работы с распределениям по нодам можно привести heroku.com
(exit 0)

#17 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 26 Апрель 2012 - 16:34

Хочу уточнить, что я не пытаюсь опорочить доброе имя MS SQL :) Речь о том, что для эффективной работы с БД, желательно, чтобы этих вариантов БД было как можно меньше. На чем остановить свой выбор - речь об этом. MS SQL пока что не кроссплатформенна, а значит ее использование лишает пользователя возможности разнести ESS и СУБД на разные машины, если у него нет windows-серверов.
(exit 0)

#18 basid

basid

    Guru

  • Posters
  • 4 520 Сообщений:

Отправлено 26 Апрель 2012 - 18:10

знаете, что тот же Firefox использует для своих нужд sqlite?

Никого не колышет какой встраиваемой базой пользуется приложение.

#19 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 400 Сообщений:

Отправлено 27 Апрель 2012 - 09:50

Никого не колышет какой встраиваемой базой пользуется приложение.


А в чем отличия, Василий, для администратора? Между встраиваемой и не встраиваемой?
Обслуживания, в случае больших объемов и нагрузки, требуют и та и другая. Бэкапа тоже. Возможностей по настройке и функционалу у встраиваемой меньше.

На мой взгляд, заблуждение в том, что внешняя (условно ее так назовем) СУБД, считается какой-то отдельной сущностью. Отдельной от основного ПО. В общем случае, так может быть, но не обязательно. Другой вопрос, что, скажем интегрировать управление и обслуживание такой СУБД, как Оракл в ЕС - это сложно и проблемно. Майкрософтовские БД проприетарные и некроссплатформенные. Есть конечно много чудных проприетарных и кроссплатформенных, например, IBM DB2, но это удорожает стоимость.
На сегодняшний день, по совокупности качеств, как мне думается, оптимальным вариантом для ЕС являются PostgreSQL или Firebird (Он, правда, не поддерживается).

Предлагаю рассматривать используемую СУБД, как библиотеку или модуль, в составе ЕС, при условии, что все обслуживание будет доступно средствами самого ЕС :) Сейчас это, конечно не так, именно поэтому поддерживается некая линейка СУБД, задачи по обслуживанию которых, на плечах администратора, а это значит, что каждый выбирает по своим возможностям и знаниям. В этих условиях, конечно же, абсолютно равноправный выбор как постгреса, так и мс скл, так и оракла. Вот почему durashki тоже прав :)
(exit 0)

#20 durashki

durashki

    Member

  • Posters
  • 382 Сообщений:

Отправлено 27 Апрель 2012 - 11:00

Foxes, Мне не интересно, что умеет тот.. Крупные конторы не сидят на счетах, а искпользуют эксчейнч, Сервисменеджеры во всем комплекте и еще огромное количество ПО от MS.. И сами понимаете почем глупо не использвать SQL. ВОТ И ВСЕ,. Все остальное мне често даже было лень читать.. Скажу только одно, попробуйте поадминить 1с с пользвателями больше 30 человек с внутренней базой ))) Я над вами посмеюсь во весь голос ))



Also tagged with one or more of these keywords: СУБД, DrWeb Enterprise

Читают тему: 1

0 пользователей, 1 гостей, 0 скрытых