воскресенье, 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

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

По причине непрохождения бэкапа Exchange 2007 посредствоом NetBackup - переустановка пассивного узла CCR кластера Exchange 2007

Приняли решение переустановить пассивный узел CCR кластера Exchange 2007, по причине невозможности сделать резервную копию баз Exchange посредством NetBackup версии 7.0.1
На самом деле он стал пассивным на время переустановки.
Подробности:
На одном из узлов (MAIL-MBS-02) Exchange 2007 CCR кластера столкнулись с ошибкой:

Нашел в интернете: http://support.microsoft.com/kb/940184
Проверил:

т.е. ни одного «писателя» не отобразилось, в то время, как на пассивном узле кластера (MAIL_MBS-01) всё нормально:

на MAIL-MBS-02 опробовал методы описанный в вышеприведенной статье Microsoft:

1. Click Start, click Run, type Regedit, and then click OK.
2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EventSystem\{26c409cc-ae86-11d1-b616-00805fc79216}\Subscriptions
3. On the Edit menu, click Delete, and then click Yes to confirm that you want to delete the subkey.
4. Exit Registry Editor.
5. Click Start, click Run, type services.msc, and then click OK.
6. Right-click the following services one at a time. For each service, click Restart:
o COM+ Event System
o COM+ System Application
o Microsoft Software Shadow Copy Provider
o Volume Shadow Copy
7. Click Start, click Run, type cmd, and then click OK.
8. At the command prompt, type vssadmin list writers, and then press ENTER.
9. If the VSS writers are now listed, close the Command Prompt window. You do not have to complete the remaining steps.

If the VSS writers are not listed, type the following commands at the command prompt. Press ENTER after each command.
o cd /d %windir%\system32
o net stop vss
o net stop swprv
o regsvr32 ole32.dll
o regsvr32 oleaut32.dll
o regsvr32 /i eventcls.dll
o regsvr32 vss_ps.dll
o vssvc /register
o regsvr32 /i swprv.dll
o regsvr32 es.dll
o regsvr32 stdprov.dll
o regsvr32 vssui.dll
o regsvr32 msxml.dll
o regsvr32 msxml3.dll
o regsvr32 msxml4.dll
Note The last command may not run successfully.
10. At the command prompt, type vssadmin list writers, and then press ENTER.
11. Confirm that the VSS writers are now listed.


После чего в получил:

Как видно, ситуация улучшилась, но не достигла показателей MAIL_MBS-02 - здесь их значительно меньше.

После этого я выкачал и опробовал Microsoft Fix it 50498 из статьи базы знаний http://support.microsoft.com/kb/940184
думая, что то улучшиться, но этого не произошло – осталась такая же картина как на последнем скриншоте.

Таким образом, появились только:

Writer name: 'MSDEWriter'
Writer Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
Writer Instance Id: {82b36d12-14f4-454b-93ad-5d22bf02d33c}
State: [1] Stable
Last error: No error

Writer name: 'Registry Writer'
Writer Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
Writer Instance Id: {bc6c04b6-f138-4752-91af-6ca239d48fa5}
State: [1] Stable
Last error: No error

Writer name: 'Event Log Writer'
Writer Id: {eee8c692-67ed-4250-8d86-390603070d00}
Writer Instance Id: {fa8822f7-8daf-425a-8dfa-ad82c0164705}
State: [1] Stable
Last error: No error

Writer name: 'COM+ REGDB Writer'
Writer Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
Writer Instance Id: {1dcd4ff3-b0bd-44dd-953e-72b715fb3a88}
State: [1] Stable
Last error: No error


в то время, как должны были:

Writer name: 'System Writer'
Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Instance Id: {4c2f53f9-8cc2-48e5-b4dd-cb9079f4fbd4}
State: [1] Stable
Last error: No error

Writer name: 'Microsoft Exchange Writer'
Writer Id: {76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}
Writer Instance Id: {dabee982-dbe6-4d4f-88be-75bad5e5c83b}
State: [5] Waiting for completion
Last error: No error

