Голосовая связь и система унифицированных коммуникаций : Cisco Unity

Отработка отказа репликации Cisco Unity

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Когда аварийное переключение настроено, Cisco Unity использует репликацию Microsoft SQL Server 2000 для репликации данных с активного сервера на неактивный сервер. Если аварийное переключение происходит, репликация данных гарантирует, что текущая конфигурация и данные подписчиков доступны на дополнительном сервере и что после отказовозвращения изменения сделали на вторичном устройстве, в то время как это было активно, реплицированы назад в основного. Репликация выполнена заданиями репликации sql server, которые выполнены сервисом SQLSERVERAGENT.

Когда репликация sql server ломается, транзакции репликации сохранены в таблицах журнала аудита на активном сервере, таким образом, данные могут быть реплицированы в неактивный сервер, когда восстановлена репликация. Если репликация сломана для длительного периода времени, таблицы журнала аудита могут стать большими. Это может вызвать снижение производительности, которое в свою очередь может вызвать плохой ответ TUI и может даже заставить аварийное переключение происходить. Кроме того, база данных Cisco Unity по неактивному серверу не имеет последней конфигурации и данных подписчиков, когда это становится активным сервером.

Предварительные условия

Требования

Удостоверьтесь, что вы завершили Требования для Аварийного переключения Cisco Unity перед настройкой Аварийного переключения Cisco Unity.

Используемые компоненты

Сведения в этом документе основываются на Cisco Unity 4.0 (3) до 5. x .

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

Условные обозначения

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

Репликация монитора

Причины сбоя репликации SQL

Репликация может отказать, если сервис SQLSERVERAGENT не в состоянии запускаться и/или если задачи репликации, которые сервисные выполнения не в состоянии запускать. Эти сбои могут произойти, когда Сервер SQL перезапускает (например, когда сервер Cisco Unity перезагружен) в результате проблем синхронизации, исправлений или приложения безопасности или компьютерной политики.

Используйте журнал событий для мониторинга сервиса SQLSERVERAGENT

Если сервис SQLSERVERAGENT не в состоянии запускаться, событие зарегистрировано в журнале системного события. Например: :

Event Type:	Error
Event Source:	Service Control Manager
Event Category:	None
Event ID:		7001
Date:		5/4/2007
Time:		10:58:47 PM
User:		N/A
Computer:		<servername>
Description:
The SQLSERVERAGENT service depends on the MSSQLSERVER service 
which failed to start because of the following error: 
The account name is invalid or does not exist, or the password 
is invalid for the account name specified. 

Кроме того, Cisco Unity обнаруживает проблему и регистрирует это событие в журнале событий для программы. Рекомендуется создать электронную почту или уведомления пейджера на основе этого события с помощью любого сервиса мониторинга событий. Например, Сервис Мониторинга событий Cisco Unity.

Event Type:	Warning
Event Source:	CiscoUnity_NodeMgr
Event Category:	Run 
Event ID:		1006
Date:		1/1/2007
Time:		9:00:00 AM
User:		N/A
Computer:		<servername> 
Description:
The SQL Server Agent service is not running. It must be running 
in order for replication to take place. 

Используйте журнал событий для мониторинга задач репликации

. Компания Cisco рекомендует следующее: когда задания в журнале событий, что выполнения сервиса SQLSERVERAGENT не в состоянии не запускать, по умолчанию, событие зарегистрированы

Настройте сервер SQL для Регистрации события, когда задача репликации будет не в состоянии запускаться

