Показаны сообщения с ярлыком Cluster. Показать все сообщения
Показаны сообщения с ярлыком Cluster. Показать все сообщения

воскресенье, 27 февраля 2011 г.

Невозможно подключиться к кластеру через Cluster Administrator по имени во время запущенной службы Cluster Service

Жил был двух узловой кластер Exchange 2007 CCR с File Whitness Share(Windows 2003R2 SP2).
И вздумалось перегрузить его дабы вступили в силу настройки реестра после изменения владельца оффлайновой адресной книги в следующем разделе:

HKLM\System\CurrentControlSet\Services\MSExchangeSA\Parameters\Server-Name\EnableOabGenOnThisNode ="ThisNodeName".

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

В результате, после запуска Cluster Administrator и попытки подключения к кластерному имени кластера Windows получал ошибку вида:

The cluster service on node cannot be started. The network path was not found. error id: -2147024843 (80070035)


Ощущение полной Ж начало не покидать меня, потому, что ни поочередная перезагрузка обоих узлов, ни перезапуск службы Cluster Service, не помогали.

оказалось, что все просто, у Microsoft даже есть статья по этому вопросу.

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

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

После поднятия всех кластерных ресурсов - отлегло )))

четверг, 17 февраля 2011 г.

Развертывание VmWare vCenter в windows 2008 кластере

Поставил перед собой задачу развернуть VmWare vCenter 4.1 в Windows кластере для управления двумя хостами ESX4.

В моём распоряжении оказался дистрибутив VMware-VIMSetup-all-4.1.0-345042

Перед началом работ имеется:
Географически распределенный кластер Windows 2008 (на мой взгляд с Windows 2008 R2 было бы то же самое) с двумя узлами. Кластер единой копии, но с оговоркой (в данном случае это но важно) на самом деле Single Copy достигается за счет EMC Cluster Enabler, который управляет репликой между двумя независимыми хранилищами CLARiiON CX4-120 на которых реплицируются луны(Logical Unit Number) между хранилищами, и в каждый момент времени активная нода видит необходимый том на луне со своей (расположенной рядом - на том же сайте) системы хранения.
Тип кластера - набор узлов большинства (Majority node set) c file whitness share (файловым свидетелем - специальная сетевая папка) на третьем сервере, не входящем в кластер.

Шаги установки.
1.Подготавливаем SQL базу.
На SQL сервере создал пустую базу, а также создал пользователя с SQL авторизацией и предоставил ему право db_owner.

2.Настройка ODBC.
На обоих нодах кластера в ODBC( «start»->«control panel»->«administrative tools»->«Data Sources (ODBC)»->tab(«Systerm DSN») ) создаем источник данных с использованием SQL Native Client (его необходимо установить если не установлен) и проверяем подключение из под SQL пользователя к созданной базе на 1-м шаге.

3.Подготовка общего диска для кластерной группы VCenter-а.Рассмотрим на примере SAN+EMC Cluster Enabler
3.1.На данном этапе на обоих системах хранения необходимо создать одинаковые LUN-ы (одинаковый размер и одинаковый владелец Storage Processor - на обоих системах хранения должен быть либо A-процессор, либо B-процессор).
3.2.Далее необходимо включить зеркалирование этих LUNов с начальной инициализацией или без неё - решать Вам, но в любом случае нам придется LUN-источник отформатировать, что автоматически прозеркалируется на 2-й системе хранения на зеркальном луне.
3.3.Презентовать обоим узлам кластера Windows LUN с одной системы хранения (первой или 2-й не важно -главное потом следить от какой системы мы будем де-презентовать(отнимать) LUN) через обе SAN-фабрики, если таковые имеются. Этот шаг очень важен так как он нам позволит "обмануть" Windows кластер и позволит добавить новый общий диск в пул дисков Windows-кластера, а в дальнейшем мы его добавим в группу ресурсов кластера vCenter.
3.4.На активном узле Windows кластера, а точнее на том узле кластера Windows, который держит диск доступным в настоящий момент отформатировать его, задать букву и т.п. Здесь необходимо сделать так, что бы узел кластера, который является текущим владельцем диска был от узел, который находиться на одном сайте (рядом) с той же системой хранения на которой расположен этот LUN, это легко проверить, убедившись, что этот LUN-источник находиться на том же сайте что и текущий узел - держатель раздела диска Windows кластера.
3.5.В оснастке «Failover Cluster Management» на разделе «Storage» кластера Windows выбрать «Add disk» и добавить новый диск в ресурсы кластера Windows.

4.Создание кластерного ресурса.
На данном шаге через оснастку «Failover Cluster Management» необходимо создать имя (пусть в нашем случае это будет «virtualcenter.mydomain.ru») и IP-адрес виртуального узла «virtualcenter.mydomain.ru» для этого идем в «Services and Applications» - хлопаем правой кнопкой мыши и выбираем «Configure Service or Application...» далее выбираем «Generic Service» далее выбор служб для кластерного ресурса (пока можно выбрать любой сервис - потом удалим его) и указание IP-адреса кластерной группы ресурсов. Далее добавляем сюда же диск подготовленный в п.3

