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

среда, 2 марта 2011 г.

vStorage API на ESX и CLARiiON CX4-120 где увидеть?

Как известно из отсюда, vStorage API доступна в ESX с версии Essentials, но как его увидеть в действии?

Идем на CLARiiON.
(предварительно настраиваем в свойствах хоста - любого один раз делается, поключение к хостам от CLARiiON-ов)
В свойствах хоста видим его виртуальные машины на данной системе хранения:

В свойствах стораджа видим виртуалки раположенные на нем:

четверг, 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

четверг, 20 января 2011 г.

Замедление при копировани больших файлов - есть решения

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

При копировании больших файлов в среде WINDOWS (число файлов мало <15, а их суммарный объем в разы превышает объем оперативной памяти хоста куда происходит копирование) вот уже несколько лет наблюдаю следующую картину:

Например, копируем с того хоста куда идет копирование один 90Гб-й файл, т.е. диск куда сохраняются файлы при копировании расположен на той же машине - которая выполняет операции копирование файлов с удаленного хосте по сети. Сетевые интерфейсы при этом подняты со скоростью по 1Gb/s и ещё объединены в Teaming по 2 в основном по LACP в режиме Round Robin.

Машина куда сохраняются файлы некоторое время с большой скоростью принимает их, примерно до того момента, как создается ощущение, что пока не заполниться кэш оперативной памяти под дисковое копирование, а после этого начинается резкое замедление - поскольку этот самый "кэш" начинает сбрасывать данные на диск и резко замедляет скорость забора данных с сетевого источника, о чем свидетельствует наблюдение за сетевой нагрузкой (Windows Task Manager->Networking).


На рисунке приведено поведение при использовании eseutil.exe

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

Иногда есть возможность отключить кэширование записи на диск, делается это в "Диспетчере устройств"(devmgmt.msc)->"Дисковые устройства"->свойства диска->вкладка "Политика":



но у некоторых подключенных дисковых устройств (у самого нужного сервера) такой возможности нету, например СХД EMC CLARiiON CX4-120:



а у некоторых есть, например HP EVA4000:




Есть альтернативные методы копирования - в частности средством eseutil.exe, которая обычно входит в состав Exchange и служит для дефрагментации почтовых баз. Взять дистрибутив можно здесь.

Фактически нужно только два файла eseutil.exe и ese.dll

синтаксис команды:

eseutil.exe /y {source-file} /d {destination-file}


В моем случае упирались в производительность дисковой подсистемы



, а средствами винды вообще не могли нормально скопировать только теряли время - несколько часов, были ошибки вида:

на Win2003:
"Cannot copy Insufficient system resources exist to complete the requested service."


на Win2008:
"An unexpected error is keeping you from copying the file. If you continue to receive this error, you can use the error code to search for help with this problem. Error 0x8007046A:Not enough server storage is available to proceed this command"


После использования eseutil, смогли начать копирование. Индикация процесса копирования происходит так же, как при дефрагментации баз:



Ощющение что с ней происходит всё быстрее и надежнее не покидало. Скорее всего это происходит из-за того что eseutil принудительно сбрасывает "кэш" копирования на диск по каким-то условиям.

Но и в этом случае eseutil не помогла...
Иногда никак не получается скопировать, так eseutil где-то на 95-98% копирования может выдать ошибку вида:

FAILURE: GetOverlappedResult (read): Not enough server storage is available to process this command.

где-нибудь в конце 90Гбайтного файла.

Тогда есть вариант поделить файл (WinRAR, 7zip, GNU SPLIT) и копировать по частям, а потом эти части собрать (copy, 7zip).

Когда ничего не помогает - как было в моем случае - заливаем бэкап на другой диск и форматим сбойный.

Есть ещё варианты с поднятием ftp-сервера на источнике и докачкой на приемнике. в общем случае - это через другие - протоколы - не SMB: fpt, p2p(torrent например)

либо пользоваться утилитами, позволяющими прерывать копирование по сети (SMB) и продолжать с места остановки, например "CopyFile 2", KillCopy, Real Total Copy и т.п.

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

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

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

http://blogs.technet.com/b/askperf/archive/2007/05/08/slow-large-file-copy-issues.aspx

http://support.microsoft.com/kb/198386/

