Не знаю, как у других, а мои серверы SharePoint мне почти как дети. Раньше я хвалил их. Мне нравится, когда мне говорят, что они делают что-то хорошее, а когда кто-то плохо отзывается о них, я бросаюсь на их защиту, независимо от того, заслуживают мои серверы этого или нет. И я всегда с моими детьми и не хочу, чтобы что-то плохое случилось с ними. К счастью, заставить серверы SharePoint вести себя, как надо, гораздо легче, чем детей, и выздоравливают они быстрее. Но как яростно ни защищаем мы свои серверы SharePoint (и своих детей), аварийные ситуации все равно случаются.

.

Прежде чем мы начнем подробно говорить о восстановлении в аварийных ситуациях, следует определить, что же это такое —«аварийная ситуация». Ваши серверы SharePoint могут переживать различные аварийные ситуации. Чтобы встретить их во всеоружии, нужно знать, к чему конкретно готовиться. Конечно, в идеале хорошо было бы защитить свои серверы SharePoint от всех возможных сбоев. Но пока рекомендую оценить ваш бюджет и определить, от каких аварийных ситуаций вы реально можете их защитить.

Определение возможной аварийной ситуации

Самое лучшее, что вы можете сделать для начала, это обсудить потенциальную аварийную ситуацию со своим ИТ-отделом. Подготовьте раскладку всех типов аварийных ситуаций, процессов их предотвращения и примерный бюджет мероприятия. Это позволит понять, сколько будет стоить каждая возможность. Затем следует поговорить с вашими потребителями, бизнес-подразделениями. Расскажите им о различных возможностях и их стоимости. Может быть, они согласятся выполнять восстановление в момент аварии, а, возможно, каждая минута простоя для них будет стоить дорого. Обсудив с ними этот вопрос, вы поймете, как ваши пользователи работают с SharePoint и что для них является важным. Кроме того, обсуждение поможет вам понять, сколько денег и времени тратится в случае какой-либо аварийной ситуации.

После того как вы определите, к какому типу аварийной ситуации готовитесь, термины следует вписать в соглашение на уровне обслуживания, SLA. SLA установит операционные процессы, а восстановление в аварийной ситуации — один из таких процессов. Данное соглашение описывает условия обслуживания. Например, предположим, что кому-то нужно, чтобы удаленный в 4.30 утра файл можно было восстановить вместе со всем содержимым. Если в соглашении SLA прописано, что файлы могут быть восстановлены только в состояние на двенадцать ночи, вам потребуется поддержка руководства, чтобы объяснить пользователю, что его файл не может быть восстановлен. В SLA необходимо согласовать ожидания всех сторон, чтобы каждый знал, что ему делать и что его ждет в аварийной ситуации.

Восстановление контента при помощи «Корзины»

Вероятно, самая распространенная аварийная ситуация в SharePoint — это преждевременное удаление контента. И в зависимости от положения сотрудника, удалившего контент, в вашей компании, его аварийная ситуация может стать аварийной ситуацией и для вас.

Хотя такая аварийная ситуация встречается чаще всего, с ней довольно легко справиться. Как и SharePoint 2007, SharePoint 2010 имеет встроенную «корзину» Recycle Bin. В этой Recycle Bin сохраняются удаленные файлы, документы, папки, списки и библиотеки документов. Хотя корзина и кажется емкой, следует помнить, что Recycle Bin не сохраняет удалений веб-сайтов и коллекций сайтов (о чем я расскажу позже). В Recycle Bin есть две части: Recycle Bin пользователя и Recycle Bin администратора.

Первая часть Recycle Bin показывает пользователю все документы, которые были им удалены на сайте и дает возможность восстановить их. На экране 1 показано, как член сайта видит Recycle Bin. В Recycle Bin перечисляются элементы, которые пользователь удалил с сайта, включая исходное местоположение элемента и время удаления.

 

Корзина SharePoint 2010
Экран 1. Корзина SharePoint 2010

Из корзины пользователь может восстанавливать документы в исходную папку и продолжать работу с ними. Хотя все эти документы принадлежат к первой части корзины, они учитываются в общей квоте коллекции сайтов. Поэтому пользователи могут удалять пункты из данной области Recycle Bin, чтобы освободить пространство. С этого момента пользователи уже не смогут больше восстанавливать документы и должны обращаться в службу поддержки, а она уже задействует вторую часть Recycle Bin.

