среда, 26 октября 2011 г.

Автоматизированное перемещение писем из Exchange почтовых ящиков пользователей.

Задача:
Письма в почтовых ящиках пользователей(List_mailboxes.txt), в которых может встретиться определенный набор фраз скопировать в определенный почтовый ящик, а затем удалить в исходном почтовом ящике. Проще говоря переместить. Набор фраз включаем в простой текстовый файл (Filter_search.txt) - по одной фразе на строчку, в конце не добавляем перевод строки.

Реализация:

#переменная имени файла
$File_Name="[Path_to_file]\List_mailboxes.txt"
$File_Name_Filter_search="[Path_to_file]\Filter_search.txt"

#заполняем массивы строками из файлов
$mass=Get-Content $File_Name
$mass_filter_search=Get-Content $File_Name_Filter_search

#админская учетка
$Admin_username="NETBIOSDOMANANAME\Admin_User"

#ящик куда будем скидывать найденные письма
$Str_TargetMailbox='trash@mydomain.ru'

#цикл перебора строк из файла
foreach($string in $mass)
{
#присваиваем переменной имени пользователя строку из файла
$user_mailbox=$string
#добавляем права адмиской учетке на ящик
Add-MailboxPermission -identity $user_mailbox -Accessrights FULLACCESS -User $Admin_username
foreach($string2 in $mass_filter_search)
{
#присваиваем переменной имени пользователя строку из файла
$str_ContentKeywords=$string2
#копируем элемент из почтового ящика
Export-Mailbox -Identity $user_mailbox -ContentKeywords $str_ContentKeywords -TargetMailbox $Str_TargetMailbox -TargetFolder $user_mailbox -Confirm:$false
#Удаляем элемент из почтового ящика
Export-Mailbox -Identity $user_mailbox -ContentKeywords $str_ContentKeywords -DeleteContent -Confirm:$false



Замечания:

Примечательно, что в качестве одной из фраз - критериев поиска может служить адрес отправителя или получателя, тогда операция по перемещению тоже будет выполняться.
После выполнения этого скрипта Exchange Power Shell получаем следующую картину в ящике trash@mydomain.ru:



Где на картинке после восстановления почтового ящика видно, что появляется Recovered Data, внутри которой повторена вся структура восстановленного ящика, независимо от того были в папках письма или нет.

Примечателен тот факт что контентному анализу не поддаются типизированные файлы, так если в одном из писем есть вложение. Файл вложения типа Word или Excel, например, то если в этих файлах, открыв их соответствующими прилоениями мы разместим некую фразу, например, "яблоко". То "яблоко" не найдется Exchanage сервером при выполнении операций в скрипте.

Если же файл будет - простым - текстовым - *.txt, то фраза найдется. Т.е. что мы имеем - если в файлах при поиске будет обнаружена заданная последовательность символов, то операция выполнится.

Полезные ссылки:

http://www.simple-talk.com/sysadmin/exchange/goodbye-exchange-exmerge,-hello-export-mailbox/

http://technet.microsoft.com/en-us/library/bb266964%28EXCHG.80%29.aspx

http://blog.wadmin.ru/2009/09/using-export-mailbox/

воскресенье, 23 октября 2011 г.

How to fix missing WbemAdap Registry value names for Performance Counters

На некоторых серверах появляются ошибки вида:

Event Type: Error

Event Source: WinMgmt

Event Category: None

Event ID: 10

Date: 22.10.2011

Time: 2:23:07

User: N/A
Description:
Event filter with query "select * from HP_InitCompleteEvent" could not be (re)activated in namespace "//./root/WMI" because of error 0x80041010. Events may not be delivered through this filter until the problem is corrected.

Ссылка по решению:

http://networkadminkb.com/KB/a193/how-to-fix-missing-wbemadap-registry-value-names.aspx

пятница, 19 августа 2011 г.

утилита для редактирования .NK2 файлов MS Outlook

Очень удобная утилита для редактирования .NK2 файлов MS Outlook, расположенных по пути "%USERPROFILE%\Application Data\Microsoft\Outlook\Outlook.NK2"

.NK2 - файл предназначен для кэширования введенных почтовых адресов в строке адреса. Он все время открыт Outlook-ом. Outlook извлекает из него данные чтобы доставить адрес по первым символам, когда вы набираете их в строке адреса письма.

Ссылка на программу:
http://www.nirsoft.net/utils/outlook_nk2_edit.html

пятница, 22 июля 2011 г.

Включение Мегафон модема на Hipad под ОС Android

Сегодня попал в руки Hipad с 800Mhz-овым процессором под управлением Android 2.3, стояла задача поскольку в аппарате нет 3G модема, стояла задача запустить интернет на нем через Мегафон 3G модем.

Всё оказалось достаточно не сложно по ссылке:

http://ameth.ru/page/howto-plug-3g-modem-huawei-e150

благо под рукой было всё необходимое.

Использовали настройки для Internet-GPRS, а не WAP-GPRS со страницы:

http://moscow.megafon.ru/publications/rychnye_nastrojoki_telefonov.html

Пользователь аппарата был им доволен - производительностью и возможностью, хотя батареи при использовании игр и WiFi хватало на 6 часов.

четверг, 21 июля 2011 г.

Интересно - Невозможно сделать клон работающего контроллера домена Active Directory на ESX.

Недавно при подготовке тестового стенда столкнулся с невозможностью сделать клон контроллера домена, выдавалась ошибка:
Cannot create a quiesced snapshot because the snapshot operation exceeded the time limit for holding off I/O in the frozen virtual machine
а как оказалось в дальнейшем и снапшот. Контроллер домена уже давно был виртуальным. При выяснении этой проблемы с технической поддержкой VmWare, оказалось что действительно есть такая проблема, но она по большей части на стороне Windows(была Windows 2008 R2). Проблема не связана с Volume Shadow Provider и его WMI writers.
Узнать состояние Writer-ов зарегистрированных в системе можно командой
vssadmin list writers
Дело в том, что база Active Directory, расположенная в файле .dit подвержена постоянной нагрузкам по чтению записи и интервал времени необходимый для снятия образа превышает допустимый тайм аут в течении которого в базу .dit не может быть слит лог файл этой базы. В моем случае ошибка выпадала после 10 минут клонирования.

Ссылки по теме:
(причина):
http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2virtualization/thread/2e913d5c-899b-46b2-88a2-a7bf7a0a584d

(методы борьбы):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1018194

Прожорливые SAVFMSESp.exe процессы и их оптимизация

После миграции сервера MS Exchanage 2007 с ролью Hub Transport с физического сервера на виртуальный, решили что ему не нужно много памяти - 6Гб, и отдали только 4. После нескольких дней работы , зайдя на него увидел что сервер находиться в жутком свопе, что реально он затребовал более 5Гб оперативной памяти при наличии 4Гб физической оперативной памяти, а это значит, что интенсивный обмен с диском и менее эффективная работа служб.

В TaskManger-е оказалось 9 процессов SAVFMSESp.exe относящихся к Symantec Mail Security for Microfoft Exchange, кадый из которых был не менее 60Мб, а самый прожорливый около 260Мб, суммарно они отъедали более 1Гб памяти что было весьма печально.

Поиск в интернете привел к статье:

http://www.symantec.com/business/support/index?page=content&id=TECH84498&locale=en_US

Используя которую поменял параметры и получил всё равно более 4Гб используемой оперативной памяти, ну тут пришлось просто выдать виртуалке ещё один Гб, итого стало 5Г. физической виртуальной памяти, пока полет нормальный.

Боремся с Deadlock на Net.Framework - не работает WSUS

После установки очередного обновления на сервере, который сам и является WSUS(Windows Software Update Service) сервером, и перезагрузки его не мог никак зайти в консоль WSUS - она постоянно выпадала, не помогало даже удаление файла wsus в папке %appdata%\Microsoft\MMC\.

Поиск по ошибке вида:
ISAPI 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.


а также в application логе:

Event Type: Warning
Event Source: W3SVC-WP
Event Category: None
Event ID: 2262
Date: 22.07.2011
Time: 10:49:40
User: N/A
Computer: WSUS-REAL
Description:
ISAPI 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.


Поиск в интернете всё время приводил к одной и той же статье:

http://support.microsoft.com/kb/974165/en-us
По которой не ясно было что делать, по крайней мере для меня.

Всё говорило о том что "съехала крыша" у Net.Framework, поскольку базу WSUS(SUSDB), расположенную на SQL кластере переводил в offline, а затем в online с отключением пользователей. Эти манипуляции с базой ни привели ни к чему.

На сервере были установлены следующие версии Net.Framework: 2.0, 3.0, 3.5 со всем обновлениями

Так как WSUS перестал работать после установки последних обновлений и перезагрузки, решил откатить последнее обновление, KB2478658 для Net.Framework 2.0 и 3.5 и через "Установка и Удаление Программ" исправил установку Net.Framework 3.5. После перезапуска Windows(на всякий случай) WSUS заработал нормально.

Кстати, после этого я установил обновление KB2478658 и перезагрузил контрольно сервер - WSUS всё-равно работал нормально, просто какой то глюк с Net.Framework.

вторник, 21 июня 2011 г.

Android - ошибка в Active Sync - Сервер Exchange Server сообщил об ошибках состояния

После перепрошивки HTC HD2 на Android-е не мог понять причины почему первый раз Exchange Active Sync синхронизировался с почтовиком через интернет, а последующие разы он выдавал ошибку состояния, о которой нигде найти информацию не мог.

Причина оказалась банальной.
Android после синхронизации времени с оператором сотовой связи считал что регион Екатеринбург принадлежит к GMT+6 TimeZone, это пожалуй и правильно на текущий момент, а вот Exchnage 2007 сервер со всеми обновлениями считал, что Екатеринбург всё-таки принадлежит к GMT+5 TimeZone, по началу я на это не обратил внимание. Но после того, как поменял на Android TimeZone на +5, синхронизация с Exchange через ActiveSync прошла успешно.

Также очень полезным оказался инструмент тестирования Outlook Web Access:

https://www.testexchangeconnectivity.com/

среда, 25 мая 2011 г.

Весьма занятная статья про фаловый сервер Windows 2003

http://www.xakep.ru/magazine/xs/063/034/1.asp

Неожиданно почерпнул для себя много нового в части Windows.

четверг, 17 марта 2011 г.

Автоматическая дефрагментация баз Exchange 2007 - практика

Редко, но метко бывает нужно провести дефрагментацию большого количества больших баз Exchange 2007, для этих целей решил написать скрипт для Exchange Management Shell, поскольку ночью спать сильно хочется, а днем, даже в выходные дни, куча пользователей (из более чем 1200) может сидеть в базах и мешать их дефрагментировать своими недовольными звонками начальству и в тех поддержку ))).
Вообщем, использую скрипт:


