Изучи Windows Server 2003 за 15 минут в неделю:
 

Shadow Copies of Shared Folders – Часть 1.

Майк Ауберт (Mike Aubert)

перевод: Андрей Цой

 

Если вы спросите большинство сетевых администраторов о том, какие пять основных задач они постоянно выполняют, в этом списке наверняка окажется восстановление файла или небольшого числа файлов с резервной копии (и еще повторное назначение паролей!). Пользователи случайно удаляют файлы, перезаписывают файлы, а еще им может понадобиться старая версия файла. Чтобы получить эти файлы назад, пользователь, скорее всего, свяжется со службой ИТ, даст им описание файла, укажет, где файл находился и время или дату, когда файл был изменен или удален. Восстановление файла из резервной копии не является столь волнующей задачей и в большинстве случаев не получает у вас высшего приоритета, если вы не являетесь главным администратором или лицом, ответственным на резервное копирование. Кроме того, насколько вы знаете, пользователи, пытаясь (из лучших побуждений) сообщить как можно больше информации об этих файлах, могут запутаться и дать не совсем верную информацию и - ОХОТА НА ФАЙЛЫ НАЧАЛАСЬ!

Иногда нам везет - файл был удален всего час назад и на другом жестком диске сервера лежит его резервная копия, сделанная прошлой ночью. В данном случае восстановление файла сводится к простой операции копировать/вставить и это относительно безболезненный способ, если вам не приходится делать этого слишком часто. Но что произойдет, если необходимый файл удален две недели назад? Или если пользователь не уверен, нужен ли ему файл недельной или двухнедельной давности? А что, если потребуются копии за понедельник, среду и пятницу прошлой недели? И хотя охота на файлы по магнитным лентам это еще не конец света, все же существуют вещи, которыми заниматься приятнее и полезнее!

Системный администратор будет занят в течение всего процесса восстановления файла и пользователь не сможет завершить свою работу, пока не получить этого файла. Также пользователь может решить, что иметь дело со службой ИТ слишком хлопотно и заканчивает восстановление файла вручную. В любом случае данная проблема отражается на производительности труда и, как следствие, на падении прибыльности предприятия. Но что, если все же существует лучший путь?

Windows Server 2003 представляет новую функцию, называемую Shadow Copies of Shared Folders (теневые копии общих папок, далее по тексту SCSFприм. перев.) которая призвана решить множество проблем, связанных с восстановлением небольшого числа файлов с резервной копии. Проще говоря, SCSF предоставляет закрепленные по времени копии файлов, расположенные в общих папках сервера Windows Server 2003. Эти копии доступны конечному пользователю и показывают как общая папка или файл внутри общей папки выглядели несколько часов назад, вчера, на прошлой неделе, или несколько недель назад.

Обратите внимание: Эта статья основана на предварительной версии Windows Сервер 2003. И хотя отдельные элементы реализации Теневых Копий (Shadow Copies) могут измениться, ожидается, что главные функциональные возможности останутся теми же самыми и в заключительной версии.

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

Примечание: Что такое кластер?

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

Пример:

Допустим, у нас есть файл размером 15K, а размер кластера равен 4K. Поскольку размер файла больше 4K, он будет рассматриваться как мульти-кластерный (файл показан синим):

Обратите внимание на присутствие неиспользуемого пространства в конце 4 кластера. Поскольку кластер может использоваться для размещения только одного файла, этот оставшийся 1К не может быть использован другим файлом и, по существу, является потерянным пространством (следующий файл показан красным):

Запомните, что SCSF отслеживает изменения в каждом кластере, а не только в каждом файле.

Знакомясь с этой новой замечательной функцией, стоит упомянуть, что существует несколько вещей, о которых вам необходимо знать при планировании ее использования:

  • SCSF задает потомную настройку и работает только на томах NTFS. Кроме того, SCSF включается либо для всех общих папок на указанном томе, либо ни для одной: вы не можете выбирать, к каким общим папкам на указанном разделе применять SCSF, а к каким нет. К тому же, расписание, по которому создаются теневые копии также устанавливается для всего тома целиком;
  •  SCSF не будет работать для точек подключения (mount point) (когда второй жесткий диск подключается к первому в виде папки);
  • Наличие двойной загрузки сервера предыдущими версиями Windows может привести к потере теневых копий;
  • SCSF НЕ ЗАМЕНЯЕТ процесса регулярного резервного копирования!

Давайте просмотрим пример, как установить и использовать SCSF. В этом примере у нас будет три жестких диска - C: содержит установку Windows Server 2003; E: содержит общие папки с документами пользователей, перенаправляющиеся из папки My Documents пользователей (настройка перенаправления папок в групповой политике), и F: не используется. Эта конфигурация будет выглядеть так:

Общие папки, для которых я хочу использовать SCSF, следует размещать на отдельном жестком диске (или на другом разделе того же физического диска), что убережет от траты теневыми копиями дискового пространства и пропускной способности средств ввода-вывода в результате копирования тех общих папок, для которых функция SCSF нам не нужна.

Для активизации SCSF на разделе, щелкните его правой кнопкой в окне Windows Explorer, выберите свойства и перейдите на вкладку Shadow Copies.

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

Если мы хотим установить SCSF с настройками по умолчанию (что означает: сохранять данные теневых копий на том же диске, что и общие папки; установить их максимальный размер равным 10% от общего пространства диска; автоматически проводить копирование с понедельника по пятницу в 7 утра и в 12 ночи и создавать начальную копию), то просто выбираем нужный диск и нажимаем кнопку Enable. Но, поскольку, кроме диска, содержащего общие папки, у нас есть дополнительный физический жесткий диск (какие мы предусмотрительные!), мы настроим SCSF использовать диск F: в качестве хранилища теневых копий. Заметьте, что один том может выполнять функции хранилища для неограниченного количества других томов и единственным ограничением при этом служит количество свободного дискового пространства.

Для продолжения настройки SCSF, выберите диск E: из списка томов и нажмите кнопку Settings ....

В выпадающем списке Locate on this volume выберите диск, на котором будут храниться данные теневых копий. В нашем случае мы выберем диск F:. Затем установите Maximum size (максимальный размер) области хранения, исходя из ваших условий.

Как же определить этот максимальный размер? Он будет зависеть от конкретной ситуации (но не всегда). И хотя 10% от общего дискового пространства - хорошая оценка, вы также следует учитывать следующие факторы:

  • Количество документов в общих папках;
  • Частота, с которой меняются блоки в общих папках;
  • Количество свободного пространства на жестком диске, выбранном в качестве области хранения;
  • Какое количество старых теневых копий вы хотите хранить;
  • Размер кластеров тома, на котором находятся общие папки;
  • Минимум составляет 100 MБ.

Обратите внимание, что когда я говорю: «частота, с которой меняются блоки в общих папках», я имею ввиду количество блоков, меняющихся в промежутке между теневыми копиями, а не количество изменений одного блока. Например, допустим, что я делаю теневые копии в 7 утра и в 12 ночи и у меня есть 2 файла, которые изменились (для упрощения допустим, что один файл заполняет один блок) – Файл А и Файл Б. В указанный выше промежуток времени Файл А поменялся 4 раза, а Файл Б - 2 раза. Поскольку теневая копия получает «моментальный снимок» файла в определенный момент времени, существует только одна копия каждого измененного блока, а не каждого изменения блока. То есть, для нашего примера, когда в 12 ночи будет выполняться теневое копирование, в него войдут только наиболее поздние версии наших двух файлов - четвертая версия Файла А и вторая версия Файла Б, а не 6 разных изменений, которые были сделаны.

Другим примером может служить огромный файл, составленный из нескольких блоков, допустим, из 100. Давайте откроем этот файл, изменим последние 2 строки и сохраним его, тем самым, модифицируя последние блоки, а не весь файл (обратите внимание, что это зависит от конкретного приложения и того, перезаписывает ли оно на диск при сохранении весь файл или нет). Допустим, мы повторили эту операцию – изменили последние несколько строк файла – еще полдюжины раз. Теперь, при следующем теневом копировании, будет сделана копия только нашего заключительного изменения в последнем блоке файла. Ни один из первых 99 блоков или первых шести изменений 100-го блока в это копирование не войдет. Другими словами, независимо от того, измените вы файл 5 раз или 5000 раз, необходимое для хранения теневой копии пространство останется для файла тем же (если предположить, что в ходе этих изменений обновлялись одни и те же блоки). Согласны?

Почему имеет значение размер кластеров тома? Простой ответ заключается в том, что при дефрагментации тома кластеры, образующие файлы, реорганизуются. SCFS воспринимает это как изменение и записывает его в следующую теневую копию. Для того чтобы сократить число подобных записей, Microsoft рекомендует применять кластеры размером не менее 16Кб. Но помните: чем большим Вы делаете кластер, тем больше места вы теряете. Например, если ваш файл имеет размер 24Кб (минимальное выделяемое пространство остается равным 1 кластеру), то, при размере кластера 64Кб, 40Кб (64-24) будут утрачены). И еще: если размер вашего кластера больше 4Кб, вы не сможете использовать сжатие файлов – для сжатия файлов требуются кластеры от 4Кб и меньше. Если вы не можете использовать кластеры большего размера, не переживайте, просто запомните, что в этом случае вам понадобится дополнительное дисковое пространство в области хранения из-за указанной выше проблемы, связанной с дефрагментацией.

Возвращаемся к окну свойств - после того, как вы выберете диск для области хранения копий и ограничите его размер, нажмите ОК.