http://support.microsoft.com/kb/106167

http://support.microsoft.com/kb/332023/ru

четверг, 25 ноября 2010 г.

Не IOPS-ами едиными

Странные вещи иногда происходят:

Внезапно перебежал кластер CCR MailBox Exchange 2007 с одной ноды на другую, поначалу было подумал что причина в изменении конфигурации на одной из SAN фабрик, -я фабрика SAN коммутаторов при этом не менялась и была доступна, так как софт обеспечивающий multipath-инг в SAN показывал 4 пути до диска.

По быстрому зайдя на диски презентованные с СХД (системы хранения данных) на обоих нодах попытался их открыть и на той ноде с которой пошло убегание - задержка была очень большой, видимо какое то влияние при перестроении одной фабрики было...
Предположительно что это не корректно отработал EMC PowerPath версии 5.3 build 311

Усомнило:
Далее посмотрев логи на ставшей пассивной ноде обнаружил, что отваливались обе сети:
Event Type: Warning
Event Source: ClusSvc
Event Category: Node Mgr
Event ID: 1123
The node lost communication with cluster node 'MBS-01' on network '_LAN-TEAM'.

и

The node lost communication with cluster node 'MBS-01' on network 'Interconnect-Cabel1'.

а дальше понятно:
Cluster service was terminated as requested by Node 2.

это потому что был доступен кластерный File Whitness Share

Да и позже вспомнил, что недавно устанавливал на все Exchange 2007 сервера Update Rollup 1 for Exchange Server 2007 Service Pack 3, который как раз не был установлен на узел с которого кластер сбежал...

Есть поле для размышления...

Позднее стала ясна причина всего этого оказалась что SPA и SPB - сторадж процессоры системы CLARiiON CX4-120 перестали справляться с нагрузкой, поданной на них, это стало очевидно после нарезки луна для одного из серверов и начала переноса на него данных объемом половина терабайта. При этом PowerPath показывал большую очередь к диску и текущие IO порядка 20-50 - переброс с одного процессора на другой (Trespass...) не дал результата, реальная скорость копирования достигала порядка 10 мегабайт в секунду - с диска на диск внутри сервера - с разных систем хранения. Вспомнил, что у было настроено 14 синхронных зеркалирований между системами хранения, 6 из которых были временными. Временные зеркалирования отключил, на системах, нагрузка по вводу/выводу на PowerPath Monitor сразу подскочила до 800-1300 операций в секунду (диск был на RAID5 и состоял из 8 SATA-дисков):



Скорость была более 15Гб в минуту

Также, на всякий случай, поотключал кэши чтения и записи на некритичных лунах СХД.

воскресенье, 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 и всё пошло.

вторник, 26 октября 2010 г.

Переключение аппаратно зеркалируемого диска сервера на пассивное плечо

Переключение аппаратно зеркалируемого диска сервера на пассивное плечо.
Аппаратное зеркало на CLARiiON CX4-120.

Условия:
Есть сервер Windows (EMC PowerPath + Navisphere Agent установлены, естественно), которому через SAN поданы диски одинаковой емкости, и настроена аппаратная синхронизация между ними (на дисковых массивах). т.е. на обной системе хранения есть активный LUN, и на другой тоже есть LUN, но пассивный, и происходит непрерывная репликация данных между ними.

Задача:
Переключиться на пассивный диск другой системы хранения.



Решение:
Предварительно, перед тем, как переключаться на зеркало, необходимо убедиться, что на дисковом томе, который располагается на этом LUN-е отсутствуют общие сетевые ресурсы - папки в общем доступе, если таковые имеются, то нужно запомнить их Permission на вкладе Share в свойствах, потому как их придется пересоздать, если мы не хотим перезапускать службу сервера.

Заходим в Navisphere Manager и делаем Promote на Secondary Image LUN-е:



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



и нужно сделать на нем "Reactivate Disk".

После этого том становиться доступным, но сетевые шары, оказываются пустыми, далее здесь есть два пути:
1.Перезапуск службы сервера.
2.Но пункт 1 противопоказан, если у нас есть ещё много различных сетевых папок на этом сервере с активно работающими пользователями. Перезапуск службы сервера их всех отключит просто. Поэтому нужно пересоздать шару с теми же правами на сетевой ресурс, а права NTFS - вообще не трогать, так как они сохраняются.