####################################
#Shiryaev.DE@gmail.com
#скрипт выполняет автоматическую дефрагментацию баз для всех групп хранения CCR кластера Exchange 2007
########################
$Array_DBs = Get-MailboxDatabase | select-object name, servername, storagegroup, EdbFilePath | Sort-Object -Property name

"Count of Databases=" + ([string] $Array_DBs.Length)

for($i=0;$i -le $Array_DBs.Length-1;$i++)
{
$DB_FULL_NAME = ([string] $Array_DBs[$i].server)+"\"+([string] $Array_DBs[$i].Name)
$DB_NAME = $Array_DBs[$i].name
$DB_FILE_NAME = $Array_DBs[$i].EdbFilePath
$SG_NAME = $Array_DBs[$i].storagegroup

If ( ([string] $Array_DBs[$i].servername) -eq "MailCluster-01")
{
"["+$i+"]---Suspend-StorageGroupCopy <<" + $SG_NAME + ">>"
Suspend-StorageGroupCopy -Identity $SG_NAME -SuspendComment "Suspending CCR to reseed." -Confirm:$false
Start-sleep -s 6

"---Dismount-Database <<" + $DB_NAME + ">>"
Dismount-Database $DB_NAME -Confirm:$false
Start-sleep -s 6
"---ESEUTIL.EXE /D <<" + $DB_NAME + ">>"
ESEUTIL.EXE /d $DB_FILE_NAME /tf:\tempdb.edb
Start-sleep -s 6
"---Mount-Database <<" + $DB_NAME + ">>"
Mount-Database $DB_NAME -Confirm:$false
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 with DB <<" + $DB_NAME + ">>."
}
}

