среда, 28 апреля 2010 г.

Решение проблемы с зависанием spoolsv.exe и HP LaserJet 1020

Принтер HP LasetJet 1020 - стала постоянно виснуть и выпадать служба "Диспетчер очереди печати" представленная exe файлом spoolsv.exe
После очередного прибивания:
taskkill /f /IM spoolersv.exe
Стала постоянно выпадать с ошибкой:
"Ошибка приложения spoolsv.exe версия 5.1.2600.5512, модуль ZSR.dll 6.20.162.0 адрес ....."
В настройках порта принтера (Пуск -> Панель управления -> Принтеры и факсы -> Свойства принтера -> Вкладка "Порты") отключил параметр "Разрешить двусторонний обмен данными"
А Так же заменил spoolsv.exe в C:\Windows\system32\ на такой же сдругой машины
Это не помогло.
Заработало только после следующих вещей:
0.Остановка сервис печати - перевод в режим disabled поскольку он захочет
сам подняться.
1.удалил все принтера из реестра
если удалить ветку реестра:
HKLM/System/Currentcontrolset/Control/Print/Printers/HPLaserJet1018
2. удалил все драйвера hp через uninstall
3.затем через реестр, удалил все, что связано с hewlett-packard
4.затем удалил все из папки c:\windows\system32\spool
5.потом поставил драйвера и все пока работает.
но есть нюанс, после установки "Централизованный базовый драйвер
Plug-and-Play для HP LaserJet"

винда стала выдавать ошибку:
распаковал exe-файл автоустановки и установил принтер в ручную.
После этого принтер заработал нормально, но через некотрое время снова все повтарилось, причем при печати одного и того же документа, пришлось:
1.остановить службу печати
2.вычистить C:\WINDOWS\system32\spool\PRINTERS от текущих печатуемых документов.
Думаю этого было бы достаточно, посто я нажал на удаление принтера до того как остановил очередь печати а принтер не мог удалиться пока у него в очереди висели документы с незавершенной обработкой. После того как документы были удалены, принтер сразу же удалился из системы. Быстренько установил принтер и попросил больше не распечатывать "убойный" документ на него, вероятно это связанно со спецификой данной модели принтера, возможно что ему просто не хватает памяти.
Похоже у подсистемы печати просто сносит крышу, думаю заняться вопросом по приведению подсистемы печати в вычищенный вид, исследовав реестр, потому как после установки принтера HP LaserJet 1100w те же глюки повторились, но уже ничего не помогает, в том числе методы по ссылкам.

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