Выполните следующие действия:

  1. Запустите SQL Server Enterprise Manager.

  2. В левой панели Диспетчера предприятия разверните Microsoft SQL Server> группа сервера SQL> (локальный) (Windows NT)> менеджмент> SQL Server Agent и нажмите Jobs.

  3. В правой панели щелкните правой кнопкой мыши по названию задания и выберите Properties> Notifications.

    Посмотрите Таблицу 1 для списка задач репликации, запущенных сервисом SQLSERVERAGENT.

  4. В <задание> Диалоговое окно со свойствами, перейдите к вкладке Notifications.

  5. Проверьте флажок Write to Windows Application Event Log.

  6. Нажмите OK для закрытия <задание> Диалогового окна со свойствами.

  7. Повторите шаги 3 - 6 для остатка заданий, для которых вы хотите регистрировать события.

Таблица 1 — задачи репликации, запущенные сервисом SQLSERVERAGENT

Задача репликации Описание Категория
Повторно инициализируйте подписки, имеющие сбои подтверждения правильности данных. Повторно инициализирует все подписки, которые имеют сбои подтверждения правильности данных. REPL-аварийный ответ
Проверка агентов репликации Обнаруживает агенты репликации, которые не делают записей системного журнала активно. REPL-проверка
SVRNAME-UnityDb-UnityDbPublication-SVRNAME-3 Распределение UnityDb REPL-распределение
Распределение очищает: UnityDistributionDb Удаляет реплицированные транзакции из базы данных распространения. Очистка REPL-распределения
История агента очищает: UnityDistributionDb Удаляет историю агента репликации из базы данных распространения. Очистка REPL-истории
SVRNAME-UnityDb-3 UnityDb LogReader REPL-читатель-журнала
[SVRNAME].9 Читает очереди для подписок Отложенного обновления. REPL-QueueReader
SVRNAME-UnityDb-UnityDbPublication-3 Снимок UnityDb REPL-снимок
Подписка с истекшим сроком очищает Обнаруживает и удаляет истекшие подписки из публикованных баз данных. Очистка REPL-подписки

Используйте SQL Server Enterprise Manager для мониторинга задач репликации SQLSERVERAGENT

Используйте диспетчера предприятия, чтобы определить, успешно выполняются ли задачи репликации

Выполните следующие действия:

  1. На основном сервере запустите SQL Server Enterprise Manager.

  2. В левой панели Диспетчера предприятия разверните Microsoft SQL Server> группа сервера SQL> (локальный) (Windows NT)> менеджмент> SQL Server Agent и нажмите Jobs.

  3. В правой панели каждое задание имеет значок, который указывает на его успешность или неуспешность. Любое задание с красно-точечным значком отказало. Для любых заданий, которые отказывают, если значение Столбца состояния:

    • При выполнении — значок красного doc не был обновлен с окончательным статусом. Ждите, пока значок не был обновлен.

    • Для любого другого значения щелкните правой кнопкой мыши на имени задания и нажмите View Job History для показа причины, которую отказало задание.

Определите, обрабатываются ли транзакции репликации в состоянии ожидания

Во время простоя репликации могут накопиться транзакции репликации, пока нет больше, чем можно обработать, в то время как система обрабатывает громкость обычного вызова. (Наиболее распространенным примером этого является таймаут ODBC когда основная попытка и попытка вспомогательных серверов Cisco Unity соединиться с друг другом.) После того, как простой, когда вы позволяете задачам репликации работать в течение относительно медленного времени (такой как за ночь или за выходные), задачи репликации, может часто очищать отставание нереплицированных транзакций. Однако, если существует много нереплицированных транзакций, попытки Сервера SQL для репликации данных могут привести к таймауту. Если репликация функционирует, но количество нереплицированных транзакций не понизилось значительно к концу выходных, вы, возможно, должны были бы отключить и затем реактивировать репликацию. Посмотрите Запрещение и Реактивируйте раздел Репликации этого документа для получения дополнительной информации.

Используйте команды OSQL в этом разделе, чтобы определить, является ли количество нереплицированных транзакций необычно большим после простоя и обрабатываются ли самые старые транзакции. (Для системы с большим числом Абонентов Cisco Unity и большим действием, транзакции, которые располагаются в сотнях, могут быть распространены. Транзакции, которые располагаются в тысячах, являются поводом для беспокойства.)