Пользователи не знают о том, что существует секретная область Recycle Bin, доступная только администраторам коллекции сайтов. Эта корзина содержит все документы, которые пользователи удалили из коллекции сайтов. Что более важно, эта корзина содержит все документы, которые были удалены из первой части корзины. Это тот уровень, на котором администратор SharePoint может подстраховать пользователей от их собственных ошибок. Если пользователь удаляет документ и из своей части корзины, то такой документ может быть восстановлен из второй части корзины администратором. Количество элементов корзины администратора не учитывается в квоте коллекции сайтов.

Чтобы получить доступ к корзине администратора, необходимо быть администратором коллекции сайтов. Откройте первую часть корзины. В зависимости от того, какой шаблон сайта вы используете, обычно слева на панели инструментов есть ссылка. Если вы администратор сайта, вы увидите дополнительный текст, в котором упоминается Site Collection Recycle Bin, со ссылкой на нее. Щелкнув мышью по этой ссылке, вы попадаете на страницу /_layouts/AdminRecycleBin.aspx. На этой странице имеется две ссылки. Первая показывает содержание первой части корзины, то есть пользовательскую корзину. Вторая ссылка, которая называется Deleted from end user Recycle Bin (удаленное из пользовательской корзины), показывает вторую часть корзины. Здесь вы можете увидеть все документы, которые пользователи удалили из Recycle Bin. Восстановление документов из этой части происходит в исходную папку.

Важно понять, что удаленные документы не переносятся из первой части во вторую. Они показаны во второй части только в том случае, если были удалены из первой части. Если веб-приложение настроено на удаление пунктов из корзины по истечении 30 дней, они сохраняются и в первой, и во второй части. Не нужно знать никаких трюков, чтобы вернуть их.

Доступ к этой настройке и другим настройкам корзины можно получить, выбрав последовательно Central Admin, Application Management, Managed Web Applica­tions. Выберите веб-приложение и нажмите General Settings в ленте. Вы можете изменить эти настройки при помощи PowerShell в следующих свойствах своего веб-приложения: RecycleBin-CleanupEnabled, RecycleBinEnabled, RecycleBinRetentionPeriod и Second-StageRecycleBinQuota.

Другие инструменты для восстановления контента

А как же восстановить контент после того, как он покинул корзину? Это довольно замысловатая процедура. Чтобы выполнить данную операцию, вам понадобится что-то вроде резервных копий. Если вы не делаете никаких копий — во-первых, стыд вам и позор. Во-вторых, вам повезло, что вы читаете эту статью. Самое меньшее, что вы можете сделать, — это создать копии всех баз данных SharePoint на сервере SQL Server. Сделав это, вы получите несколько вариантов для восстановления контента. Если вы не знаете, как сделать копию баз данных на сервере SQL Server, просмотрите статью «Scheduling SQL backups for SharePoint» в моем блоге на сайте www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=248.

Если вы восстанавливаете контент из баз данных, у вас есть несколько вариантов. Выбор варианта зависит от среды и от того, что вы собираетесь восстановить. Если вам нужно восстановить удаленную коллекцию сайтов или веб-сайт, нет ничего проще, чем вариант восстановления баз данных неприсоединенного контента в Central Administration. На экране 2 видно, что Central Administration имеет вкладку, посвященную резервированию и восстановлению. Один из вариантов позволяет получить доступ к базе данных SharePoint, которая не смонтирована с SharePoint. Вы можете использовать эту возможность для резервирования данных из восстановленной базы данных и восстановить их для работы в своей среде. Чтобы это сделать, восстановите старую копию базы данных контента на сервере SQL Server. Используйте другое имя, чтобы убедиться, что вы не перепишете производственную версию базы данных, когда будете восстанавливать ее копию. Затем щелкните ссылку Recover data from an unattached content database в Central Administration. Введите имя восстановленной базы данных, выберите Browse Content и нажмите Next.

 

Использование Backup and Restore в Central Administration
Экран 2. Использование Backup and Restore в Central Administration