5.Дальнейшая подготовка кластерного диска
5.1.Отключить или деперезентовать LUN от той ноды кластера, которая находиться на другом сайте (удалена) по сравнению с сайтом активного LUNa-источника (CLARiiON-а). Нода в это время должна быть пассивной
5.2.Подключить или презентовать на другом сайте (отличном от сайта LUNа-источника) узлу кластера, от которого отключили LUN-источник на шаге 5.1, LUN-приемник зеркальной пары LUN-ов на разных CLARiiON-ах.
5.3.В оснастке EMC MirrorView/Cluster Enabler (не нужно говорить что «EMC MirrorView/CE»+«EMC Solution Enabler» с опцией EMC Base Demon» или что то в этом роде точно не помню»+«EMC Power Path»+«Navisphere Agent»+«Navisphere CLI» должны быть установлены на обоих узлах кластера Windows, а через symlmf добавлены лицензии Solution enabler-а и прописаны учетные данные со сторадж процессорами обоих CLARRiiON-ов командой вида symcfg auth add -hostname clariion-main-spa -username administrator -password password что в итоге должно проверятся symcfg auth list ) запускаем «Configure» и если у нас не было ранее сконфигурированных групп для EMC конфигурируем весь windows кластер, если жы были, то на нашей кластерной группе vCenter-а говорим «Configure CE». После чего можно проверять перебегание подготовленной кластерной группы с диска между нодами кластера Windows.

6.Установка VmWare vCenter на активный узел кластера.
Там где в настоящее время доступен подготовленный общий диск кластера vCenter. Пусть этот диск будет иметь букву N. Из шагов установки здесь нужно обратить внимание на то, что необходимо точно указывать имя ODBC источника данных, подготовленного на шаге 2 и установку производим на общий диск N.

7.Редактирование реестра.
Запускаем regedit переходим в ветку реестра «[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VirtualCenter]» и:
7.1.Находим параметр с именем «VCInstanceId» в значение которого вносим имя кластерной группы vCenter, в нашем случае это будет имя «virtualcenter.mydomain.ru»
7.2.Создаем параметр типа с именем «managedip», куда вносим IP-адрес кластерного ресурса «virtualcenter.mydomain.ru», подготовленного на 4-м шаге

8.Правка LDAP VmWare.
Для этого понадобиться оснастка ADSIEdit.msc, подключаемся к узлу кластера, указав имя узла кластера Windows, куда установили на 6-м шаге VmWare(служба «VMwareVCMSDS» должна быть на нем запущена) и подключаемся к контексту «dc=vitrualcenter,dc=vmware,dc=int», надо заметить что имя контекста «dc=vitrualcenter» не имеет никакого отношения к имени кластерной группы ресурсов «virtualcenter.mydomain.ru», это просто встроенное имя контекста LDAP каталога VmWare.



Здесь необходимо поправить во всех обведенных корневых и вложенных ветках рисунка:


во всех значениях атрибутов «vmw-vc-HealthComponentName» и «vmw-vc-URL» имя узла кластера на имя виртуального центра - «virtualcenter.mydomain.ru», если же указан localhost, то ничего менять не нужно.

9.Правка конфигурационных файлов VmWare, расположенных в «C:\Users\All Users\VMware\VMware VirtualCenter».
9.1.Файл «vpxd.cfg» открываем и внутри секции сразу после её открытия вставляем:
XXX.XXX.XXX.XXX
где XXX.XXX.XXX.XXX - это IP-адрес для «virtualcenter.mydomain.ru», сконфигурированный на шаге 4.
9.2.Файл «proxy.xml» где необходимо поправиться имя узла кластера на имя «virtualcenter.mydomain.ru», также я поправил IP-адрес в одной из секций на IP-адрес от «virtualcenter.mydomain.ru», вообще если там есть ещё другие IP-адреса то можно их удалять целиком секцией с тегом, только при этом поправить нумерацию с нуля id="0" до нужного числа в секциях и выставить правильное число секций в начальном теге _length
10.Добавление служб VmWare в кластерную группу ресурсов virtualcenter, сюда добавляем службы:
10.1.«VMwareVCMSDS» - с зависимостью от диска кластерной группы, имени virtualcenter и IP=адреса - куда установили vCenter на шаге 6.
10.2.«VMware VirtualCenter Server» - с зависимостью от службы «VMwareVCMSDS».
10.3.«VMware VirtualCenter Management Webservices» - с зависимостью от службы "VMware VirtualCenter Server».