caution Внимание.  : Если количество нереплицированных транзакций является очень большим, команды OSQL могли бы занять много времени, чтобы завершить и создать значительную дополнительную нагрузку для сервера.

Выполните эти шаги для показа упорядоченного списка дат на записях репликации в состоянии ожидания, которые можно использовать для определения, какого возраста самая старая транзакция:

  1. На дополнительном сервере выберите Start> Run.

  2. Выполните cmd.

  3. В командной строке, выполненной эта команда, чтобы запустить osql и сделать запрос базы данных Unitydb:

    Примечание: Эта команда обернута к второй линии из-за пространственных причин.

    OSQL -E -d Unitydb -Q "SELECT distinct insertdate 
    FROM MSreplication_queue ORDER BY insertdate"
    

Примечание: Коммутаторы osql учитывают регистр (например,-E).

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

  1. На дополнительном сервере выберите Start> Run.

  2. Выполните cmd.

  3. В командной строке, выполненной эта команда, чтобы запустить osql и сделать запрос базы данных Unitydb:

    OSQL -E -d Unitydb -Q "SELECT count(*) FROM MSreplication_queue"
    

    Примечание: Коммутаторы osql учитывают регистр (например,-E).

Выполните эти шаги, чтобы определить, реплицированы ли данные от основного сервера в дополнительный сервер:

  1. На основном сервере выберите Start> Run.

  2. Выполните cmd.

  3. В командной строке, выполненной эта команда, чтобы запустить osql и сделать запрос базы данных UnityDistributionDb:

    Примечание: Эта команда обернута к второй линии из-за пространственных причин.

    OSQL -E -d UnityDistributionDb -Q "SELECT SUM(UndelivCmdsInDistDB) 
    FROM MSdistribution_status"
    

Перезапустите задачи репликации

Обычно, если сервис SQLSERVERAGENT или одна из задач репликации не в состоянии запускаться, это происходит из-за проблемы синхронизации во время запуска. Можно обычно восстановить репликацию при начале любых заданий, которые были не в состоянии запускаться.

Запустите Задачи репликации который Отказавший для начала

Выполните следующие действия:

  1. Запустите SQL Server Enterprise Manager.

  2. В левой панели Диспетчера предприятия разверните Microsoft SQL Server> группа сервера SQL> (локальный) (Windows NT)> менеджмент> SQL Server Agent и нажмите Jobs.

  3. Щелкните правой кнопкой мыши задание, которое было не в состоянии запускать и нажимать Start Job.

  4. Если значение Столбца состояния не изменяется на Выполнение, рассмотрите историю задания. Щелкните правой кнопкой мыши задание и нажмите View Job History. Когда причина сбоя исправлена, повторите шаг 3 для начала задания.

Отключите и реактивируйте репликацию

Если количество нереплицированных транзакций является столь большим, что задачи репликации неоднократно испытывают таймаут, и если это предотвращает репликацию от значительного сокращения количества нереплицированных записей, необходимо отключить и затем реактивировать репликацию. Завершите эти три процедуры для выполнения этого:

  1. Отключите автоматическое аварийное переключение и остановите файл и репликацию SQL

  2. Настройте аварийное переключение на основном сервере

  3. Настройте аварийное переключение на дополнительном сервере

caution Внимание.  : Если вы отключаете и реактивируете репликацию, нереплицированные транзакции (если таковые имеются) и на основном и на дополнительных серверах удалены, и база данных Cisco Unity по основному серверу реплицирована в дополнительный сервер. Если существуют какие-либо нереплицированные изменения на дополнительном сервере, те изменения потеряны.

Отключите автоматическое аварийное переключение и остановите файл и репликацию SQL

