четверг, 19 августа 2010 г.

Автоматизация создания снапшотов Active Directory на Windows 2008 R2

В интернете нашел несколько статей про такую автоматизацию, но они подошли мне отчасти. Поскольку я поставил задачу со следующими условиями:
1.Делать Snapshot-ы Active Directory ежедневно (Make snapshots per day)
2.Удалять старые Snapshot-ы Active Directory, например, те, которые старше 30 дней.(Delete old snapshot per day)

По тому как создавать снимки Active Directory есть пару не плохих статеек:
http://itew.ru/2009/06/22/518
http://it-professional.at/?p=59

Всё это красиво но как это всё запихнуть в один исполняемый файл, проблема возникает сразу, как только вы попробуете одной командой схранить снапшот ndtsutil и сразу выйти(Утилита NTDSUTIL имеет многоуровневый интерфейс, поэтому команды надо набирать одну за другой), у меня полуилось это сделать так:

Script1(сохранение информации о snapshot-ах - "Active directory snapshots list all to file.bat"):
ntdsutil snapshot "list all">[Path]\snapshots.txt quit quit
результат команды:
ntdsutil: snapshots
napshot: list all
1: 2010/08/19:11:33 {f6910436-b92b-4b6d-b125-8a7b10493887}
2: C: {9f1b44cf-48ed-478c-9552-e0dcffd88210}
3: D: {d1147dde-3db4-4103-ad2e-3942bd6eb109}

4: 2010/08/19:11:33 {1fcd5908-81f2-430c-8610-2a67b3d10daa}
5: C: {1f55b3ed-428a-4d21-9dd4-d6c82c67d510}
6: D: {11ca5468-86c1-46d9-b606-e5f964ab3412}

7: 2010/08/19:11:33 {66d48540-e53d-481a-8f2b-825ade892b14}
8: C: {858e8405-443e-44f4-85e2-148bb3978868}
9: D: {a6e7aab0-e221-4b87-a296-386232618ab1}

10: 2010/08/19:11:34 {e6752416-0534-48a5-8c5e-ed469f63446a}
11: C: {25b607bb-9303-4f1b-9c1f-588bb02d1700}
12: D: {5d340d1a-852c-46c1-9386-ad55235abc21}


Сама автоматизация сводиться к трем файлам(у меня получилось, так, может у кого то будет более изящное решение - через один файл):
Script1(Executor_SnapshotProcessing.bat):
@SET FILENAME="[Path]\snapshots.txt"
@SET FILENAME2="[Path]\2_1_PS_script_snapshot_delete.ps1"

del %FILENAME%ntdsutil snapshot "list all">%FILENAME% quit quit
C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe -executionpolicy unrestricted -file %FILENAME2%


ntdsutil snapshot "activate instance ntds" create quit quit


Script2(2_1_PS_script_snapshot_delete.ps1):
$fileNameSource="[Path]\snapshots.txt"
$fileNameTarget="[Path]\snapshots2.txt"
$fileNameBAT_DeleterSnapshot="[Path]\2_2_Active_directory_snapshot_delete.bat"
$a=get-content $fileNameSource select-string " 1: "$SnapShotID=$("$a".split(" "))[3]
&$fileNameBAT_DeleterSnapshot $SnapShotID

Script3(2_2_Active_directory_snapshot_delete.bat):
ntdsutil snapshot "delete %1" quit quit

Запускной файл Script1, результат команды:
Executor_SnapshotProcessing.bat
del "[Path]\snapshots.txt"
ntdsutil snapshot "list all" quit quit 1>"[Path]\snapshots.txt"
C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe -executionpolicy
unrestricted -file "[Path]\2_1_PS_script_snapshot_delete.ps1"

only insert string like: delete {eaa5ac99-bf3d-4145-85a8-3a65a7b75702}
ntdsutil snapshot "delete {f6910436-b92b-4b6d-b125-8a7b10493887}" quit quit
ntdsutil: snapshot
snapshot: delete {f6910436-b92b-4b6d-b125-8a7b10493887}
Snapshot {9f1b44cf-48ed-478c-9552-e0dcffd88210} deleted.
Snapshot {d1147dde-3db4-4103-ad2e-3942bd6eb109} deleted.
snapshot: quit
ntdsutil: quit
ntdsutil snapshot "activate instance ntds" create quit quit
ntdsutil: snapshot
snapshot: activate instance ntds
Active instance set to "ntds".
snapshot: create
Creating snapshot...
Snapshot set {a6c5dd08-a38f-47e1-b2c6-5eadf1f46c36} generated successfully.
snapshot: quit
ntdsutil: quit


Далле шедулим Script1 и всё - мы получили скрипт, который удаляет самый давний снапшот Active Directory и делает новый. Но мы не получили хранение тех самых 30 снопшотов ежедневных, которые мы хотим создавать - хранить и удалять через 30 дней.
Для этого нужно до шедулинга скрипта 1 просто напросто их создать. Для этих целей можно создать bat-файл и просто выполнить 30 раз или 30 команд в одном файле bat-файле:

ntdsutil snapshot "activate instance ntds" create quit quit

В PowerShell
помогла ссылка:
http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/14eeebc9-5227-4416-91c6-de730b7630ed

полезные ссылки по PowerShell:

http://sites.google.com/site/lebedevum/voprosy-i-otvety/windows-powershell/windows-powershell-i-komandnaa-stroka-windows

http://window.edu.ru/window_catalog/pdf2txt?p_id=31200&p_page=5

http://www.osp.ru/text/print/302/5560256.html

понедельник, 16 августа 2010 г.

наткнулся случайно на статейку:

http://itband.ru/2010/04/exchange-2007-exchange-2010/#more-5717

Честно говоря не одобряю использование Edge, к тому же не совсем понятна логика построения архитектуры, причина не понимания в том, что на CCR(Cluster Contonious Replication) кластере теперь - в Exchange 2010 стало возможным совмещение всех ролей, а не только роли MAILBOX, как это было на Exchange 2007, поэтому для внутренней архитектуры достаточно обойтись двумя узлами на мой взгляд, как и планируем это у себя. пока времени не хватает, но материалы по-тихонько читаются.

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

http://guardru.wordpress.com/2009/10/16/%D0%B0%D0%BA%D1%86%D0%B5%D0%BD%D1%82-%D0%BD%D0%B0-exchange-2010-%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-%D0%B2/

http://www.exchangerus.ru/tag/faq-e2010/

http://technet.microsoft.com/ru-ru/magazine/ee835720.aspx

вторник, 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):