11.На 2-м и последующих узлах кластера необходимо проделать следующее:
11.1.Установить VmWare на тот же общий диск кластера по тому же пути, остановив кластерные службы VmWare, но не весь кластер virtualcenter. Я так сделал предварительно переименовав имевшуюся уже там папку, а потом удалил новую - установленную и переименовал обратно старую.
11.2.Импортировать с первого узла всю ветку реестра «[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.]», возможно что достаточно только ключа

[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VirtualCenter\volatile]
"UUIDHost"="34 38 37 33 36 32 47 42-38 39 33 38 34 30 4d 52"

Но я не заморачивался с этим
11.3.Скопировать весь каталог «C:\Users\All Users\VMware\VMware VirtualCenter» с первого узла Windows кластера в соответствующий каталог (можно предварительно сделать резервную копию) второго и последующих узлов Windows кластера, предварительно удалив там всё. На самом деле достаточно только файлы «vpxd.cfg и «proxy.xml», а также каталог SSL, но надо учитывать что без замены каталога «SSL» и реестра узлы будут работать как два независимых виртуальных центра и ESX-хосты будут теряться при перебегании vCenter-а.

12.Проверяем перебегание - всё должно работать.

Ссылки по теме
vpxd.cfg Advanced Configuration

Установка VMware Infractructure

Enabling server-certificate verification for Virtual Infrastructure Clients

Альтернативное решение от VMware vCenter Server Heartbeat

Установка vCenter на Windows 2008 R2

Supported vCenter Server high availability options

Increase the availability of vCenter Server

Trusted SSL certificates - request for peer review

Установка VMware vCenter Server 4.0 на кластер под управлением Windows Server 2008 R2

Использование MSCS для кластеризации VirtualCenter и виртуальных машин на VMware ESX.

Changing the Name of the vCenter Server

воскресенье, 14 ноября 2010 г.

Географически распеределенный Active/Active кластер SQL Server 2008 R2, + DCT, Analisys, Reporting, но с File whitness share

ЭТО НЕ ЗАВЕРШЕННАЯ СТАТЬЯ

В прошлый раз:
http://itdmitry.blogspot.com/2010/04/ms-sql-server-2008-windosw-server-2008.html
EMC Cluster Enabler был версии 3.0.83 в этой установке версия уже EMC Cluster Enabler 3.1.0.10


Описание желаемой модели Microsoft SQL Server 2008 R2 Cluster-а, в работающего Active/Active режиме со службами MSDTC.



Здесь приведен рисунок для работы с Quorum-ными дисками, предполагал сделать их два - по одному на разных площадках, при этом так, что бы их видели обе ноды (естестенно - это же quorum),но служба кластеров Windows 2008 пока так не может - она работает только с одним кворумным диском. Поэтому пришлось обойтись File Whitness Share (файлошаровый свидетель ))) По сути мы тем самым получаем географически распределенный отказоустойчивый кластер, единственным уязвимым местом для которого становится "файлошаровый" - FWS свидетель.

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

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

II.Подготовка зеркальных дисковых LUN-ов, без должной сноровки и понимания происходящего здесь тоже делать нечего. Но общий принцип следующий:
Есть две системы хранения, у которых есть одинаковые LUN-ы, между которыми настроено непрерывное копирование всех изменений (синхронная репликация посредством технологии MirrorView). Все LUN-ы с первой системы хранения мы выдаем первому узлу кластера, а все LUN-ы со 2-й системы хранения мы выдаем 2-му узлу будущего кластера. При этом добавляем дисковые ресурсы в кластер, что бы у него были дисковые ресурсы для дальнейшей установки SQL.
всего подготавливаем 2 группы LUN-ов по 4 штуки в каждой:
1.Диск для DTC (не SQL)
2.Диск под данные SQL (разместил на 8-ми FC дисках DAID 5)
3.Диск для журналов баз данных SQL (разместил на 6-ти FC дисках зеркального DAID 1)
4.Диск под резервные копии (разместил на 3-х SATA дисках DAID 5)

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

После подачи LUN-ов на сервера не забыть:


теперь зайдя в Computer мы увидим:



Далее в Failover Cluster Management жмем правой кнопкой на Storage и делаем Add a disk, и отмечаем галками все наши диски для кластера:



Таким образом, перед установкой SQL мы должны иметь:



III.Установка SQL в кластере(первого инстанса)
Небольшое Лирическое отступление:
Поскольку у меня установить ни SQL нормально ни DTC не получалось в схеме подготовленной на II-м этапе установке, хотя при этом использовались разные схемы, с различными последовательностями действий и методов установки (с GUI, без GUI с вариациями и отключением проверок и заменой ключа на софт) - в прямую он просто не хотел ставиться - всё упиралось в отсутствие диска - на завершающем этапе установки пассивной ноды, выскакивали различные ошибки, вида:
1-й вариант:The current SKU is invalid



2-й вариант:The setting 'ENU' specified is not recognized. Error code 0x84B0003