Writer name: 'MSDEWriter'
Writer Id: {f8544ac1-0611-4fa5-b04b-f7ee00b03277}
Writer Instance Id: {04978613-5a51-454f-9c34-2ebb4be70514}
State: [1] Stable
Last error: No error

Writer name: 'Registry Writer'
Writer Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
Writer Instance Id: {edc80bc2-5950-4334-a9a3-5a3b1af09284}
State: [1] Stable
Last error: No error

Writer name: 'Event Log Writer'
Writer Id: {eee8c692-67ed-4250-8d86-390603070d00}
Writer Instance Id: {30302354-ff23-428b-9c84-30860b6bf226}
State: [1] Stable
Last error: No error

Writer name: 'COM+ REGDB Writer'
Writer Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
Writer Instance Id: {3e149704-f637-419f-90ea-e9e1f7a72c4c}
State: [1] Stable
Last error: No error

Writer name: 'Cluster Service Writer'
Writer Id: {41e12264-35d8-479b-8e5c-9b23d1dad37e}
Writer Instance Id: {c131f870-2b6a-4ae5-99a9-5c97a3e5a5f7}
State: [1] Stable
Last error: No error

Writer name: 'IIS Metabase Writer'
Writer Id: {59b1f0cf-90ef-465f-9609-6ca8b2938366}
Writer Instance Id: {70284a8b-c170-43db-9e15-1c2f04ee3af1}
State: [1] Stable
Last error: No error

Writer name: 'BITS Writer'
Writer Id: {4969d978-be47-48b0-b100-f328f07ac1e0}
Writer Instance Id: {7aecd6c9-9734-4c1d-80ce-8a0e6efd29a0}
State: [1] Stable
Last error: No error

Writer name: 'WMI Writer'
Writer Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
Writer Instance Id: {c322e2ac-568c-41a8-83e4-37dd3b978004}
State: [1] Stable
Last error: No error


Детали переустановки:
1.Удаление Exchange 2007 с узла, через установка - удаление.

2.Извлечение ноды из кластера, нажатием "Evict node" через контекстное меню в кластерной оснастке, после перевода ноды в offline. После чего кластер забывает про эту ноду.(Предварительно наделал скриншотов - члены группы администраторов, настройки сетевых интерфейсов - пригодятся после переустановки)

3.Установка операционной системы Windows Enterprise с нуля (драйвера, ввод в домен, настройка сети, установка апдейтов с WSUS и т.п.)

4.Добавление с активной ноды в windows кластер вновь установленного узла, при установке указываем учетные данные пользователя от имени которого будет запукаться служба кластера и игнорируем предупреждения о DHCP на сетевых интерфейсах (у нас Teaming - LACP 802.3ad).

5.Установка Exchange на пассивном узле с ролью "Passive Clustered Mailbox Role". Надо сказать, что данные почтовых групп после вывода из кластера я не удалял, а здесь самое время, так как диск для почтовых ящиков подан с SAN то данные на нем остались, но теперь они не нужны - удаляем.

В моем случае по окончании возникла ошибка:

Не могла стартовать служба MSExchangeTransportLogSearch при этом и перезагрузка сервера не помогала, помня прежнее решение этой проблемы добавил в файл host на пассивном узле (на активном она уже была) строчку вида:
127.0.0.1 crl.microsoft.com
после чего служба смогла нормально стартовать.

В итоге получили нормальный список теневых писателей ))):


после чего осталось выполнить скрипт ресинхронизации баз с нуля на пассивную ноду:


####################################
#Shiryaev.DE
#скрипт выполняет перезаливку баз группы хранения с активной на пассивную ноду
#предварительно группе хранения нужно сказать Suspend Storage Group Copy - можно через GUI

$Array_SGs = Get-StorageGroup | select-object server, name, replicated | Sort-Object -Property name
#$Array_SGs = Get-StorageGroup | select-object name | Sort-Object -Property name

"Count of Storage Groups=" + ([string] $Array_SGs.Length)