Отсюда вы можете пролистать коллекцию сайтов, которая существует в восстановленной базе данных контента. Вы также можете экспортировать веб-сайт или список, если хотите. Если вы выбираете коллекцию сайтов, она копируется с помощью команды Backup-SPSite или stsadm -o. Если вы выбираете веб-сайт или список, их содержимое экспортируется через Export-SPWeb или stsadm -o. Когда вы нажимаете Next, вы видите запрос имени файла, чтобы можно было сохранить или экспортировать его. Важно, чтобы вы использовали Universal Naming Convention (UNC), потому что копирование или экспорт выполняются в виде запланированного задания и могут запускаться на любой системе в вашей ферме.

Когда вы нажимаете Start Backup, Share-Point начинает копирование или экспорт контента, который вы выбрали, в соответствующий файл. Затем открывается страница состояния резервирования, где вы можете проследить, как идет процесс резервирования. На этой странице есть столбец Recovery Step для восстанавливаемого контента. Для коллекции сайтов используйте Restore-SPSite. Для различных веб-сайтов и списков задействуйте Import-SPWeb. Когда процесс резервирования завершится, используйте правильную команду для переноса восстановленного контента в его исходное местоположение или в другое место, если вы хотите вытащить из корзины определенные документы. Другое местоположение может быть в той же самой ферме или в отдельной. Единственное требование состоит в том, что ферма, которую вы восстанавливаете, должна иметь тот же номер сборки или более новый, чем ферма, откуда сделана резервная копия.

Если у вас есть вторая ферма SharePoint 2010, вы можете не выполнять шаги для размонтирования базы данных, а присоединить восстановленную базу данных контента ко второй ферме. SharePoint на ферме восстановления должен быть такой же сборки или более новой, чем на ферме, где создавалась база данных. Если требуются какие-либо решения, чтобы пересоздать контент, вам, вероятно, понадобится такое решение и на ферме восстановления.

Другой, многим незнакомой функцией являются управляемые пути. Веб-приложение, которое вы используете для восстановления базы данных, должно содержать управляемые пути, необходимые для воссоздания контента, который вы пытаетесь восстановить. После присоединения базы данных к ферме восстановления можно применять несколько методов для получения желаемого контента: вы можете использовать резервную копию или выполнить экспорт, можете загрузить индивидуальные документы, можете задействовать Explorer View для получения нескольких документов сразу.

Вы также можете использовать и PowerShell для выполнения резервного копирования индивидуальных коллекций сайтов.

Вот команда, используемая для создания копий коллекций сайтов: Backup-SPSite. Зайдите в SharePoint Management Shell и введите Get-Help Backup-SPSite для получения нужной информации. Для начала резервного копирования необходимо только два элемента: URL коллекции сайтов, с которой делается копия, и имя файла, куда эта копия делается. Файл, который запишет команда Backup-SPSite, будет полной копией коллекции сайтов. Это значит, что копия будет содержать контент и его метаданные (например, предупреждения, разрешения, рабочие процессы). Подобно базе данных контента, эта копия полностью переносима. Вы можете восстановить ее в любом месте фермы, а также на другой ферме.

Хотя вы, скорее всего, не использовали данный метод как часть стратегии восстановления в аварийной ситуации, это хорошая альтернатива созданию однократных копий. Благодаря PowerShell вы можете легко скопировать все коллекции сайтов в своей ферме одной строкой. Еще раз повторю, для предприятия это не очень хорошая техника восстановления после аварийной ситуации, при случае она может пригодиться.

Get-SPSite | ForEach-Object{$FilePath
   = "d:\backups\" + $_.Url
   . Replace ("http://","")
   . Replace ("https://","")
   . Replace ("/","-").Replace (":","-")
   + ".bak"; Backup-SPSite -Identity
   $_.Url -Path $FilePath}

Эта команда скопирует все ваши коллекции сайтов в ферме в папку D:\Backups на сервер, на котором вы ее запускаете. Мы используем метод Replace () для того, чтобы удалить части URL, которые не работают в файловом имени (например, двоеточия, косые черточки). Убедитесь, что у вас достаточно места на диске для хранения файлов, прежде чем запустите эту команду. Вам нужно будет использовать Restore-SPSite для восстановления этих файлов в коллекции сайтов.

Предложения других фирм