3-й вариант:There is no SQL Server failover cluster available to join.
4-й вариант:Element not found. (Exeption from HRESULT: 0x80070490)
5-й вариант:The setting 'FAILOVERCLUSTERDISKS' is not alliwed when the value of setting 'ACTION' is 'Install'. Error code 0x84B40005.

Причем. даже установка Cumilative Update package 4 for SQL Server 2008 R2 не помогла в решении проблемы, так что пошел другим путем.

DTC сразу проверял наличие доступного общего диска на обоих нодах и отваливался:


Итак. Схему описанную на этапе II решил подправить, поскольку EMC Cluster Enabler, как я думал "поможет" установить SQL на 2-й узел , но этого не случилось.
Исправления внесенные в схему описанную на этапе II:
Превращаем географически распределенный кластер с независимыми хранилищами в географически распределенный кластер с одним хранилищем (в одном месте), число LUN-ов при этом не меняем.
1.Не разрывая зеркал MirrorView, отключаем презентованные LUN-ы от пассивного узла
2.Подключаем пассивный узел к системе хранения на которой расположены LUN-ы активной ноды и презентуем те же самые LUN-ы, которые презентованы активному узлу кластера на пассивный узел кластера, не отключая презентацию LUN-ов для активного узла кластера, на CLARiiON-ах это делается через группы хранения:



шаг1.
Теперь установим DTC (Distributed Transaction Coordinator)



на этом шаге получаем в итоге:



шаг2.
И спокойно, без ошибок устанавливаем активный узел SQL кластера, рекомендую устанавливать дефолтовый инстанс, то есть не именованный экземпляр SQL(MSSQLSERVER), по крайней мере первый в Active/Active конфигурации:


Трижды Next.

Здесь предупреждения связанны с неправильным перечислением сетевых адаптеров и невозможностью .NET security получить доступ в интернет за файлом MicrosoftRootAuthority.crl - игнорируем их

Далее выбираем компоненты для установки, поскольку у нас есть DTC, мы можем выбрать и далее установить в кластере Analysis Servises и Reporting Servises:



Далее в окне конфигурирования экземпляра SQL указываем DEFAULT instance и вводим DNS-имя виртуального узла SQL сервера, в дальнейшем его можно будет без проблем изменить:



Далее несколько шагов в которых необходимо указать диски, которые мы отдадим виртуальному узлу кластера, IP-и группы, которым будут даны разрешения:



Далее указываем аккаунт от имени которого будут запускаться службы SQL кластера и выбираем метод сортировки(Collation):



Далее указываем пароль от sa аккаунта и пользователи с привилегиями sysadmin, а также размещение каталогов по дискам:



Далее каталоги для размещения служб Анализа:



Затем выбираем: "Insatll, but do not configure the report server."

И жмем Next/Install пока SQL не установиться на активной ноде ))))

шаг3.
Устанавливаем на пассивной ноде с командной строки, для этого нам понадобиться дистрибутив, запускаем из корня:
setup.exe /ACTION=AddNode

ключевые моменты:

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



Далее жмем Next/Install, пока не наступит Complete.

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

В "Failover Cluster Management" -> "Services and Applications" -> правой кнопкой на виртуальном узле кластера выбираем "Move this service or application to another node" -> "Move to node {NODENAME}":



шаг5.
Повторяем Шаги 1-3, только теперь указываем имя экземпляра SQL сервера и выбираем другие диски соответственно.

шаг6.
проверяем, что всё перебегает, аналогично шагу 4


IV Этап.Установка SQL в кластере 2-го(3-го, n-го) экземпляров(инстансов SQL) - всё зависит от числа узлов.
Здесь Практически всё тоже самое, но только теперь не выбираем экземпляр по умолчанию - он после Этапа III и даст уже возможности себя выбрать.

V. Превращение "кластера единой копии с одним хранилищем с географически распределёнными узлами" в "кластер единой копии с двумя географически распределенными хранилищами и географически распределёнными узлами". Ну то есть мы имеем два места (сайта) - две серверных, в одной - первая кластерная нода и первое хранилище, в другой - вторая кластерная нода и второе хранилище"
Шаг 1.
Просто берем вторую ноду (нумерация условна, просто она должна быть пассивной и все кластерные ресурсы должны быть переведены на другую) и отцепляем её от первого хранилища для этого нужно на SAN фабриках (это только для того случая, если вы используете зонирование на SAN) отключить зоны объединяющие вторую ноду и первую систему хранения,

Здесь PowerPath Monitor должен начать "кричать" показывать что ему стало "плохо" в виде перечеркнутого значка треугольника красной чертой в трее. Можно его открыть и на отключенных дисковых устройствах (LUN-ы c красными крестами) правой кнопкой сказать "Remove from Config" - эта позиция будет как раз подсвечена - выделена жирным, лучше это сделать поскольку диски у EMC работают через PowerPath, и это абсолютно другой метод multipath в сравнении с HP EVA, хотя бы, где нет такой необходимости.