Немного статистики:
на сервере HP DL580G5 с 32Gb RAM и размещением всех баз на RAID5, состоящем из 4х FC15k дисков дефрагментация 11-ти баз, которая ни разу не проводилась для 80% объема от 323Gb, составляет 30000seconds, или 500minutes, или 8 hours 20 minutes, что весьма приемлемо провести за одну ночь - запустив дефрагментацию перед уходом домой вечером, например, в пятницу.
моя статистика по базам их размещению, объему, времени прохождения бэкапа и коэффициент от объема ко времени в минутах.

F:\Ex2k7_00__SG_Unlim --- 45G --- 2294s --- k = 1,17
F:\Ex2k7_01stSG_Public_Folders --- 3,6G
F:\Ex2k7_02ndSG_500Limit --- 2G --- 253s --- k = 0,71
F:\Ex2k7_03thSG_300Limit --- 45G --- 2047s --- k = 1,31
F:\Ex2k7_04thDisabled_SG --- 10G --- 461s --- k = 1,30
F:\Ex2k7_05thSG_300Limit --- 40G --- 4022s --- k = 0,59
F:\Ex2k7_11thSG_1000Limit --- 1G --- 487s --- k = 0,12
G:\Ex2k7_06thSG_300Limit --- 88G --- 11070s --- k = 0,47
G:\Ex2k7_07thSG_300Limit --- 48G --- 3334s --- k = 0,86
G:\Ex2k7_08thSG_300Limit --- 49G --- 3898s --- k = 0,75
G:\Ex2k7_09thSG_300Limit --- 16G --- 1070s --- k = 0,89
G:\Ex2k7_10thSG_300Limit --- 16G --- 1064s --- k = 0,90

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