Вкладка Shadow Copies теперь показывает, что вы выбрали диск F: в качестве области хранения теневых копий, сделанных на диске E:.

Для продолжения выберите раздел E: и нажмите кнопку Enable (смотрите примечание, расположенное ниже, если это необходимо).

Появившееся окно проинформирует вас о том, что будут применены настройки по умолчанию – и хотя это правильная информация в отношении расписания – система использует наш выбор диска F: в качестве области хранения.

Нажмите Yes для продолжения.

Теперь будет сделана начальная теневая копия и задействовано расписание ее обновлений.

Если вы захотите изменить расписание создания теневых копий, выберите диск, щелкните Settings ..., а затем установите новое расписание.

Когда закончите, нажмите OK, на всех экранах для выхода из окна свойств диска.

Примечание:

Похоже, есть разница в том, что случится, если вы щелкните Schedule... в окне настроек в приведенных выше шагах (особенно на шаге, в котором вы выбираете область хранения и ее ограничение) при настройке SCSF. Если вы щелкните ОК в окне настроек, то расписание будет активизировано автоматически, но начальная теневая копия создана не будет, что видно на следующем рисунке:

Не расстраивайтесь, это не конец света, для создания начальной теневой копии просто нажмите кнопку Create Now.

 

Вы может обратить внимание еще на одну вещь. Новое назначенное задание появляется в папке Scheduled Task в Control Panel для каждого диска, на котором установлена SCSF. И хотя это тоже самое расписание, которое открывается при нажатии кнопки Settings на вкладке Shadow Copies, я не рекомендую вам самостоятельно изменять назначенное задание напрямую – существует множество настроек, которые могут быть случайно «испорчены».

А теперь давайте обсудим, как часто должны выполняться теневые копии? Это зависит от данных и от того, когда ваши пользователи используют их, кроме того, есть несколько вещей, которые следует запомнить:

  • Microsoft рекомендует, чтобы минимальный промежуток между теневым копированием составлял 1 час, но это, вероятно, слишком часто для большинства случаев;
  • Если вы хотите уехать на выходные, возможно, достаточно проводить одно теневое копирование в день;
  • Чем длиннее промежуток времени между теневыми копиями, тем длиннее и с большей загрузкой устройств ввода-вывода будет происходить теневое копирование (из-за того, что большее количество блоков будет подвергнуто изменениям);
  • Вашей целью является получить «моментальный снимок» данных, который окажется наиболее полезным для пользователей и, вместе с тем, чтобы сами копирования незначительно нагружали ресурсы вашей системы;
  • Максимально допустимый значение - 64 теневые копии на один диск, независимо от того, сколько свободного пространства остается в области хранения.

Двух раз в день, возможно, вполне достаточно для большинства обычных организаций (работающих с понедельника по пятницу, с 9-00 до 17-00). Один раз утром, до прихода работников и второй - во время обеда, когда большинство работников находятся вне офиса. Точное время здесь очень важно, если вы хотите, чтобы теневые копии делались тогда, когда пользователи не используют систему, что снижает нагрузку на систему насколько это возможно. Выполняя теневое копирование до прихода всех работников в офис, вы уменьшаете количество блоков, которые нужно будет копировать в полдень и, таким образом, снижаете нагрузку на систему. Если же выполнять теневое копирование только днем, то операции ввода-вывода придется выполнять для блоков, измененных за все 24 часа, а не только тех, что были изменены за последние 5-6 часов.

В некоторых организациях может потребоваться большее количество теневых копий в день, может быть, дополнительное копирование должно выполняться  в конце дня, а может быть, потребуется даже 4 копии в день, исходя от ситуации. Однако не забудьте о поддержке только 64 копий на одном диске – если вы делаете по две копии в рабочие дни, то вы сможете сохранить теневые копии за 6 с половиной недель (разумеется, если у вас достаточно свободного места на жестком диске). Немногим меньше четырех недель, если делать три копии в день; и всего 3 недели, если делать 4 копирования в день. Это ограничение (64 теневые копии на диск) на самом деле не является проблемой в большинстве случаев, но все же это причина, по которой вам не стоит стремиться делать теневые копии через каждые два часа – при этом у вас получиться чуть больше теневых копий, чем за неделю, после чего они начнут перезаписываться более новыми теневыми копиями.

Ну вот и весь материал этой статьи, в следующей я расскажу о клиентской часть Shadow Copies of Shared Folders. И как всегда…если у вас возникнут какие-либо технические вопросы, пожалуйста, присылайте их на доску объявлений сайта 2000Trainers.com SQL message board. Нетехнические вопросы, комментарии и обратная связь – по адресу моей электронной почты. Я надеюсь, что вы найдете эти статьи полезными и был бы рад узнать ваше мнение о них.

Майкл Ауберт, MCSE, MCDBA, MCSD.