Шаг 2.
Прицепляем эту вторую-пассивную ноду кластера ко второму хранилищу для этого включаем зоны объединяющие вторую ноду и вторую систему хранения на SAN коммутаторах - в каждой из 2х SAN фабрик потребуется по одной операции включения - сохранения, ждем commit, а после - включение измененной конфигурации, ждем commit(отображается внизу на странице управления зонами на Brocade DS-300, во всяком случае).

{рисунок}

Шаг 3.
Далее на второй системе хранения презентуем зеркалируемые с первой системы хранения LUN-ы.

Скорее всего на сервере потребуется перезапустить службы Navisphere Agent и набор служб для EMC PowerPath - их всех названия начинаются так(например EMC PowerPath Service 5.5.0), во всяком случае, я старался без необходимости не перегружать сервер поскольку это трата 10 минут времени (HP DL 580G5 пока он инициализирует вставленные в него девайсы проходит долгое время...).




Ссылки по теме:

http://msmvps.com/blogs/jtoner/

http://powerwindows.wordpress.com/2008/10/21/microsoft-cluster-enablers-for-srdf-and-mirrorview/

http://social.msdn.microsoft.com/Forums/en/sqlsetupandupgrade/thread/8ae0c845-b25f-4140-a655-45fdb672c71a

http://connect.microsoft.com/SQLServer/feedback/details/363036/add-node-to-sql-server-failover-cluster-failed-with-invalid-sku-error

http://forums.techarena.in/windows-server-help/1032365.htm

How to: Install SQL Server 2008 R2 from the Command Prompt:
http://msdn.microsoft.com/en-us/library/ms144259.aspx#ClusterInstall

Error Adding 2nd Cluster Node - Account Name Box Greyed Out:
http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/409baa09-de05-4496-a085-92cb5aad0cbf

How to fix your SQL Server 2008 Setup before you run setup...:
http://blogs.msdn.com/b/psssql/archive/2008/09/30/how-to-fix-your-sql-server-2008-setup-before-you-run-setup.aspx

самая лучшая статья по установке SQL cluster:
http://clusteringformeremortals.com/2009/10/07/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2%80%93-part-3/

http://clusteringformeremortals.com/2009/10/07/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2%80%93-part-3/


http://msmvps.com/blogs/jtoner/

среда, 10 ноября 2010 г.

Обнаружил, что EMC Cluster Enabler Manager 3.1.0.10 перестал авторизоваться и понимать одну из систем хранения CLARiiON CX4-120, при том что MirrorView, поначалу подумал из-за того что обновил прошивку на одно из CX4-120, как раз том, который не хотел опознаваться (авторизоваться на хранилке)



хотя при этом все учетные данные для подключения в
C:\Program Files\EMC\SYMCLI\bin\symlmf.exe
и
C:\Program Files\EMC\SYMCLI\bin\symcfg.exe
(auth add -hostname clariion-cx4-120-1-spa -username username -password password)

были указаны:



Причина оказалась в том, что кластер с использованием MirrorView просто разобрали, а ноды были теми же самыми, Deconfigure CE не помогало - просто переставили Cluster Enabler и Solution Enabler и всё пошло.

понедельник, 31 мая 2010 г.

Обновление EMC Cluster Enabler с версии 3.0.81.0 до версии 3.1.0.0

После обновления EMC Cluster Enabler 3.0.83.0 до версии 3.1.0.0 на настроенном SQL кластере(Active/Active) с настроенной зеркальной репликацией на хранилищах перестал работать автоматическое переключение (разворачивание) зеркальной репликации между массивами хранения EMC CX4-120, при Failover. Устанавливался EMC Cluster Enabler 3.1.0.0 устанавливался без удаления предыдущего, при этом после установки нода кластера перезагружалась. Причем дисковый ресурс вообще не поднимается, а также дискам не были назначены буквы и такое ощущение что диски в offline, по крайней мере это следовало из Server Manager → Disk Manager.

Хотя при этом EMC Cluster Enabler Manager показывал, что диск с буквой назначен.

Ещё в лог выпадали ошибки вида:

Cluster resource 'EMC_SQL Server (CLUSTER02SQL2)' in clustered service or application 'SQL Server (CLUSTER02SQL2)' failed.

-------------------------------------------------------------------------

Log Name: Application

Source: EMC Cluster Enabler

Event ID: 5

Task Category: None

Level: Error

Keywords: Classic

User: SYSTEM

Computer: SQL-NODE-01.

Description:

Call to [EvaluateFailoverPolicies] failed. RC=[0×80004005].

Event Xml:

http://schemas.microsoft.com/win/2004/08/events/event»>

  
  5
  2
  0
  0x80000000000000
  6461
  Application
  Call to [EvaluateFailoverPolicies] failed. RC=[0x80004005].
  53514C5F5365727665725F5F434C5553544552303253514C325F