Выполните следующие действия:

  1. Если основной сервер активен, продолжитесь к шагу 5.

    Если основной сервер не активен, на дополнительном сервере выбирают Start> Programs> Cisco Unity> Failover Monitor.

  2. Нажмите Failback.

  3. Нажмите OK, чтобы подтвердить, что вы хотите возвратиться к состоянию до сбоя к основному серверу.

  4. Закройте монитор аварийного переключения.

  5. На основном сервере, на меню Пуск Windows, выбирают Programs> Cisco Unity> Failover Monitor.

  6. Нажмите кнопку Advanced.

  7. Проверьте флажок Disable Automatic Failover и Failback.

  8. Нажмите OK и закройте Монитор Аварийного переключения.

  9. На основном сервере, на меню Пуск Windows, выбирают Programs> Administrative Tools> Services.

  10. В правой панели дважды нажмите AvCsNodeMgr.

  11. На вкладке "General" нажмите кнопку Stop.

  12. В Списке типов Запуска нажмите Disabled.

  13. Нажмите кнопку ОК.

  14. Закройте окно Services.

    caution Внимание.  : Поскольку сервис Node Manager отключен, репликация файлов останавливается. Когда операция нормального аварийного переключения возобновляется, репликации реактивируют.

  15. На дополнительном сервере, на меню Пуск Windows, выбирают Programs> Administrative Tools> Services.

  16. В правой панели дважды нажмите AvCsNodeMgr.

  17. На вкладке "General" нажмите кнопку Stop.

  18. В Списке типов Запуска нажмите Disabled.

  19. Нажмите кнопку ОК.

  20. Закройте окно Services.

  21. На основном сервере, на меню Пуск Windows, выбирают Programs> Microsoft SQL Server> Enterprise Manager.

  22. В левой панели окна Console Root передите к узлу Репликации для основного сервера. Как правило, узел является тремя уровнями под узлом Microsoft SQL Server.

  23. Щелкните правой кнопкой мыши узел Репликации и нажмите Disable Publishing. Запрещать мастер Публикации и Распределения появляется.

  24. На Странице приветствия нажмите Next.

  25. На странице Disable Publishing нажмите кнопку Да, затем нажмите Next.

  26. На странице Confirm Dropping of Publications нажмите Next.

  27. На странице Completing нажмите Finish.

  28. Когда процесс будет завершен, нажмите OK.

  29. Закройте окно Console Root.

  30. Выходной диспетчер предприятия.

Настройте аварийное переключение на основном сервере

Выполните следующие действия:

  1. В Проводнике Windows передите к Каталогу общего сервера.

  2. Дважды нажмите FailoverConfig.exe для начала Настраивать мастера преодоления отказов Cisco Unity.

  3. На Странице приветствия нажмите Next.

  4. На странице Specify Server Role нажмите Primary Server и нажмите Next.

  5. На Введении Имени Страницы сервера нажмите Browse, выберите название дополнительного сервера и нажмите OK. IP-адрес для дополнительного сервера заполнен в автоматически.

  6. Нажмите кнопку Next.

  7. На странице Enter Failover Account Information нажмите Browse и дважды нажмите название учетной записи служб хранения сообщений. Это - учетная запись что служебные журналы аварийного переключения на как.

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

    caution Внимание.  : Необходимо задать ту же учетную запись и на основном и на дополнительных серверах.

  8. В поле Password введите пароль для учетной записи, что служебные журналы аварийного переключения на как, и нажимают Next.

  9. На Начать Настройке Страница сервера нажмите Configure. Мастер проверяет параметры настройки и настраивает аварийное переключение на основном сервере.

    Если мастер не заканчивает конфигурацию успешно, сообщение об ошибках объясняет, почему отказал мастер. Выйдите из мастера, исправьте проблему и нажмите Configure снова.

  10. На странице Completing нажмите Finish.

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