То что соотношение размеров баз не оптимизировано - это всё в будущем ;-)

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

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

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

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

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

вторник, 1 марта 2011 г.

ESX миграция с vCenter 2.5(ESX 3.5) на vSphere (ESX 4.1)

Как оказалось ничего сложного только много времени ушло.
Возможно есть другие схемы миграции...
Я делал следующим образом:
1.Поднял новый vCenter (на кластере - см. предыдущие посты)
2.Подняли хосты ESX 4.1 и добавили в vCenter.
3.удаление машин из Inventory
4.Переподключение дискового луна со старых хостов ESX на новые.



5.Добавление машин в Inventory.
6.Установка новых VM tools.

Поначалу я клонировал виртуальные машины на другой LUN, удалял виртуалки из Inventory, затем переподключал LUN к новому ESX, а там уже добавлял эти виртуалки, но это занимает много времени.

Позднее решил переподключать боевые LUNы, предварительно удалив машины из Inventory.

Непосредственно миграция заняла 2-3 дня с установкой VM tool.

Решил переформатировать все дисковые хранилища, так у ESX 4.1 Более новая VMFS 3.46(у старого VMFS 3.31 ) и привести к одинаковому виду Block size, памятуя о статье.
Заметил что при миграции некоторых виртуальных машин на ESX с одного диска на другой размер не уменьшается, хотя выставлял сжимать диск, а вот и ответ такому поведению:

http://blog.vadmin.ru/2011/02/vmfs.html

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

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

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

Exchange 2007 PowerShell скрипт для выгрузки данных по пользователям в csv(табличный формат)

выводит все поля в CSV - аналог команды:

###################
Get-MailboxStatistics -server | fl
###################


скрипт:


###################
$CSV_File_Name = "c:\CSV_Get-MailboxStatistics.csv"

get-date -format u

#Статистика по всем ящикам

Get-MailboxStatistics -server | Select-Object DisplayName, TotalItemSize, LastLogoffTime, AssociatedItemCount, DeletedItemCount, DisconnectDate, ItemCount, LastLoggedOnUserAccount, LastLogonTime, LegacyDN, MailboxGuid, ObjectClass, StorageLimitStatus, TotalDeletedItemSize, Database, ServerName, StorageGroupName, DatabaseName, Identity, IsValid, OriginatingServer | sort-object -property displayname | Export-Csv $CSV_File_Name -encoding "unicode"

notepad $CSV_File_Name
###################


после выгрузки что бы открыть файл в Excel 2007, например, нужно в Excel 2007 создать пустую книгу и далее через меню "Данные"->"Получить внешние данные"->"Из текста" далее выбрав разделитель табуляции запятую и соответствующий шрифт быть счастливым.

Примечательно что OpenOffice Calc откроет его без вопросов.

среда, 12 января 2011 г.

настройка рассцылки почтовых уведомлений Directum на Windows 2008 R2 кластере

Не доверяйте неоптыным внедренцам Directum, пытайтесь сами разобраться в причинах неотправки почтовых уведомлений, вобщем то первая строка в поиске google решиа проблему.

http://club.directum.ru/blog/post/Rukovodstvo-po-nastrojjke-scenarija-171Agent-rassylki-vkhodjashhikh-zadanijj187.aspx

среда:
службы Directum c шарами крутятся на одном кластере "Directum" (сервера Windows 2008 R2)
база Directum крутиться на другом кластере "SQLCluster-01" (сервера Windows 2008 не R2)
почтовый сервер - Exchange 2007

как настроили:

А.Настройки почтовой системы:
Анонимный коннектор(создается через PowerShell -щас уже точно не помню как - давно это было)(располагаются все receive connectors в "Exchange Management Console" -> "Server Confiruration" -> "Hub Transport" -> "Receive Connectors"), работающий на 8025 порту, в нем прописываем IP-адреса наших узлов кластера Directum, делается это на вкладке "Network", на вкладке "Authentication" все галки сняты, на вкладке "Permission Groups" галки выставлены только для "Anonymous users" и "Exchange users"

также создал пользователя типа Directum_mail@mydomain.ru для которого включили почтовый ящик на Exchange 2007

Б.Настройки на нодах - подробнее смотри ссылку из начала поста.
И выполнили настройки на нодах кластера Directum в secpol.msc->Local Settings разрешили указанному пользователю "Log on as batch job" и "Log on as service"

В.Системные настройки Directum - через клиента из-под администратора:
Компоненты -> Утилиты администратора -> Установки системы и администрирование БД -> Константы -> находим имя константы:"MailOutgoingSettings" в качестве "Значения":
ServerType=SMTP;Server=mail.mydomain.ru;Port=8025;AuthenticationType=None;User=;Password=
-здесь всё как есть, т.е. пользователь и пароль не указаны, только домен свой подставляем.

Г.Планировщик заданий на обоих нодах кластера
(Start->All Programs->Accessories->System Tools->Task Scheduler)
1вариант:
создали bat-файл с указанием в нем одной строки:



"C:\Program Files (x86)\DIRECTUM Company\DIRECTUM 4.7\SBLauncher.exe" -S="SQLCluster-01" -D="DABASENAME" -CT="Script" -F="Agent_emailing_inbound_tasks" -N="USERNAMEAdministrator" -W="PASSWORDAdministrator"



Надо сказать, что пока не поменяли имя скрипта в системе Directum с русского на английское(Компоненты -> Утилиты администратора -> Установки системы и администрирование БД -> Сценарии -> ) - находим сценарий с Заголовком "Агент рассылки входящих заданий", открываем его и изменяем имя, например на следующее - "Agent_emailing_inbound_tasks", без этого батник вообще не работал, поскольку ругался на русские буквы, хотя при этом в "ControlPanel" -> "Region and Language" выставлено [Format:(Russian(Russia));Location:(Russia);Administrative:(Current language for non-Unicode programs:Russian(Russia))]


2вариант:

При создании задания прямо в его свойствах указали параметры запуска файла
Action:Start a program

Settings:

Program/script:

"C:\Program Files (x86)\DIRECTUM Company\DIRECTUM 4.7\SBLauncher.exe"


Add arguments (optional):


-S="SQLCluster-01" -D="DIRECTUM47" -CT="Script" -F="Agent_emailing_inbound_tasks" -N="Administrator" -W="Directum47"


Запуск заданий подготовили от имени пользователя Directum_mail

вторник, 11 января 2011 г.

Как поменять сервер держатель OAB Exchange 2007 для CCR cluster

Слышал, но не ожидал что всё так просто:

http://technet.microsoft.com/en-us/library/dd285503%28EXCHG.80%29.aspx

Погенерировав книгу после изменений в реестре, заметил что на узле кластера, на которую изменил настройку появилась шара с OAB. При этом проверил что новые контакты появляются и удаляются в адресной книге, получаемой Outlook 2007-м

С узла кластера, который был до изменений держателем адресной книги (Offline Address book) удалил шару.

Exchange 2007 PowerShell скрипт для перезаливки всех баз на пассивную ноду в CCR Cluster-е


####################################
#скрипт выполняет перезаливку ВСЕХ баз группы хранения с активной на пассивную ноду
####################################
$Array_SGs = Get-StorageGroup | select-object server, name, replicated | 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..."
#body of 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."
}
}


ещё полезный скрипт:


Get-MailboxDatabase | foreach-object {add-member -inputobject $_ -membertype noteproperty -name mailboxdbsizeinGB -value ([math]::Round(([int64](get-wmiobject cim_datafile -computername $_.server -filter ('name=''' + $_.edbfilepath.pathname.replace("\","\\") + '''')).filesize / 1GB),2)) -passthru} | Sort-Object mailboxdbsizeinGB -Descending | format-table identity,mailboxdbsizeinGB

Для получения размеров всех баз данных
взят здесь:
http://system-administrators.info/?p=5376

Другие вкусности PowerShell для Echange 2007
http://mcp.su/active-directory/powershell-exchange-2007-ad/