Log Name: Application

Source: EMC Cluster Enabler

Event ID: 5

Task Category: None

Level: Error

Keywords: Classic

User: SYSTEM

Computer: SQL-NODE-01.

Description:

Group [SQL_Server_CLUSTER02SQL2_] failed to come online.

Event Xml:

http://schemas.microsoft.com/win/2004/08/events/event»>

  5
  2
  0
  0x80000000000000
  6462
  Application
  SQL-NODE-01.
  
  Group [SQL_Server__CLUSTER02SQL2_] failed to come online.
  53514C5F5365727665725F5F434C5553544552303253514C325F


Log Name: Application

Source: EMC Cluster Enabler

Event ID: 3

Task Category: None

Level: Error

Keywords: Classic

User: SYSTEM

Computer: SQL-NODE-01.

Description:

Call to [CEFailOverLogic::WriteEnableMirrorGroup] failed for cluster resource [EMC_SQL Server (CLUSTER02SQL2)]. RC=[0×80004005].

Event Xml:

http://schemas.microsoft.com/win/2004/08/events/event»>

  3
  2
  0
  0x80000000000000
  6463
  Application
  SQL-NODE-01.
  
  Call to [CEFailOverLogic::WriteEnableMirrorGroup] failed for cluster resource [EMC_SQL Server (CLUSTER02SQL2)]. RC=[0x80004005].
  454D435F53514C205365727665722028434C5553544552303253514C3229


Перевел кластерные ресурсы на ту кластерную ноду, где были диски.

Разорвал вручную репликацию между системами хранения

cluster enabler продолжал думать…

пробовал различные варианты - reconfigure CE на диск, Deconfigure - ничего не помогало

Пустил вручную синхронизацию между системами хранения на необходимые луны (т.е. те, которые были кластерными дисками). После этого - 2-й диск увиделся на ноде - владельце диска, в EMC Cluster Enabler Manager в контекстном меню выполнил Configure - на корне - после чего создалась группа консистентности автоматически и 2-й кластерный диск (2-го SQL кластера) поднялся и сам SQL-cluster 2-й тоже поднялся и стал работать.

Первый же кластер никак не хотел подниматься - диск не брал букву. Сделал на 1-м диске Deconfigure CE и перезагрузил ноду владельца. Кроме того в EMC Cluster Enabler Manager группа 1-го SQL кластера не хотела выполнять операцию «Deconfigure CE» выпадала ошибка. После перезагрузки оба диска не взяли буквы. Поскольку перегружал ноду - все ресурсы у бежали на пассивную ноду, но там не поднялись. Перегрузил и её что бы вернуться к ноде с которой работал до перезагрузки вообще. После перезагрузки поднялся 2-й диск - это правильно, поскольку не было ни одной группы консистентности, связанной с Cluster Enabler. Перезагрузка не помогла с 1-м диском, он таки не брал букву и оставался без буквенным - удалил группу «SQL Server (CLUSTER02SQL1)» через EMC Cluster Enabler Manager, после чего 1-й диск сразу поднялся и ему присвоилась нормально группа, при этом 1-й диск удалился тоже в EMC Cluster Enabler Manager-е. Сделал Modify на группе «SQL Server (CLUSTER02SQL1)» (на самом деле она удалилась как группа для которой включен Cluster Enabler, а не из кластера вообще).

На освобожденном дисковом ресурсе (1-й диск) через оснастку Failover Cluster Management (Windows 2008 не R2) через контекстное меню на диске «More Actions…» → «Move this resource to another service or application» и в открывшемся окне выбрал 1-й кластер SQL Server-а. После этих манипуляций «SQL Server (CLUSTER02SQL1)» - кластерный ресурс (1-й кластер SQL Server на Active/Active кластере) запустился полностью. Осталось только теперь добавить эту группу обратно в Cluster Enabler чтобы перебегало хранилище и разворачиывалась репликация при выключении или падении ноды. Замечу что после этого диск заново появился в группе «SQL Server (CLUSTER02SQL1)» в EMC Cluster Enabler Manager.


Для преобразования кластерных групп в Cluster Enabled группы идем в EMC Cluster Enabler Manager и на корне там где у нас виндовый кластер Cluster-02 правой кнопкой выбираем меню «Configure CE Cluster» → Configure → Здесь открывается список с нодами кластера жмем Next →

После чего были автоматически созданы группы консистентности для обоих виртуальных SQL Server-ов (кластерных ресурсов или что то же самое SQL кластеров). И для обеих групп: «SQL Server (CLUSTER02SQL1)» и «SQL Server (CLUSTER02SQL2)» Cluster Enabler стал включенным.


