<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT-блог компании &#34;ЛанКей&#34; &#187; резервное копирование</title>
	<atom:link href="http://www.lankey.ru/blog/tag/%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5-%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lankey.ru/blog</link>
	<description>Системный интегратор. Комплексные решения по построению ИТ-инфраструктуры предприятия.</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:58:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Data Protection Manager 2010 Release Candidate и его интересности</title>
		<link>http://www.lankey.ru/blog/2010/02/12/data-protection-manager-2010-release-candidate-i-ego-interesnosti/</link>
		<comments>http://www.lankey.ru/blog/2010/02/12/data-protection-manager-2010-release-candidate-i-ego-interesnosti/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 09:43:17 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[System Center]]></category>
		<category><![CDATA[data protection manager 2010]]></category>
		<category><![CDATA[hyper-v]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows server 2008]]></category>
		<category><![CDATA[windows server 2008 r2]]></category>
		<category><![CDATA[резервное копирование]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=458</guid>
		<description><![CDATA[На днях, а именно 9-го февраля 2010 года, компания Microsoft выпустила на тестирование Release Candidate продукта Data Protection Manager 2010. Хотя продукт еще не вышел в релиз &#8211; он нам очень интересен, потому что бэкапит Exchange 2010, внедренный некоторым нашим клиентам. Кстати, скачать DPM можно с официального сайта здесь. DPM 2010 RC интересен (кроме того, что его [...]]]></description>
			<content:encoded><![CDATA[<p>На днях, а именно 9-го февраля 2010 года, компания Microsoft выпустила на тестирование Release Candidate продукта Data Protection Manager 2010. Хотя продукт еще не вышел в релиз &#8211; он нам очень интересен, потому что бэкапит Exchange 2010, внедренный некоторым нашим клиентам. Кстати, скачать DPM можно с официального сайта <a href="http://connect.microsoft.com/site840/Downloads/DownloadDetails.aspx?DownloadID=26452">здесь</a>.</p>
<p>DPM 2010 RC интересен (кроме того, что его выход означает &#8211; релиз уже близко!) тем, что он поддерживает бэкап виртуальных машин кластера Hyper-V 2 с Cluster Shared Volumes. Чисто случайно как раз такой кластер оказался под рукой, поэтому было принято решение &#8211; устанавливать <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Развертывание DPM 2010 RC открыло несколько любопытных вещей, которыми я и хочу поделиться:</p>
<p><span id="more-458"></span></p>
<p>DPM 2010 Release Candidate поддерживает простой апгрейд с DPM 2010 Beta. Я тестировал его на двух системах &#8211; одна инсталляция была выполнена на Windows Server 2008 R2, вторая &#8211; на Windows Server 2008 x64.</p>
<p>Beta-версия DPM 2010, кстати, нормально апгрейдится с DPM 2007 SP1 - устанавливает новый SQL-сервер, и апгрейдит старую базу DPMDB. Все параметры и бэкапы при этом сохранились. Как работает апгрейд с DPM 2007 на DPM 2010 RC &#8211; сказать пока не могу, не пробовал.</p>
<p>Апгрейд DPM 2010 Beta, стоящего на R2, прошел без проблем и вопросов. А вот для апгрейда той Betы, которая стоит на Windows Server 2008, инсталлятор попросил меня скачать и установить два патча &#8211; с номерами <a href="http://support.microsoft.com/kb/975759/">975759</a> и <a href="http://support.microsoft.com/kb/962975/">962975</a>. Причем, эти патчи недоступны через Windows Update и выдаются по запросу на сайте &#8211; нужно только ввести свой e-mail.</p>
<p>После инсталляции вышеуказанных патчей апгрейд DPM прошел на ура. Кстати интересно - RC использует другой instance своего SQL-сервера, и если для Beta он назывался MSDPMV3BETA1EVAL, то для версии RC дополнительно ставится SQL instance с названием MSDPM2010RCEVAL. Базу данных инсталлятор переносит и обновляет сам &#8211; но не забудьте перед апгрейдом все-таки сделать ее резервную копию <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , а также удостовериться, что на диске хватит места под еще один экземпляр SQL Server 2008 и базу данных MSDPM.</p>
<p>Итак, после установки Release Candidate версия DPM станет 3.0.7558.0, вместо версии 3.0.7336.0 у Beta.</p>
<p>После апгрейда самого сервера нужно сапгрейдить и агенты DPM &#8211; для этого открываем консоль DPM, заходим в Management -&gt; Agents, и нажимаем на ссылку Update Available рядом с каждым сервером.</p>
<p>Кстати говоря, на некоторые серверы через DPM агент по неясным причинам обновляться отказался &#8211; так и оставался в состоянии Needs Updating. Пришлось запускать на сервере установку агента вручную &#8211; из папки Agents дистрибутива DPM. После установки агента вручную достаточно нажать Refresh на странице консоли DPM.</p>
<p>Больше ничего с существующими Protection Group делать не надо &#8211; все предыдущие настройки и бэкапы сохраняются и подключаются нормально.</p>
<p>А вот при попытке добавить в Protection Group виртуальную машину с кластера Hyper-V, DPM выдал любопытное сообщение:</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/02/dpmwarning.jpg"><img class="aligncenter size-medium wp-image-462" title="Предупреждение DPM 2010 RC" src="http://blogs.lankey.ru/wp-content/uploads/2010/02/dpmwarning-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Это означает, что для резервного копирования виртуальных машин из кластера, и на виртуальной машине, и на каждом узле кластера должны стоять следующие обновления:</p>
<ul>
<li>Для Windows Server 2008 &#8211; 948465 (это просто Service Pack 2), и <a href="http://support.microsoft.com/kb/971394/">971394</a>.</li>
<li>Для Windows Server 2008 R2 &#8211; <a href="http://support.microsoft.com/kb/975921/">975921</a> и <a href="http://support.microsoft.com/kb/975354/">975354</a>.</li>
</ul>
<p>Эти обновления опять-таки необходимо загружать с Microsoft по запросу, указывая свой e-mail, на который и придет ссылка для скачивания файлов, вместе с паролем.</p>
<p>Вот такие любопытные нововведения <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  продолжаем исследовать RC, и ждем релиз.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2010/02/12/data-protection-manager-2010-release-candidate-i-ego-interesnosti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Аварийное восстановление Exchange Server 2007</title>
		<link>http://www.lankey.ru/blog/2009/11/09/exchange-server-2007-disaster-recovery/</link>
		<comments>http://www.lankey.ru/blog/2009/11/09/exchange-server-2007-disaster-recovery/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 22:38:52 +0000</pubDate>
		<dc:creator>Сергей Ерин</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[exchange 2007]]></category>
		<category><![CDATA[резервное копирование]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=377</guid>
		<description><![CDATA[Недавно к нам обратилась одна компания с просьбой восстановить Exchange Server. В компании работает около 500 человек. Занимается компания бизнесом в Интернете. Можно себе представить насколько критичным для данной компании является сервис электронной почты, куда приходят все заказы от клиентов, и происходит общение между сотрудниками. В тот момент, когда компания обратилась за помощью к нам, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<p style="text-align: justify;">Недавно к нам обратилась одна компания с просьбой восстановить Exchange Server. В компании работает около 500 человек. Занимается компания бизнесом в Интернете. Можно себе представить насколько критичным для данной компании является сервис электронной почты, куда приходят все заказы от клиентов, и происходит общение между сотрудниками.<span id="more-377"></span></p>
<p style="text-align: justify;">В тот момент, когда компания обратилась за помощью к нам, почта уже не работала 2 дня, руководство было в панике. Самое плохое, что всё это время системные администраторы пытались восстановить работоспособность почтового сервиса самостоятельно, и как всегда это бывает, лучше бы они ничего не делали! И почему за помощью к специалистам обращаются не начальном этапе, а когда уже всё находится в полной <em>{nslookup 83.102.180.3}</em>?)</p>
<p style="text-align: justify;">В компании был только один Exchange Server 2007 Standard Edition, на котором располагались все ящики пользователей. Ящики большего числа пользователей были распределены по 2-м базам данных, каждая по 250 ГБ. Было также ещё 2 MailBox Store для руководства и 1 Public Folder Store. Резервное копирование выполнялось при помощи Acronis True Image Echo Enterprise Server, который выполнял снимок всего диска.</p>
<h4>Пролог</h4>
<p style="text-align: justify;">Итак, что же случилось? Хронология событий такая:  В одну прекрасную ночь в офисе компании выключили свет, UPS продержал сервера 1 час, затем PowerChute начал завершать работу операционных систем, но Exchange Server завершить работу не успел, и UPS выключился. На утро системные администраторы включили сервера, и обнаружили, что Exchange Server не подмонтировал 2 самые большие базы данных, в которых находились ящики 250 пользователей. Попытки смонтировать БД вручную не увенчались успехом, ввиду их физического повреждения, несмотря на то, что БД размещались на массиве RAID 10 (плохо, что вместе с логами транзакций). Далее системные администраторы решили вытащить базы данных из резервных копий Acronis-а. Который сказал, что процесс восстановления будет завершён через 10 часов. Руководство сказало, что это слишком долго и нужно сделать так, чтобы пользователи смогли получать хотя бы новые письма, пока идёт процесс восстановления. Этот метод называется Dial-tone Recovery.</p>
<p style="text-align: justify;">Но то ли системные администраторы не очень внимательно читали документацию, толи не так её поняли, но сделали они всё примерно так: Они решили создать новую БД, чтобы переместить в неё всех пользователей. Запустили Exchange Management Console перешли в раздел Server Configuration\Mailbox, создали новую БД и попытались её смонтировать, на что получили ошибку. Они долго разбирались в природе этой ошибки и затем поняли, что ошибка была вызвана тем, что они пытались смонтировать 6-ю БД в Exchange Server Standard, который поддерживает только 5! Следующим их действием стала попытка удалить повреждённую БД, которая тоже не увенчалась успехом, потому что в этой базе были ящики пользователей и её нельзя удалять (точнее Exchange не даёт этого сделать)! Эта ситуация вогнала системный администраторов в небольшой ступор (и лучше бы они в нём и оставались), так нет же, среди них нашёлся один знаток Active Directory, который вызвался помочь. Он взял и удалил базы данных  сервера Exchange через ADSIedit.msc. Радостные и благодарные ему системные администраторы Exchange, создали 2 новые БД, и смонтировали их. Этот процесс естественно прошёл успешно.</p>
<p style="text-align: justify;">Но их радость очень быстро закончилась! Когда администраторы попытались переместить пользователей в новые пустые БД, то столкнулись с новой «проблемкой». При открытии консоли Exchange Management Console &gt; Recipient Configuration &gt; Mailbox,  при открытии любого ящика стала выдаваться ошибка The properties on User have invalid data. А командлеты Get-MailBox и Move-Mailbox выдавали ошибку Object Domain/OU/User has been corrupted and it is in an inconsistent state. Database is mandatory on user MailBox.</p>
<p style="text-align: justify;">В этот момент системные администраторы поняли, что дела совсем плохи, надежд больше нет и лучше приложить все усилия к написанию нового резюме! <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  В конце концов, руководство решило обратиться за помощью к сертифицированному партнёру Microsoft, в компанию «ЛанКей».</p>
<p style="text-align: justify;">В таком состоянии нам передали дела и предоставили удалённый доступ к системе. Ввиду критической для бизнеса ситуации, работы нам пришлось производить в круглосуточном режиме.</p>
<h4>Восстановление.</h4>
<p style="text-align: justify;">Часов через 10 восстановились базы данных недельной давности, из Acronis-овского бэкапа. Но ни одна из них не стала монтироваться. Ещё раз убеждаемся в том, что Acronis не умеет резервировать Exchange Server и все БД были в состоянии Dirty Shutdown. Хотя базы данных были зарезервированы вместе с логами, но чтобы выполнить софт-рековери, логов в архиве не хватало. Пришлось восстанавливать базы данных при помощи <strong>eseutil /p</strong>. На каждую базу данных потребовалось ещё 5 часов восстановления. После этого базы смонтировались. На всякий случай, мы также запустили проверку логической структуры при помощи <strong>isinteg</strong>.</p>
<p style="text-align: justify;">Теперь мы должны были разобраться с тем, что ящики пользователей нельзя было ни переместить, ни восстановить. Проанализировав ситуацию, мы выяснили, что у всех пользователей был удалён атрибут <strong>homeMDB</strong>, точнее был удалён не сам атрибут, а его значение. В тестовых целях, мы восстановили данный атрибут у одного из пользователей вручную через <strong>ADSIedit.msc</strong>. И теперь мы могли перемещать и восстанавливать ящик данного пользователя. Но восстанавливать значения этого атрибута у 500 пользователей было бы довольно трудоёмкой задачей. Поэтому мы решили как-то автоматизировать данный процесс. Первым в голову конечно же пришло использовать Power Shell. Но командлеты для управления Active Diretory появились только в Windows Server 2008 R2, здесь же вся инфраструктура была построена на Windows Server 2003. Но выход был найден, мы решили использовать <strong>PowerShell Commands for Active Directory от Quest Software</strong> <a href="http://www.quest.com/powershell/activeroles-server.aspx" target="_blank">http://www.quest.com/powershell/activeroles-server.aspx</a> (спасибо <a href="/author/excerr/" target="_blank">Ярославу</a> за подсказку).</p>
<p style="text-align: justify;">Для задания атрибута homeMDB, использовался командлет:<br />
<strong>Set-QADUser user_name -ObjectAttributes @{HomeMDB=&#8217;FQDN_базы&#8217;}</strong></p>
<p style="text-align: justify;">Теперь оставалось задать соответствующий атрибут каждому пользователю. Но не всё оказалось так просто. Ведь у нас было 2 базы данных и 250 пользователей, и нет никакой информации о том, какой пользователь в какой БД размещался. И соответственно непонятно какой атрибут, какому пользователю присваивать. Мы задались вопросом: как выяснить, какой пользователь, в какой базе находился? Ведь в Active Directory эта информация была стёрта. Единственное место, где эта информация осталась &#8211; это сами базы данных. И вытащить её оттуда можно было при помощи командлета <strong>Get-MailboxStatistics</strong>.</p>
<p style="text-align: justify;">Поскольку Get-MailboxStatistics &#8211; является командлетом Exchange, а Set-QADUser &#8211; является командлетом Quest. Нужно было подгрузить обе оснастки в один сеанс PowerShell, для чего использовали командлет <strong>Add-PSSnapin</strong>. Итак, для задания атрибута homeMDB для пользователей из db1 использовали следующий скрипт:</p>
<p style="text-align: left;"><strong>Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin<br />
Add-PSSnapin Quest.ActiveRoles.ADManagement<br />
Get-MailboxStatistics -Database exchsrv\First Storage Group\db1 | ForEach-Object  -process {Get-QADuser $_.Displayname} | Set-QADUser -ObjectAttributes @{HomeMDB=&#8217;CN=db1,CN=First Storage Group,CN=InformationStore,CN=exchsrv,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=DOMAIN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=ru&#8217;}</strong></p>
<p style="text-align: left;">Аналогичный скрипт для задания атрибута homeMDB для пользователей из второй БД:<br />
<strong>Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin<br />
Add-PSSnapin Quest.ActiveRoles.ADManagement<br />
Get-MailboxStatistics -Database exchsrv\Second Storage Group\db2 | ForEach-Object  -process {Get-QADuser $_.Displayname} | Set-QADUser -ObjectAttributes @{HomeMDB=&#8217;CN=db2,CN=Second Storage Group,CN=InformationStore,CN=exchsrv,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=DOMAIN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=ru&#8217;}</strong></p>
<p style="text-align: justify;">После перезапуска службы Information Store пользователи успешно подключились к своим ящикам, но ни получение ни отправка почты не работала. Мы обратили внимание на то, что служба HUB Transport не работает. После запуска её вручную, она сразу же останавливалась. Как мы выяснили, была повреждена база данных почтовой очереди, которая располагается здесь: C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\mail.que.<br />
Чтобы не потерять почту, которая успела попасть в очередь, мы решили восстановить эту БД при помощи eseutil:</p>
<p style="text-align: left;"><strong>eseutil /p c:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue\mail.que</strong></p>
<p style="text-align: justify;"><strong> </strong>После восстановления этой БД, служба HUB Transport запустилась и заработала. Пользователи начали получать новую почту.</p>
<h4>PS1:</h4>
<p style="text-align: justify;">На самом деле процесс восстановления был немного сложнее, чем описано выше. Просто лень много писать, да и про метод Dial-tone Recovery подробно написано на technet. В кратце:</p>
<p style="text-align: justify;">На время восстановления мы переместили всех пользователей во временные пустые БД, потом восстановили БД из резервных копий, заменили ими новые БД. Затем новые БД смонтировали в Recovery Storage Group и слили всю почту, полученную во время восстановления, с восстановленными из архива ящиками.</p>
<h4>PS2:</h4>
<p>Немножко размышлений:</p>
<ul>
<li style="text-align: justify;">Как нам потом доложили, сбой почтовой системы вылился компании в 2 млн. рублей убытков. Интересно учитывал ли кто-нибудь эти деньги при проектировании почтовой системы и разработке политики резервного копирования? Было ли это прописано в SLA? <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li style="text-align: justify;">Ведь спасти от такого сбоя могла простая SCR репликация, которая обошлась бы примерно в дополнительные 150 000 р. И восстановление заняло бы максимум пол часа. Хотя можно было бы подумать и о внедрении CCR кластера, который всё равно бы обошёлся раза в 2 дешевле, понесённых убытков.</li>
<li style="text-align: justify;">Резервировать Exchange Server 2007 нужно поддерживаемыми средствами резервного копирования, такими как Symantec BackUp Exec, Microsoft Data Protection Manager, ну или на худой конец ntbackup. Даже Windows  Backup из состава Windows Server 2008 уже поддерживает резервное копирование Exchange Server 2007 (sp2). Эти средства резервного копирования правильно подготавливают базу данных Exchange к процедуре резервирования, закрывают базу на запись, и после завершения резервного копирования, удаляют логи. Используемое в данном случае средство резервного копирования, неправильно резервировало БД Exchange, что привело к дополнительным 10 часам простоя.</li>
<li style="text-align: justify;">Также в данном случае большой ошибкой стало то, что логи транзакций размещались на одном и том же диске с базами данных, и поэтому было потеряно всё разом.</li>
<li style="text-align: justify;">Кроме того,  помимо еженедельного полного резервного копирования, было бы неплохо выполнять ежедневное добавочное. В данном случае произошла бы потеря почты только за один день, а не за неделю.</li>
</ul>
<h4>PS3:</h4>
<p style="text-align: justify;">История полностью вымышленная, любые сходства с реальным миром, простые совпадения! <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/11/09/exchange-server-2007-disaster-recovery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Удаление старых резервных копий в Data Protection Manager 2007</title>
		<link>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/</link>
		<comments>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 07:59:26 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[System Center]]></category>
		<category><![CDATA[data protection manager 2007]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[резервное копирование]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=190</guid>
		<description><![CDATA[Все мы знаем продукт для резервного копирования данных от Microsoft &#8211; System Center Data Protection Manager 2007. Его основная задача &#8211; выполнять резервные копии и складировать их на подключенные к серверу жесткие диски. В дальнейшем для долговременного хранения данные могут быть перенесены на ленты, но основным местом хранения является жесткий диск. При создании группы хранения [...]]]></description>
			<content:encoded><![CDATA[<p>Все мы знаем продукт для резервного копирования данных от Microsoft &#8211; System Center Data Protection Manager 2007. Его основная задача &#8211; выполнять резервные копии и складировать их на подключенные к серверу жесткие диски. В дальнейшем для долговременного хранения данные могут быть перенесены на ленты, но основным местом хранения является жесткий диск. При создании группы хранения DPM сам разбивает выделенный ему диск на разделы, в зависимости от предполагаемого им размера резервных копий и частоты копирования.</p>
<p>Естественно, при создании группы защиты DPM спрашивает, каков срок хранения резервных копий для восстановления &#8211; recovery points. И, само собой, по истечении этого срока он должен удалять старые копии, чтобы на их место сохранять новые.</p>
<p>Но мы столкнулись с ситуацией, что старые резервные копии DPM не удаляет. Они так и копятся на диске &#8211; и, рано или поздно, наступает время, когда места под новую резервную копию уже не хватает, и DPM вываливается с ошибкой &laquo;Recovery Point Volume threshold exceeded&raquo;.</p>
<p><span id="more-190"></span></p>
<p>Для удаления устаревших резервных копий в DPM есть скрипт <strong>PruneShadowCopies.ps1</strong>, который можно запустить и вручную. Но &#8211; данный скрипт не работает. Выдает ошибку:</p>
<p><code><br />
Index operation failed; the array index evaluated to null.<br />
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:205 char:18<br />
+     $replicaList[$ &lt;&lt;&lt;&lt; inactiveDs.ReplicaPath] =<br />
$inactiveDs.RecoveryRangeinDays<br />
Index operation failed; the array index evaluated to null.<br />
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:206 char:23<br />
+     $latestScDateList[$ &lt;&lt;&lt;&lt; inactiveDs.ReplicaPath] = new-object DateTime<br />
</code></p>
<p>Поэтому, собственно, резервные копии и не удаляются автоматически &#8211; DPM должен каждую полночь запускать этот скрипт по расписанию, а скрипт завершается с ошибкой.</p>
<p>В июне 2009 года Microsoft выпустила обновление <a href="http://support.microsoft.com/kb/970867">970267</a> для Data Protection Manager, среди прочих решающее и эту проблему. Скачать его можно здесь. Процесс установки таков:</p>
<ul>
<li>Скачиваем три файла, нужной нам платформы &#8211; в зависимости от того, 32- или 64-битная версия DPM установлена у нас. Кстати, ставится это обновление на Data Protection Manager 2007 Service Pack 1.</li>
<li>Запускаем файл <strong>DataProtectionManager2007-KB970867.exe</strong> и производим обновление сервера. Чтобы не перезагружать сервер после обновления &#8211; убедимся, что DPM Administrator Console и DPM Management Shell не запущены.</li>
<li>Если база данных SQL, в которой хранится конфигурационная информация DPM, находится <strong>не</strong> на том же сервере, где сам DPM &#8211; запускаем на этом сервере файл <strong>SqlPrep-KB970867.msp</strong>. Если мы ставили SQL Express вместе с DPM на ту же машину - обновление запускать не нужно.</li>
<li>Если мы используем DPM Management Shell <strong>не</strong> на том же сервере, где сам DPM &#8211; запускаем на этом сервере файл <strong>DPMManagementShell2007-KB970867.msp</strong>. Если все находится на одном сервере &#8211; обновление запускать не нужно.</li>
<li>Заходим в DPM Administrator Console, выбираем Management &#8211; Agents, и обновляем все клиентские агенты DPM до новой версии &#8211; версия DPM и агентов после этого обновления становится 2.0.8844.0. При обновлении нужно указать Manual restart &#8211; потому что на самом деле перезагружать серверы не нужно.</li>
</ul>
<p>Все. После завершения обновления скрипт PruneShadowCopies.ps1 должен выполняться без ошибок.</p>
<p>Данный скрипт ничего не пишет на экран в процессе выполнения. Если мы все-таки хотим посмотреть диагностическую информацию &#8211; нужно перед запуском этого скрипта включить подробный режим отображения:</p>
<p><code><br />
$VerbosePreference = "continue"<br />
</code></p>
<p>После этого запускать скрипт.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Резервное копирование VMware ESX на USB HDD</title>
		<link>http://www.lankey.ru/blog/2009/08/17/backup_vmware_esx_to_usb_hdd/</link>
		<comments>http://www.lankey.ru/blog/2009/08/17/backup_vmware_esx_to_usb_hdd/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 14:42:48 +0000</pubDate>
		<dc:creator>Сергей Ерин</dc:creator>
				<category><![CDATA[VMWare]]></category>
		<category><![CDATA[виртуализация]]></category>
		<category><![CDATA[резервное копирование]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=38</guid>
		<description><![CDATA[Пролог Я более года пользовался Microsft Hyper-V  на своём домашнем сервере, и в принципе всем он меня удовлетворял, работал надёжно и без сбоев. Но всё же в предверии выхода Windows Server 2008 R2, перед апгрейдом решил попробовать VMware vSphere 4, всё-таки лидер рынка виртуализации. С первого раза вставать на мой домашний компьютер (ASUS P5E-VM HDMI\8GB [...]]]></description>
			<content:encoded><![CDATA[<h4 style="TEXT-ALIGN: left">Пролог</h4>
<p style="TEXT-ALIGN: justify">Я более года пользовался Microsft Hyper-V  на своём домашнем сервере, и в принципе всем он меня удовлетворял, работал надёжно и без сбоев. Но всё же в предверии выхода Windows Server 2008 R2, перед апгрейдом решил попробовать VMware vSphere 4, всё-таки лидер рынка виртуализации. С первого раза вставать на мой домашний компьютер (ASUS P5E-VM HDMI\8GB RAM\Intel Q6600\3WARE 3650SE &#8211; RAID 10), VMware ESX отказался, не нашёл ни жёстких дисков, ни сетевых карт. Слава богу компания 3WARE сама написала драйверы для VMware <a href="http://www.3ware.com/kb/article.aspx?id=15548">http://www.3ware.com/kb/article.aspx?id=15548</a>. Но вот сетевушки пришлось купить: Intel PRO/1000 PT Gigabit Adapter. В общем, в итоге ESX сервер установился и заработал.</p>
<p style="TEXT-ALIGN: justify">Теперь собвственно встала задача развернуть виртуальные машины. Все образы операционных систем и куча всякого другого софта у меня была только на внешнем USB жестком диске.  И тут возникла проблема: VMware не предоставляет никаких средств доступа к USB накопителям! Через vSphere Client можно подмонтировать .iso образы с рабочей станции или размещённые на vmfs-хранилище, а также использовать физический CD-ROM сервера или рабочей станции, с которой запущен vSphere клиент.</p>
<p><span id="more-38"></span></p>
<p style="text-align: center;"><img class="size-full wp-image-71 aligncenter" title="cdchoice" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/cdchoice.jpg" alt="cdchoice" width="411" height="170" /></p>
<p style="TEXT-ALIGN: justify">Но для меня ни один из этих вариантов не являлся приемлемым. Я конечно мог подключить USB HDD к своему ноутбуку и подмонтировать .iso-шники к нему, но во-первых производить установку по Wi-Fi очень долго, во-вторых это ограничивает возможность удалённой работы, т.к., например ставить Windows Server 2008 r2 c DVD, через Интернет вообще не реально!</p>
<p style="TEXT-ALIGN: justify">В общем всем известно, что VMware ESX 4 основан на Linux RedHat (что бы там не говорили про тонкий гипервизор и отсутсвие ОС), который, кстати, съедает памяти не меньше Windows Server 2008. Такчто задача заключалсь в том, чтобы подружить Linux и USB жесткий диск с файловой системой NTFS, а затем предоставить доступ к нему для VMware.</p>
<p style="TEXT-ALIGN: justify">Сразу скажу, что я не являюсь специалистотм по Linux/Unix системам, и практически никогда с ними не работал, так что не надо меня сильно ругать! Ну не люблю я чёрные &laquo;готичные&raquo; текстовые экраны, где надо помнить кучи команд, где нет интуитивно понятного интерфейса и нет Vista Aero)</p>
<p style="TEXT-ALIGN: justify">
<p style="TEXT-ALIGN: justify">
<p style="TEXT-ALIGN: justify">
<h4>Открываем SSH</h4>
<p>Сидеть за сервером неудобно, поидее у него вообще нет ни клавиатуры, ни мыши, ни монитора, поэтому первым делом открываем SSH, чтобы получить удалённый доступ к консоли. Для этого в главном окне vSphere Client переходим на вкладку Configuration, нажимаем слева внизу Security Profile, а затем справа вверху Properties. Там нужно будет отметить галку SSH Server.</p>
<p><img class="aligncenter size-full wp-image-84" title="vfirewal" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/vfirewal.jpg" alt="vfirewal" width="600" height="426" /></p>
<p style="text-align: justify;">Теперь к консоли VMware можно будет подключаться при помощи <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a> по SSH. Казалось бы всё хорошо, но оказывается по умолчанию пользователю root запрещён вход по SSH. Чтобы разрешить пользователю root входить по SSH, нужно переконфигурировать демон SSH:<br />
Логинимся на сервер VMware локально и редактируем файл /etc/ssh/sshd_config. В Linux есть страшный и ужасный редактор под названием VIM, который, для большей очевидности, запускаеся командой <strong>vi</strong>, в общем, чтобы отредактировать файл пишем:</p>
<p><strong>vi /etc/ssh/sshd_config</strong></p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-87 aligncenter" title="vi" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/vi.jpg" alt="vi" width="459" height="70" /></p>
<p style="text-align: justify;">В редакторе один раз нажимаем PageDown и находим строчку:<br />
<strong>PermitRootLogin no<br />
</strong>Нажимаем кнопку <strong>Ins</strong>, редактор переходит в режим редактирования, стираем <strong>no</strong>, пишем <strong>yes</strong>. Затем нажимаем <strong>ESC</strong>, нажимаем &lt;<strong>Shift</strong>&gt;+&lt;<strong>:&gt;</strong>, и пишем <strong>wq</strong> (это значит записать и выйти).<br />
Теперь нужно либо перезагрузить сервер, либо перезапустить службу sshd:<br />
<strong>[root@VMwareESX4 ~]# service sshd restart</strong></p>
<p style="text-align: justify;">Теперь вы можете подключаться к VMware через PuTTY, под учетной записью root.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<h4>Включаем поддержку NTFS</h4>
<p>Включаем поддержку NTFS в VMware ESX 4, а точнее в Linux. По умолчанию Linux c NTFS не работает. Но немного погуглив, я нашёл драйверы, которые позволяют использовтаь NTFS в Linux. Например <strong>fuse-ntfs-3g</strong>. Для него требуется скачать 2 пакета:<br />
<strong>fuse-2.6.3-1.el5.rf.x86_64.rpm<br />
</strong><strong>fuse-ntfs-3g-1.2310-1.el5.rf.x86_64.rpm<br />
</strong>Все указанные в этой статье пакеты можно найти на <a href="http://www.rpmfind.net">www.rpmfind.net</a>, ну или в <a href="http://www.google.ru">www.google.ru</a>)</p>
<p style="TEXT-ALIGN: justify">Ещё у вас может возникнуть вопрос, каким образом эти пакеты запихнуть в VMware. Делается это так: Скачиваете пакеты и копируете их в какую-нибудь папку, например distr, затем в консоли vSphere Client переходите на вкладку Configuration, слева нажимаете Storage, справа выбираете VMFS раздел, нажимаете по нему правой кнопкой и выбираете Browse Datastore.</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-85 aligncenter" title="storage" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/storage.jpg" alt="storage" width="600" height="239" /></p>
<p>В Datastore Browser нажимаете кнопку Upload, выбираете Upload Folder, и закачиваете папку distr с пакетами на сервер.</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-86 aligncenter" title="storebrowser" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/storebrowser.jpg" alt="storebrowser" width="431" height="194" /></p>
<p>Затем подключаетесь при помощи PuTTY к серверу VMware по SSH и устанавливаете пакеты:<br />
Папку которую вы заливали при помощи Datastore Browser можно найти в консоли тут: /vmfs/volumes/VMFSpartition/distr, переходите в эту папку и ставите пакеты:</p>
<p><strong>cd /vmfs/volumes/VMFSpartition/distr<br />
rpm -i fuse-2.6.3-1.el5.rf.x86_64.rpm<br />
rpm -i fuse-ntfs-3g-1.2310-1.el5.rf.x86_64.rpm</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<h4>Монтируем USB HDD</h4>
<p>Теперь монтируем наш USB жёсткий диск с файловой системой NTFS. Создаём папку монтирования:</p>
<p><strong>mkdir /vmimages/usbhdd</strong></p>
<p>И монтируем в неё наш жесткий диск:</p>
<p><strong>mount -t ntfs-3g /dev/sda1 /vmimages/usbhdd</strong></p>
<p>mount &#8211; команда монтирования; -t ntfs-3g задаёт тип файловой системы NTFS (драйвер которой мы поставили выше); /dev/sda &#8211; это устройство, которое мы монтируем, в моём случае жесткий диск висел именно на нём, в вашем случае может быть по другому, например sdb, sdc и т.д., возможно придется поискать; цифра 1 задаёт номер раздела на диске (1,2,3,4 &#8211; основные, 5,6,&#8230; &#8211; в Extended Partition).</p>
<p>Почему монтировали именно в папку /vmimages/usbhdd? Потомучто из консоли vSphere Client при загрузке образа в CD-ROM, выбрать .iso-шники можно токлько из папки /vmimages.</p>
<h4>Монтируем .iso-шник в виртуальную машину через vSphere Client</h4>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-71 aligncenter" title="cdchoice" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/cdchoice.jpg" alt="cdchoice" width="411" height="170" /></p>
<p>Выбираете Connect to ISO image on a datastore&#8230;</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-94 aligncenter" title="cdiso1" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/cdiso1.jpg" alt="cdiso1" width="373" height="122" /></p>
<p>Заходим в папку vmimages и видим там созданную нами папку usbhdd:</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-95 aligncenter" title="cdiso2" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/cdiso2.jpg" alt="cdiso2" width="472" height="333" /></p>
<p>Входим в папку usbhdd и &laquo;вуаля&raquo;, видим содержимое нашего USB-жесткого диска:</p>
<p style="TEXT-ALIGN: center">
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-93 aligncenter" title="cdiso3" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/cdiso3.jpg" alt="cdiso3" width="472" height="333" /></p>
<h4>Выполняем резервное копирование виртуальных машин</h4>
<p>Кроме того, что мы получили возможность монтировать .iso образы с USB HDD, теперь мы можем копировать виртуальные машины, причем как из VMware на USB жесткий диск, так и наоборот. Естественно виртуальные машины предварительно нужно остановить.</p>
<h4>Устанавливаем Midnight Commander</h4>
<p style="TEXT-ALIGN: justify">Кстати, не знаю как вам, а мне не удобно строчить кучу команд в консоле, поэтому я решил установить файловый менеджер Midnight Commander:<br />
Скачиваете пакет<strong> mc-4.6.2-3.pre1.fc9.x86_64.rpm</strong>, брать тамже на <a href="http://www.rpmfind.net">www.rpmfind.net</a>, закачиваете его в VMware ESX, описанным выше способом, и устанавливаете:</p>
<p><strong>rpm -i mc-4.6.2-3.pre1.fc9.x86_64.rpm</strong></p>
<p>Теперь в консоле SSH будет работать веселее, набираем команду <strong>mc</strong> и наслаждаемся:</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-97 aligncenter" title="mc" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/mc.jpg" alt="mc" width="600" height="372" /></p>
<p style="TEXT-ALIGN: justify">Кстати, для нормального отображения Midnight Commander в консоли PuTTY, нужно выбрать кодировку UTF-8. Нажимаем правой кнопкой по заголовку окна PuTTY, выбираем Change Settings, раскрываем раздел Window, переходим в Translation и справа выбираем UTF-8.</p>
<p style="TEXT-ALIGN: justify">
<h4>Устанавливаем SAMBA</h4>
<p style="TEXT-ALIGN: justify">Осталось только одно неудобство, которого не было в Hyper-V. Да я теперь могу с лёгкостью монтировать .iso-шники и ставить ОС, Office и т.д., но как быть с кучей софта, который распространяется не в .iso? Как этому софту в любой удобный для меня момент попадать с USB HDD внутрь виртуальной машины? В Hyper-V я мог просто расшарить папку с диском, а потом с виртуалок заходить на сервер <a href="file://\\hyper-v\usbhdd">\\hyper-v\usbhdd</a> и получать доступ к софту.</p>
<p style="TEXT-ALIGN: justify">Чтобы реализовать тоже самое на VMware пришлось установить сервер SAMBA. Но это оказалось сделать не так уж и просто. VMware использует очень обрезанную версию Linux RedHat, и кроме того все пакеты которые там стоят имеют очень старую версию. И почему ещё я не люблю Linux, так это из-за этой зависимости пакетов. Пытаешься установить один .rpm, который для своей установки требует 5 других, каждый из которых требует 5 ещё каких-то пакетов и т.д., какая-то цепная реакция), некторые из пакетов вообще требуют одновременной установки. В общем даю список пакетов, которые мне пришлось поставить, чтобы установить сервер SAMBA:</p>
<p><strong>rpm -i &#8211;nodeps &#8211;force cups-libs-1.2.4-11.8.el5.x86_64.rpm<br />
rpm -i &#8211;nodeps &#8211;force popt-1.13-4.fc10.x86_64.rpm<br />
rpm -i &#8211;nodeps &#8211;force samba-common-3.0.33-0.fc8.x86_64.rpm<br />
rpm -i &#8211;nodeps &#8211;force samba-3.0.33-0.fc8.x86_64.rpm</strong></p>
<p style="TEXT-ALIGN: justify">В общем-то сборник какой-то мути получился и наверняка можно было сделать всё иначе, но честно-говоря мне надоело разбираться с пакетами. И я стал использовать ключи &#8211;force и &#8211;nodeps (что наверное в общем-то не очень рекомендуется). Но тем не менее сервер samba установился и заработал.</p>
<p>Настройка:<br />
Теперь у нас есть midnight commander и всё стало проще, запускаем mc, переходим в папку \etc\samba\, находим там файл smb.conf, нажимаем F4 и редактируем:</p>
<p><em>[Global]<br />
security = user<br />
passdb backend = tdbsam<br />
encrypt password = yes<br />
smb passwd file = /etc/samba/smbpasswd<br />
domain master = no<br />
domain logons = no</em></p>
<p><em>[share]<br />
comment = root<br />
path = /<br />
browseable = yes<br />
writable = yes</em></p>
<p>В 3-х словах: в этом файле мы указали путь к файлу паролей пользователей сервера samba &#8211; smbpasswd, создали общую папку &laquo;share&raquo;, которая ссылается на корень раздела VMware. Т.е. по сути открыли доступ ко всем системным файлам!!, а аткже подмонтированным разделам, напр. нашему USB диску - /vmimages/usbhdd, а также разделу с виртуальными машинами - /vmfs/volumes/VMFSPartition.</p>
<p>Теперь нужно создать файл с паролями samba, его можно проимпортировать из системы, выполнив:</p>
<p><strong>cat /etc/passwd | mksmbpasswd.sh &gt; /etc/samba/smbpasswd</strong></p>
<p>Теперь нужно задать пароль для пользователей samba, мне нужен был доступ только для root, поэтому выполнил команду:</p>
<p><strong>smbpasswd -a root</strong></p>
<p>Как я думал, что всё готово. Но нет. Оказывается протокол SMB (порт TCP-139), был закрыт на файерволле VMware ESX. Открываем его следующей командой:</p>
<p><strong>esxcfg-firewall &#8211;openPort 139,tcp,in,Samba</strong></p>
<p>Если SAMBA сервер не запуститься автоматически, то запустить его можно выполнив команду: <strong>smbd</strong></p>
<p>Ну в общем-то всё, открываем, заходим и используем:</p>
<p style="TEXT-ALIGN: center"><img class="size-full wp-image-106 aligncenter" title="smb" src="http://blogs.lankey.ru/wp-content/uploads/2009/08/smb.jpg" alt="smb" width="600" height="372" /></p>
<p>Конечно можно сделать автоматическое монтирование внешнего HDD, подредактировав файл fstab, как наверное можно настроить автозапуск smbd, но мне это было не нужно (или лень возиться). Т.к. я всегда могу запустить нужные мне команды через SSH.</p>
<p>Вродебы всё!</p>
<p>PS: Я делал все эксперементы на тестовой машине, которую не жалко; Не повторяйте это в продуктивной среде!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/17/backup_vmware_esx_to_usb_hdd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