Выполните следующие действия:

  1. На Панели задач Windows дважды нажмите системные часы. Диалоговое окно со свойствами Даты/Времени появляется.

  2. Установите время в тот же час и минуту как показано на основном сервере, и нажмите OK.

  3. В Проводнике Windows передите к Каталогу общего сервера.

  4. Дважды нажмите FailoverConfig.exe для начала Настраивать мастера преодоления отказов Cisco Unity.

  5. На Странице приветствия нажмите Next.

  6. На странице Specify Server Role нажмите Secondary Server и нажмите Next.

  7. На Введении Имени Страницы сервера нажмите Browse, выберите название основного сервера и нажмите OK. IP-адрес для основного сервера заполнен в автоматически.

  8. Нажмите кнопку Next.

  9. На странице Enter Failover Account Information нажмите Browse и дважды нажмите название учетной записи служб хранения сообщений. Это - учетная запись что служебные журналы аварийного переключения на как.

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

    caution Внимание.  : Необходимо задать ту же учетную запись и на основном и на дополнительных серверах.

  10. В поле Password введите пароль для учетной записи, что служебные журналы аварийного переключения на как и нажимают Next.

  11. На Начать Настройке Страница сервера нажмите Configure. Мастер проверяет параметры настройки и настраивает аварийное переключение на дополнительном сервере.

    Если мастер не заканчивает конфигурацию успешно, сообщение об ошибках объясняет, почему отказал мастер. Выйдите из мастера, исправьте проблему и нажмите Configure снова.

  12. На странице Completing нажмите Finish.

Проблема аварийного переключения Unity

Проблема: Получайте ошибки репликации SQL каждые 10-15 минут

В конечном счете средство просмотра, это сообщение об ошибках получено:

Event Type:	Warning
Event Source:	CiscoUnity_NodeMgr
Event Category:	Run 
Event ID:	1014
Date:		6/25/2010
Time:		12:32:37 PM
User:		N/A
Computer:	AXLDUM01
Description:
Error getting status of SQL Server replication between the primary and 
secondary machines. Unable to get status of SQL Server subscription to 
publication UnityDbPublication for AXLDUM02. Error = 0x80045510.  This may 
be a temporary condition. If not, recreate the subscription and the 
publication snapshot to restore replication.

Решение

Выполните эти шаги для решения этого вопроса:

  1. В меню Пуск Windows основного сервера перейдите к Программам '> Microsoft SQL Server> Enterprise Manager.

  2. В левой области разверните Microsoft SQL Server> группа сервера SQL.

  3. В левой области, под группой сервера SQL, <servername> щелчка.

  4. В меню SQL Server Enterprise Manager Tools нажмите Replication> Disable Publishing и Distribution.

  5. В Приветствии к Запрещать Окну мастера Публикации и Распределения нажмите Next.

  6. В диалоговом окне Disable Publishing нажмите кнопку Да, Отключите Публикацию на <servername> и нажмите Next. Затем выполните шаги, которые появляются на экране для отключения публикации на основном сервере.

  7. Повторно выполните мастера Конфигурации аварийного переключения Cisco Unity на основном сервере.

    Примечание: Обязательно используйте корректную Учетную запись Cisco Unity (Установка Unity) для выполнения FCW.

  8. Перейдите к Программам> Microsoft SQL Server> Утилита Клиентской сети на основном сервере.

  9. Под Вкладкой Общие подтвердите, что Включенный протоколы заказом имеет TCP/IP и Именованные каналы как показано здесь:

    http://www.cisco.com/c/dam/en/us/support/docs/unified-communications/unity/91961-sql-svr-rep-cu-failover-01.gif

  10. Под вкладкой Alias нажмите Add, установите имя машины Вторичного Сервера Unity в Псевдоним сервера и нажмите OK.

    http://www.cisco.com/c/dam/en/us/support/docs/unified-communications/unity/91961-sql-svr-rep-cu-failover-02.gif

    http://www.cisco.com/c/dam/en/us/support/docs/unified-communications/unity/91961-sql-svr-rep-cu-failover-03.gif

  11. Точно так же выполните шаги от 8 до 10 для дополнительного сервера. Здесь на дополнительном сервере под вкладкой Alias, нажмите Add и определите имя Основного Сервера Unity как Псевдоним сервера и нажмите OK.

  12. Повторно выполните мастера Конфигурации аварийного переключения Cisco Unity на дополнительном сервере.