При проверке диск не перебежал в ручном режиме - не назначилась буква - пустил ноду - на которую диск не перебежал в перезагрузку. После этого всё заработало - проверял перезагрузкой активной ноды. Единственный момент только упустил в EMC Cluster Enabler Manager необходимо было выставить в свойствах групп Failover Behavior: Automatic Failover вместо Restrict Group movement.


четверг, 6 мая 2010 г.

WSUS - Миграция базы данных с СУБД SQL Server 2005 на СУБД SQL Server 2008

В английском варианте это звучало бы: WSUS - Migrating from SQL Server 2005 Database to SQL Server 2008 Database
Конечно же всем для начала читать WSUS - Migrating from Windows Internal Database to SQL Server 2005
Миграция выполняется буквально в несколько шагов - ничего сложного:
1.Останавливаем службу "Update Services" на своем сервере WSUS
2.Заходим в SQL Server Management Studio на сервер баз данных SQL Server 2005 на котором "крутиться" в настоящий момент база WSUS. И делаем праой кнопкой на базе WSUS (скорее всего имя базы будет SUSDB) следующее Tasks -> Take Offline
3.Копируем файлы базы данных на сервер баз данных SQL Server 2008
4.На сервере баз данных SQL Server 2008 через SQL Server Management Studio (для 2008 своя оснастка, отличная от 2005) на корне заходим в Databases -> Attach и выбираем файл базы данных .mdf жмем OK, после чего база будет присоединена к серверу и будет в работе.
5.Теперь необходимо направить сервер WSUS на новый сервер баз данных SQL Server 2008. Для этого заходим на сервер WSUS (например по RDP), находим в реестре (regedit) следующую ветку:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup]
выбираем параметр:
SqlServerName, здесь ранне стояло имя алиаса DNS для подключения к SQL Server 2005, например: "db_wsus_susdb" и всё работало, теперь же указываем также имя DNS алиаса(DNS псевдонима) но с указанием имени инстанса уже: "db_wsus_susdb\cluster02sql2".
Естественно DNS алиас направляем на новый сервер баз данных SQL Server 2008.

Дело в том, что в моем случае был Active\Active кластер с двумя инстансами: один из которых назывался "cluster02sql2", а имя виртуаьлного узла кластера sql сервера было "cluster-02-sql2" на который, как раз и направили DNS алиас.

Возможно у кого-то зараработает и без указания имени DNS алиаса, но в рассматриваемой кластерной среде так не заработало, возможно дело в том, что SQL инстанс именованный - отличный от дефолтового и ещё отличается от имени витруального узла кластера.
Параметры:
"SqlAuthenticationMode"="WindowsAuthentication"
"SqlDatabaseName"="SUSDB"
"SqlUserName"=""
"SqlEncryptedPassword"=""
оставил без изменения.
6.Необходимо добавить учетную запись компьютера, на котором распологается WSUS сервис - "Update Services" на доступ к SQL Server 2008, для эого заходим через SQL Server Management Studio в корне оснастки Security -> на Logins жмем правой кнопкой и выбираем "New Login...", поскольку мы в находимся в доменной среде и безопасность сервера находиться в режиме Mixed mode, выбираем Windows authentication, в поле "Login Name" вводим имя компьютерного аккаунта, например, "WSUS-Server" и в конце добавляем знак $, т.е. должно получиться "WSUS-Server$", у меня тоже не получилось с первого раза, всё дело в том, что на базу master доступ компьютерным аккаунтам дается по-другому, что бы получилось - нужно указать нашу базу SUSDB. После добавления аккаунта предоставил ему роль на базу db_owner.
7.На сервере WSUS запускаем "Update Services", если все операции начиная с первой вы проделали очень быстро, то, возможно, ещё не очистился DNS кэш со старым значение DNS алиаса для разрешения этой проблемы, можно выполнить команду: ipconfig /flushdns, но лучше перезагрузить компьютер.

четверг, 1 апреля 2010 г.

Разворачивание MS SQL Server 2008 в кластере Active/Active на Windosw Server 2008 R2 с использованием MirrorView и EMC Cluster Enabler

Использовались системы хранения данных EMC CX4-120 CLARIION
После того как кластер Windows с Majority Node Set был развернут.
Натолкнулся на невозможность запустить MSDTC (Distributed Transaction Coordinator).
Что интересно служба на серверах работала, но не работал (не запускался) кластерный ресурс на сервере:

Отдельно создавать ресурс кластера под DTC не стал, так как он требует отдельной точки доступа (IP-адрес) и отдельного дискового ресурса, причем если используется диск из EMC Cluster Enabler (т.е. диск, которые апаратно реплицируется между хранилищами посредством MirrorView), то невозможно добавить дисковый ресурс к создаваемому кластерному ресурсу DTC поскольку это специфика EMC Cluster Enabler, насколько я понял.

На приведенном рисунке не стартует DTC, при этом в логах обнаружил следующие ошибки:

The Cluster service failed to bring clustered service or application 'cluster-02-sql2' completely online or offline. One or more resources may be in a failed state. This may impact the availability of the clustered service or application.

и

Log Name: Application
Source: Microsoft-Windows-MSDTC Client 2
Date: 31.03.2010 14:42:15
Event ID: 4879
Task Category: CM
Level: Warning
Keywords: Classic
User: N/A
Computer: SQL-NODE-02.corp.mydomain.ru
Description:MSDTC encountered an error (HR=0x80000171) while attempting to establish a secure connection with system SQL-NODE-02.
Event Xml: 4879 0 3 3 0 0x80000000000000 1076 Application SQL-NODE-02.corp.mydomain.ru 80000171 SQL-NODE-02

причем не помогает dcomcnfg в конфигурации:

а comclust здесь (w2008 R2) просто нету

Попасть в "свойства" объекта "Clustered DTCs" не представляется возможность, ни правой кнопкой мыши, ни через мени Action этой позиции просто нету.

принял решение отказать ся от MS DTC.

Ссылки по теме: ссылка1, ссылка2, ссылка3, ссылка4, ссылка5, ссылка6, ссылка7, ссылка8

для пересборки кластера достаточно разорвать и уничтожить группы консистентности на системаха хранения, которые были созданы ПО Cluster Enabler-ом после чего можно заново собирать группы через Cluster Enabler.

При создании группы через Cluster Enabler выставляю режим Automatic Filover.
После создания группы через Cluster Enabler вижу, что группа с таким названием появиласть в оснастке "Failover Cluster Management", при этом на системах хранения автоматически создалась группа консистентности.
Перебегание диска между нодами (в это время переворачивалась синхронная
реплика между системами хранения) - показало успешное перебегание.


В этом случае при установке SQL кластер невозможно установить, так как он не находит доступный общий дисковый ресурс, поскольку он уже занят в дисковой группе от Cluster Enabler-а.


Перезагрузка и перенос кластерного дискового ресурса между нодами ничего не дал - всё осталось также как и было - невозможно установить SQL без доступного общего диска.


Через Cluster Enabler на созданной дисковой группе сказал Modify group, далее выставил галочку что бы удалить устройства добавленные в Cluster Enabler. После чего в Cluster Enabler группа удалилась и вместе с ней группа консистентности на пассивной системе хранения тоже удалилась, а на активной осталась только сама группа, но без содержимого - пустая группа.

Удалил пустую группу консистентности, при этом дисковый русурс остался быть доступным на кластере в разделе Storage. примечательно, что другой дисковый ресурс(также зеркалируемый посредством MirrorView между системами хранения), который не добавлялся в Cluster Enabler, но был активным на активной ноде, здесь не отображался.

После запуска установки SQL Server больше не ругался на отсутствующий дисковй ресурс. Ругался только на:

1.Rule "Distributed Transaction Coordinator (MSDTC) clustered" generated a warning.The MSDTC service is not clustered.

2.Rule "Network binding order" generated a warning.The domain network is not the first bound network.


Поскольку отсутствовал DTS, при установке SQL Server снял галки:

1.Analisys Server

2.Reporting Services

3.Client Tools SDK

4.SQL Client Connectivity DK

5.Microsoft Sync Framework


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

Сохранил информацию об установке C:\Program Files\Microsoft SQL Server\100\Setup
Bootstrap\Log\20100504_174117\ConfigurationFile.ini На пассивной ноде поппытался установить SQL Server используя конфигурационный файл инсталяци с пассивной ноды, режим Advanced:Install based on configuration fileв процессе установки возникла ошибка:The setting 'FAILOVERCLUSTERDISK' is not allowed value of setting 'ACTION' is 'Install'. Error code 0x84B40005

Если же устанавливать Failover CLUSTER не через ini файл а простым добавление 2-й ноды, при этом выбираем ключ продукта...

В процессе установки возникает ошибка:the current sku is invalid. помог запуск с командной строки
"D:\Masters\en_sql_server_2008_enterprise_x86_x64_ia64_dvd_x14-89207\setu
p.exe" /ACTION=AddNode /INSTANCENAME="CLUSTER02SQL1" /SQLSVCACCOUNT="DOMAIN\Username" /SQLSVCPASSWORD="Password" /AGTSVCACCOUNT="DOMAIN\Username", /AGTSVCPASSWORD="Password" /INDICATEPROGRESS
После этого запустил настройку Cluster enabler на активной ноде, выбрав Configure CE Cluster, после чего приложение Cluster Enabler само преобразовало кластерную группу инстанса SQL Server в группу Cluster Enabled, и создало на CLARiiON-ах группу консистентности.

После чего SQL кластер успешно перебежал на пассивную ноду.

------------------------------------------------------------

Повторил всё тоже со 2-м инстансом - перебегает нормально.В результате получили Active/Active Cluster SQL Server