for($i=0;$i -le $Array_SGs.Length-1;$i++)
{
$SG_NAME = ([string] $Array_SGs[$i].server)+"\"+([string] $Array_SGs[$i].Name)
If ( ([string] $Array_SGs[$i].replicated) -eq "Clustered")
{
"[" + ($i+1) + "]" + "Storage Group name <<" + $SG_NAME + ">> is Clustered"
"reseed processing..."

"---Suspend-StorageGroupCopy <<" + $SG_NAME + ">>"
Suspend-StorageGroupCopy -Identity $SG_NAME -SuspendComment "Suspending CCR to reseed." -Confirm:$false
Start-sleep -s 6
"---Update-StorageGroupCopy <<" + $SG_NAME + ">>"
Update-StorageGroupCopy -Identity $SG_NAME -DeleteExistingFiles -force
Start-sleep -s 6
"---Resume-StorageGroupCopy <<" + $SG_NAME + ">>"
Resume-StorageGroupCopy -Identity $SG_NAME
}
else
{
"[" + ($i+1) + "]" + "Storage Group name" + $SG_NAME + " is NOT Clustered nothing to do."
}
}

После чего все двенадцать групп хранения с общим объемом данных 350Гб получили (Exchange Management Console->Server Configuration->Mailbox->Cluster) "Copy Status" = "Healthy"
Копирование завершилось примерно за 5 часов.
На всё про всё ушло времени с 9-00 по 18-00 с учетом синхронизации, то есть 9 часов.

понедельник, 7 февраля 2011 г.

Как смонтировать сетевой ресурс с Windows сервера в папку Linux

Пусть мы хотим смонтировать сетевой ресурс:

//backup/backup/SVN-02

В локальную папку на сервере

/home/backup

И при этом что бы эта папка автоматически монтировалась при загрузке.
Шаг 0.
проверяем, что в системе установлен пакет smbfs командой:

dpkg --get-selections | smbfs

если его нету устанавливаем из-под пользователя root:

apt-ger install smbfs

Шаг 1.

Для этих целей в домене создали учетную запись пользователя domuser с паролем password123
И предоставляем ей доступ к сетевому ресурсу //backup/backup/SVN-02
Шаг 2.

Создаем файл:

/etc/backup.cred

это можно сделать командой:

touch /etc/backup.cred

Файл должен быть следущего содержания:

username=domuser
password=password123

С символом Enter после последней введённой строки.
Отредактировать файл можно редактором nano командой:

nano /etc/backup.cred


Шаг 3.
Установка необходимых прав на файл /etc/backup.cred
выполняется командой:

chmod 600 /etc/backup.cred


права 600 - чтение и изменение только для владельца
права 644 - чтение и изменение только для владельца, чтение для всех остальных

Шаг 4.
Открываем на редактирование файл файловых систем монтируемых, при загрузке:

nano /etc/fstab


и в конце дописываем строки вида, где вместо пробелов символы табуляции:

//backup/Backup/SVN-02/home/backupcifscredentials=/etc/backup.cred,rw00

Вариант команды ручного монтирования1:

mount -t cifs //backup/backup/SVN-02/home/backup -o credentials=/etc/backup.cred,workgroup=corp.kaus.ru,wr


Вариант команды ручного монтирования2:

mount -t cifs //backup/backup/SVN-02 /home/backup -o credentials=/etc/backup.cred,wr


Оба варианта рабочих.
Здесь можно использовать в качестве адресов-источников монтирования:

//10.1.224.185/backup/SVN-02
или
//margarita/backup/SVN-02
или
//backup/backup/SVN-02 где backup это DNS-алиас


Шаг 5.
Проверяем смонтированные файловые системы командой:

mount

Содержимое смотнтированного каталога смотрим камандой:

ls -l /home/backup


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

http://www.cyberciti.biz/tips/how-to-mount-remote-windows-partition-windows-share-under-linux.html

http://www.opennet.ru/docs/RUS/mount/mount04.html

http://ubuntuforums.org/showthread.php?t=1292552

http://www.go2linux.org/wrong-fs-type-bad-option-bad-superblock