Перенос раздела на другой диск без остановки сервиса

В прошлом году при запуске двух CLARiiON-ов CX4-120 на соседнем предприятии очень удивило то, что некоторые опытные администраторы Windows систем не знают, как можно перенести раздел или увеличить пространство на существующем разделе без перезагрузки сервера и остановки сервисов данные которых расположены на дисках требующих увеличение раздела.
Естественно, для подобного рода операций необходимы некоторые условия:
1.Наличие достаточного свободного пространства для увеличения/переноса раздела.
2.Тип Дисков должен быть как минимум динамическим(ИМХО)(Удобнее всего использовать сеть SAN).

Правда известный преподаватель с курсов по CLARiiON(http://microinform.ru/emc/MR-1CP-CHIMSV.htm и http://microinform.ru/emc/MR-1CP-MVSCSP.htm) против такого подхода и говорит что есть diskpar - пользуйтесь лучше им. Хорошо что есть оба варианта, просто вариант с diskpar более не удобен на мой взгляд.

Собственно будем использовать программное зеркало Windows - в этом нет никакого секрета, да, получим небольшую нагрузку на процессор и платы ввода/вывода, но это не так существенно по сравнению с тем, что может быть, если будет остановка важного, если не сказать критического сервиса для предприятия. К тому же нагрузка на процессор не даст ощутимого эффекта (Degrade Perfomance) для остальных программ и служб в целом для системы с учетом современных серверов и процессоров(взять, для примера, те же самые HP DL 360).

Собственно в оснастке compmgmt.msc имеем:



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

Собственно зеркало для тома создается правой кнопкой на томе Add mirror... где далее будет предложено выбрать из доступных сводных мест на дисках.

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

вторник, 10 августа 2010 г.

О ClARiiON и зеркальном RAID на разных дисковых полках

Хоть NaviSphere и предупреждает, что так делать не желательно, - всё равно собрал RAID 1 на разных дисковых полках - одно плечо на 0-й полке, другое - на 1-й полке, всего 6 дисков - по три на полку, причем такой RAID не собирается через графический интерфейс NaviSphere-ы, а только через NaviCli

командой вида(ручное указание пар дисков в 10 RAID на CLARiiON CX4-120):

Пример1:

naviseccli -h clariion-main-spa createrg 10 0_0_5 0_1_5 0_0_6 0_1_6 0_0_7 0_1_7 -pri high -rm no -raidtype r1_0

или:

Пример2:

naviseccli -h clariion-main-spa createrg 10 0_0_5 0_0_9 0_0_6 0_0_10 0_0_7 0_0_11 0_0_8 0_0_12 -pri high -rm no -raidtype r1_0

Итак, после того как выключали дисковый массив, и включили его заново, как и предупреждает NaviSphere, что не создавайте RAID 1 на разных полках поскольку 0-я полка инициализируется быстрее и выполучите degrade на время ресинхронизации (rebuilding):

среда, 12 мая 2010 г.

Проблема с общим диском у нод ESX - нет проблемы

Суть проблемы собственно:

Диск подан через SAN но ноды кластера (HA и DRS) не могут переместить на него виртуальные машины, даже если Гостевая ОС в offline.

При этом при ближайшем рассмотрении оказалась картина немного другая:

У Обоих нод, диск не сконфигурирован как Storage, т.е. WWN его виден на серверах, при этом, если смотреть хранилища на кластере, через меню Databases (там где Inventory и т.д.), то там хранилище присутствует, мало того, на нем располагается один из шаблонов виртуальных машин. но при просмотре самого хранилища - на нем вообще нет ни одного файла.

После удаления шаблона из Inventory хранилище само пропало. (ESX 3.5).

Добавил отформатировал и добавил его заново.

Предполагаю что глюк был связан с тем, что ранее менял тип RAID-а для этого дискового ресурса на CLARiiON, и когда отключал, просто не заметил что в инвентори хранилище присутствует, а оно присутствовало, скорее всего, по причине шаблона. Шаблон думал что он на хранилище, а хранилища не было уже; и, когда стал подавать его заново на ноды, просто не добавил как хранилище, а только презентовал через SAN.

Просто добавил его заново.

четверг, 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