Изменение, который Учетные записи Собственные Задачи репликации

По умолчанию Домен Windows считает собственные задачи репликации. Это добавляет некоторую сложность путем представления зависимостей от Проверки подлинности Windows и от сетевой связи. Сервер SQL имеет две встроенных учетных записи, которые не являются учетными записями Домена Windows и уникальны для Сервера SQL. Для сокращения зависимостей измените владение задач репликации к одной из этих учетных записей Сервера SQL:

  • Учетной записью sa является встроенный Сервер SQL административная учетная запись. Эта учетная запись имеет высокий уровень доступа.

  • Когда репликация настроена, учетная запись distributor_admin создана. Эта учетная запись имеет более низкий уровень доступа, чем учетная запись sa.

Измените Учетную запись, которая Владеет Задачами репликации

Выполните следующие действия:

  1. Запустите SQL Server Enterprise Manager.

  2. В левой панели Диспетчера предприятия разверните Microsoft SQL Server> группа сервера SQL> (локальный) (Windows NT)> менеджмент> SQL Server Agent и нажмите Jobs.

  3. Для первой задачи репликации, перечисленной в Таблице 1, щелкните правой кнопкой мыши на задании и нажмите Properties.

  4. На Вкладке Общие, в списке Владельца, нажимают название учетной записи, что вы хотите владеть заданием. Cisco рекомендует выбрать учетную запись distributor_admin.

  5. Нажмите OK для закрытия <задание> Диалогового окна со свойствами.

  6. Повторите шаги 3 - 5 для остатка заданий в Таблице 1.

  7. Перезапустите все задачи репликации:

    1. Для первой задачи репликации, перечисленной в Таблице 1, щелкните правой кнопкой мыши по заданию и нажмите Stop Job.

    2. Щелкните правой кнопкой мыши задание и нажмите Start Job.

    3. Повторите шаги a и b для остатка заданий в Таблице 1.

Дальнейшее совершенствование для мониторинга репликации

Один нерешенный вопрос с мониторингом заданий репликации sql server - то, что некоторые задания только запускаются один раз, когда запущены Сервер SQL и сервис SQLSERVERAGENT. В результате, если задания отказывают, они только заставляют одно событие быть зарегистрированным. (Другие задачи репликации запускаются, останавливаются, чтобы "заснуть", и затем перезапустить. Эти задания регистрируют ошибку каждый раз, когда они не в состоянии запускаться.)

Для непрерывного мониторинга статуса заданий, которые только запускаются один раз, инженерная группа Cisco Unity добавляет мониторинг задач репликации к существующему мониторингу сервиса SQLSERVERAGENT, как описано ранее в этом документе. Это улучшение отслежено с идентификатором ошибки Cisco CSCsi50517 (только зарегистрированные клиенты).

SQLSERVERAGENT: 208: Сервер SQL Запланированное Задание '' ''Проверка агентов репликации'' ''

В конечном счете средство просмотра, эта ошибка messge получена:

SQLSERVERAGENT: 208: SQL Server Scheduled Job ''''Replication agents checkup''''
(0x8666D34A10837246B4030EA4E93E50BC) - Status: Failed - Invoked on: 2009-08-19 
03:30:01 - Message: The job failed. The owner () of job Replication agents 
checkup does not have server access.

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

  1. Открытый корпоративный параметр SQL и проверка задания тот сбой.

  2. Открытые Свойства и проверяют, что владельцем является distributor_admin только.

  3. Перезапустите задания.

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 91961