SharePoint уже при поставке имеет хороший набор инструментов, предназначенных для того, чтобы помочь подготовиться к аварийной ситуации, заключающейся в потере контента, и восстановить его. Однако есть несколько хороших решений сторонних фирм, на которые следует обратить внимание. В следующей статье я расскажу о них. А здесь перечислю несколько инструментов, о которых уже рассказывал.

SharePoint Site Recycle Bin. Описывая SharePoint Recycle Bin, я упомянул, что она не защищает от случайного удаления веб-сайта или коллекций сайтов. Затем я объяснил, как восстанавливать различные веб-сайты и коллекции сайтов из копий базы данных, но этот процесс может быть трудоемким. К тому же восстановленный веб-сайт или коллекция сайтов будут иметь состояние на момент создания последней резервной копии. Но существует бесплатный инструмент, который может заполнить эту нишу. Вы можете загрузить SharePoint Site Recycle Bin с веб-сайта SharePoint Governance and Manageability на сайте governance.codeplex.com. Это бесплатно загружаемый инструмент, который добавляет функциональность Recycle Bin к вашей ферме SharePoint.

Перед тем как веб-сайт или коллекция сайтов могут быть удалены, SharePoint копирует их в определенное место в системе. Затем, когда последует запрос из службы поддержки, вы можете просто восстановить веб-сайт или коллекцию сайтов с копии. Единственный способ облегчить этот процесс — возможность SharePoint ответить на телефонный звонок, поговорить с пользователем и восстановить пользовательский контент (я слышал, что это будет возможно в следующей версии).

Настройка корзины SharePoint Site Recycle Bin не совсем простая, поэтому обязательно прочтите инструкцию перед тем, как начать процесс установки. Я также рекомендую опробовать корзину в тестовой среде. Наконец, убедитесь, что в папке, куда вы сохраняете копии, достаточно свободного места и туда разрешено сохранять резервные копии.

Idera SQL virtual database. Я рассказал о нескольких способах использования копий баз данных SQL Server для восстановления удаленного контента. Если вы хотите выполнить восстановление иным способом, следует подумать о приобретении виртуальной базы данных Idera SQL virtual database. Это программное обеспечение позволяет монтировать копию базы данных к SQL Server без реального восстановления базы данных, что экономит время и пространство на диске. Вместо восстановления базы данных на сервер SQL Server, виртуальная база данных SQL присоединяется к файлу резервной копии и предлагает виртуальную базу данных серверу SQL Server, что дает немедленный доступ и не требует пространства на диске для восстановленных файлов MDF и LDF.

После монтирования виртуальной базы данных к SQL Server вы можете использовать один из методов, о которых я рассказал, для восстановления контента. Этот подход позволяет держать больше резервных копий на диске и быстрее предоставлять эти копии пользователям. Более подробную информацию о виртуальной базе данных SQL можно найти по адресу www.idera.com/Products/SQL-toolbox/SQL-virtual-database.

Recovery Manager DocAve for SharePoint от AvePoint. Мы рассмотрели несколько способов восстановления документов из резервных копий базы данных. Это нужный процесс, но он выполняется вручную. Было бы здорово иметь такой инструмент, которому достаточно указать на восстанавливаемую базу данных и выбрать документ для восстановления, не так ли? Специалисты AvePoint создали такую утилиту, причем бесплатную. Зайдите на сайт AvePoint — www.avepoint.com/docave-recovery-managerfor-Sharepoint, чтобы загрузить менеджер восстановления Recovery Manager DocAve for SharePoint. Как и в случае с любым другим программным обеспечением, нужно сначала опробовать его в тестовой среде.

Множество различных неприятностей может свалиться на вашу ферму SharePoint. Чтобы оставаться первоклассным администратором SharePoint, нужно быть всегда на шаг впереди. В данной статье я рассказал о нескольких способах восстановления поврежденного контента и его возвращения к работе. Эти способы помогут вам восстановить контент пользователей, вне зависимости от того, какие усилия они приложили для его удаления. Позже я рассмотрю другие типы аварийных ситуаций, такие как выход из строя системы и аппаратного обеспечения, и расскажу, как на всякий случай подготовиться к ним.

Тодд Клиндт (todd@sharepoint911.com) — консультант по SharePoint, имеет звание SharePoint MVP