Сохранность и восстановление компьютерных данных: теория и практика
ОГЛАВЛЕНИЕ
Почему пропадают данные
Хотя надежность современных компьютерных систем в целом достаточно высока, время от времени в них происходят сбои, вызванные неисправностью аппаратных средств, ошибками в программном обеспечении, компьютерными вирусами, а также ошибками пользователей, системных администраторов и технического персонала.
Анализируя причины возникновения встречавшихся в нашей практике аварийных ситуаций, приводивших к потере данных, можно сказать, что все перечисленные сбои случаются примерно с одинаковой вероятностью.
Отказы аппаратных средств
Исчезновение данных может быть вызвано отказом различных устройств - жестких дисков и дисковых контроллеров, соединительных кабелей, оперативной памяти или центрального процессора компьютера. Внезапное отключение электропитания при отсутствии источника бесперебойного питания - также одна из наиболее распространенных причин исчезновения данных. В зависимости от того, что происходило в компьютере на момент отказа, последствия могут оказаться более или менее тяжелыми.
Отказы дисковых контроллеров
Чаще всего нам встречались случаи потерь данных при отказах дисковых контроллеров. При этом в момент аварии контроллер выполнял операцию записи, которая завершалась с ошибками. Как следствие, оказывались разрушенными системные области диска, после чего все данные или часть их становились недоступны.
Заметим, что дисковые контроллеры современных файловых серверов, таких, как Compaq Proliant, протоколируют сбои аппаратных средств и позволяют выполнять диагностику. Это дает возможность обнаружить опасные симптомы еще до того, как они приведут к отказу. Например, в одной компании на протяжении нескольких недель контроллер диска записывал в системный журнал сообщения о возможном отказе кэш-памяти, встроенной в контроллер. И когда эта память, наконец, отказала, пропало несколько гигабайт важных данных.
Зеркальные дискиНаиболее простой способ увеличения надежности хранения данных - подключить к одному контроллеру два жестких диска и средствами ОС выполнить их зеркальное отображение. При этом один диск играет роль основного, а другой дублирует всю информацию, записываемую на основной диск. При выходе из строя основного диска его функции автоматически переходят к зеркальному диску, в результате чего система продолжает работать без аварийной остановки. К сожалению, зеркальные диски не помогут при сбое контроллера или ПО. Фактически данная технология поможет вам застраховаться только от такой неприятности, как поломка одного жесткого диска из зеркальной пары. Если каждый из зеркальных дисков будет подключен к своему контроллеру, то надежность возрастет. Теперь система продолжит работу при выходе из строя не только одного диска, но и одного дискового контроллера. Такие ОС, как Microsoft Windows NT и Novell NetWare способны создавать зеркальные диски программным путем без применения дополнительного оборудования. |
Отказы кэш-памяти
Как вы, вероятно, знаете, кэш-память значительно ускоряет операции записи данных на диск и чтения с диска за счет временного хранения данных в очень быстрой оперативной памяти. Если данные кэшируются при чтении, то отказ кэш-памяти не приведет к их потере, так как на диске они останутся в неизменном виде. Что же касается кэширования при записи, то эта операция несет в себе потенциальную опасность.
Кэширование при записи предполагает, что данные вначале записываются в оперативную память, а затем, когда для этого возникает подходящий случай, переписываются на жесткий диск. Программа, сохраняющая данные на диске, получает подтверждение окончания процесса записи, когда данные оказываются в кэш-памяти. При этом фактическая запись их на диск произойдет позже. Так вот, если отказ кэш-памяти случится в "неподходящий" момент, то программа (или ОС) будет полагать, что данные уже записаны на диск, хотя фактически это не так. В результате могут оказаться разрушенными важнейшие внутренние структуры файловой системы.
Операционные системы обычно выполняют дополнительное кэширование данных, записываемых на диск или считываемых с диска, в основной оперативной памяти компьютера. Поэтому отказы оперативной памяти, а также внезапное отключение электропитания могут привести (и обычно приводят!) к возникновению фатальных неисправностей файловой системы. Именно поэтому так важно снабжать компьютеры, и особенно серверы, устройствами бесперебойного питания. Кроме того, такие устройства должны быть в состоянии корректно завершать работу ОС компьютера без вмешательства человека. Только в этом случае отключения электропитания не приведут к потере данных.
Неисправности электроники в дисках
Несколько слов заслуживают неисправности, возникающие в самих дисковых устройствах. Помимо механических повреждений, вызванных небрежным обращением с дисками, возникают отказы электронных схем, расположенных как вне, так и внутри герметичного корпуса диска. Отказы таких электронных схем могут привести, а могут и не привести к потере данных. В нашей практике встречались случаи, когда после замены электроники удавалось полностью восстановить данные, переписав их на другой диск.
Замена контроллера диска
Иногда данные пропадают после замены дискового контроллера на контроллер другого типа (такая проблема обычно возникает с контроллерами SCSI). Операционная система в этих случаях просто отказывается монтировать диск. Выбрав правильный тип контроллера, обычно удается легко ликвидировать данную проблему, однако так бывает не всегда.
Сбои, возникающие из-за пыли
Несмотря на то что корпуса современных серверов специальным образом защищены от проникновения пыли (для этого на вентиляторы устанавливают специальные воздушные фильтры), пыль все же проникает в компьютер. Она оседает на системной плате, конструктивных элементах корпуса и контроллерах. Так как в пыли есть металлические частички, она может вызывать замыкания между соединительными линиями, расположенными на системной плате или на платах контроллеров.
Когда компьютер переносят с одного места на другое, комочки пыли перекатываются внутри корпуса и могут привести к замыканию. Именно так пропали данные на сервере у одного из наших клиентов после перестановки сервера из одной стойки в другую.
Чтобы уменьшить вероятность возникновения сбоев из-за пыли, используйте в ответственных случаях специальные пылезащищенные корпуса и периодически выполняйте профилактические работы, удаляя пыль при помощи специального "компьютерного" пылесоса.
Проблемы с контроллерами дисковых массивов RAID
Особо стоит отметить контроллеры дисковых массивов RAID. Существуют RAID-массивы нескольких типов (их организация описана во врезке). Отметим, что RAID-массивы позволяют увеличить надежность хранения данных, скорость чтения и записи за счет добавления избыточности.
В простейшем случае RAID-массив может состоять из двух дисков, дублирующих всю сохраняемую информацию. При выходе из строя одного диска данные сохранятся на другом. Другие типы массивов (например, RAID5) хранят контрольные суммы данных и, кроме того, распределяют отдельные блоки файлов по нескольким дискам, используя для этого довольно сложный алгоритм. Цель одна - предотвратить потери данных при возникновении сбоя в одном физическом диске массива.
Несмотря на повышенную надежность, обеспечиваемую RAID-массивами по сравнению с обычными дисками, такие массивы все же не могут гарантировать полную безопасность данных. Во-первых, может выйти из строя контроллер массива RAID, в результате чего данные будут записываться на диск с ошибками, а во-вторых, могут отказать сразу (или поочередно) два диска. Вторая ситуация маловероятна, но первая нам встречалась.
Кроме того, контроллеры RAID никак не защитят Ваши данные от ошибок в программах и операционных системах, от нападения компьютерных вирусов, ошибок пользователей или системных администраторов.
Дисковые массивы RAIDВ критически важных случаях для увеличения надежности хранения информации обычно используют так называемые массивы дисковых накопителей RAID (Redundant Arrays of Inexpensive Disks - массивы недорогих дисков с избыточностью). RAID-массивы состоят из нескольких жестких дисков, подключенных к одному интеллектуальному контроллеру. Контроллер может реализовать один из нескольких алгоритмов хранения данных, предполагающих увеличение надежности за счет введения избыточности. При этом выход из строя одного или двух дисков (в зависимости от алгоритма) не приведет к нарушению общей работоспособности массива. Существует несколько категорий массивов RAID, обозначаемых как RAID 0, RAID 1, RAID 2, RAID 3, RAID 4 и RAID 5. Все они используют различную технику повышения надежности. В массивах RAID любой категории надежность достигается за счет чередования (striping) - разделения данных одного и того же файла сразу на несколько дисков. Помимо повышения надежности, такое разделение приводит к увеличению скорости считывания файла, так как его фрагменты могут считываться одновременно с разных дисков. Хотя ОС Microsoft Windows NT может создавать массивы RAID 0, RAID 1 и RAID 5 программным путем, целесообразно применять для этого специальные дисковые контроллеры, называемые RAID-контроллерами. При этом достигается максимальная гибкость и производительность, а также обеспечивается дополнительный контроль целостности данных. Массив RAID 0В массивах RAID 0 применяется простейшая техника чередования данных, при которой для записи файла последовательно используются дорожки с одинаковыми номерами, но расположенные на разных дисках. В массиве RAID 0 можно объединять два или более диска. В массивах RAID 0 данные записываются без избыточности, поэтому повышения надежности не происходит . Тем не менее, такие массивы увеличивают скорость доступа к информации за счет того, что операции записи и чтения различных фрагментов файлов выполняются одновременно. Массив RAID 1В массивах RAID 1, которые должны содержать не менее двух дисков, применяется дублирование информации на зеркальных дисках. При этом контроллер может распараллеливать операции чтения, что повышает скорость выполнения этой операции. Увеличение надежности хранения данных достигается за счет двойных затрат дисковой памяти. Массив RAID 2Массивы RAID 2 предлагают дополнительное увеличение надежности хранения информации за счет использования техники исправления ошибок с помощью кодов коррекции ECC (Error Correction Code). Часть накопителей дискового массива используется для хранения кодов коррекции. Если в одном из накопителей возникает сбой, информация восстанавливается по кодам коррекции. Массив RAID 3В этих массивах один из дисков применяется для хранения контрольных сумм. На него записывается сумма данных по модулю 2, вычисленная с применением логической операции XOR. Массивы RAID 3 должны содержать не менее трех дисков. Массив RAID 4Массив устроен и работает аналогично массиву RAID 3, однако в отличие от него не способен выполнять одновременные операции чтения и записи над несколькими дисками сразу. Массив RAID 5Массивы RAID 5 используются чаще всего. При относительно небольших затратах они обеспечивают высокую надежность хранения данных, а также способны выполнять операции записи и считывания одновременно на разные диски. Это достигается применением техники чередования данных не только для записи файлов, но и для записи контрольных сумм. Массив RAID 5 должен содержать не менее трех дисков, причем выход из строя одного диска не сказывается на общей работоспособности системы. Однако одновременная поломка двух или более дисков приводит к необратимым разрушениям данных. |
Ошибки в программном обеспечении
Известно, что практически во всех более или менее сложных программах (а также в ОС, представляющих собой комплекс многих программ) имеются ошибки. Причина этого очевидна - программы составляют люди, а людям свойственно ошибаться. Поэтому бесполезно искать программы без ошибок. Но можно найти такие программы, в которых ошибки не сказываются или оказываются некритичными для использования этих программ по назначению.
С точки зрения безопасности данных наиболее опасны ошибки в ОС, в драйверах, а также такие ошибки, которые могут привести к полному "зависанию" компьютера и потере данных, хранящихся в кэш-памяти. Так как в ОС Microsoft Windows драйверы (дисковые, видеоадаптера и др.) работают в привилегированном кольце защиты, сбой в драйвере может повредить всю операционную систему.
Чтобы уменьшить вероятность возникновения потерь данных в результате программных ошибок, мы рекомендуем устанавливать самые свежие пакеты исправлений ОС и самые свежие драйверы, полученные непосредственно от производителей оборудования.
Приобретая компьютер для ответственных приложений, обязательно проверьте список оборудования, совместимого с вашей ОС. Если выбранное оборудование не входит в этот список, ОС, возможно, не будет с ним работать или (что хуже) будет работать с ошибками. В результате в самый неподходящий момент компьютер может "зависнуть", а данные - исчезнуть.
Компьютерные вирусы
О том, что компьютерные вирусы повреждают данные, знают практически все. Однако, к сожалению, не все выполняют даже элементарные требования, значительно уменьшающие вероятность вирусного заражения.
При организации антивирусной защиты прежде всего необходимо определить возможные пути проникновения вирусов: дискеты, компакт-диски, электронная почта, серверы Web и др. Далее, исходя из этого анализа, следует подобрать наиболее подходящее антивирусное ПО, установив его на каждый компьютер вашей сети. При этом необходимо строго соблюдать рекомендации, приведенные в описании выбранного антивируса. Малейшее отклонение - и все усилия по антивирусной защите могут быть сведены к нулю.
Необходимо также периодически обновлять антивирусную базу данных вашей программы, причем в сети это нужно делать на всех серверах и всех рабочих станциях. Антивирусная база данных содержит описание признаков, по которым антивирусная программа ищет вредоносные модули. Так как каждый день в мире появляются десятки новых вирусов, задача периодического обновления антивирусной базы данных представляется нам весьма актуальной.
Современные антивирусные программы "умеют" обновлять антивирусную программу через Интернет или интрасеть. Такая возможность особенно важна в крупных сетях, состоящих из сотен серверов и тысяч рабочих станций, когда обновление вручную превращается в невыполнимую задачу.
Ошибки пользователей и системных администраторов
Как мы уже говорили, человеку свойственно ошибаться. Разумеется, это касается не только программистов, оставляющих ошибки в своих программах, но и пользователей и системных администраторов.
Случайное удаление файлов или каталогов
Наиболее распространенная ошибка пользователя - случайное удаление файла или папки с файлами. Одно неверное движение мыши - и дело сделано. Бывает, что даже опытные системные администраторы совершают такую ошибку.
Застраховаться от случайного удаления файла или каталога, расположенного на локальном диске рабочей станции, позволяет обычная "мусорная корзина" (Recycle Bin) ОС Microsoft Windows. Можно дополнительно установить одну из продвинутых версий корзины, например, Norton Protected Recycle Bin. В большинстве случаев удаленные файлы оказываются в этой корзине, откуда их легко восстановить. Тем не менее, ряд программ игнорируют корзину, удаляя файлы без возможности восстановления.
Сходная проблема возникает и в том случае, если пользователь случайно удалил файл или папку в сетевом каталоге, расположенном на дисках сервера. При этом мусорная корзина, установленная на рабочей станции, никак не поможет в восстановлении файлов, удаленных из сетевых каталогов.
Тем не менее, даже если удаленный файл отсутствует в корзине или корзина была по ошибке опорожнена, ситуацию еще можно исправить, если после стирания не добавлять на диск новые файлы. Для восстановления файлов можно использовать специальные утилиты, например, EraseUndo for NTFS (созданную одним из авторов этой статьи для восстановления файлов, удаленных из разделов файловой системы NTFS) или Easy Recovery, способную восстанавливать файлы и в разделах FAT16/FAT32.
Ошибки в технологии резервного копирования данных
Без преувеличения можно сказать, что единственный по настоящему надежный способ обеспечения сохранности данных - это их периодическое резервное копирование на сменные носители, такие как магнитные ленты, магнитооптические диски, диски CD-R и т.д.
Почему единственный? Потому, что на сегодняшний день и аппаратное, и программное обеспечение компьютерных систем ненадежно. Пользователи и системные администраторы тоже ненадежны, так как могут ошибаться. Если же у Вас есть актуальная резервная копия данных, то с нее данные можно быстро восстановить.
Почему необходимо выполнять копирование на сменные носители данных? Причина этого в том, что, только вынув носитель данных из компьютера и убрав его в надежное место, Вы можете быть уверены, что "сошедшая с ума" ОС, вирус, а также кто-то из пользователей или системных администраторов не испортит записанные на нем данные.
Некоторые недальновидные пользователи и системные администраторы копируют файлы в другой раздел того же самого жесткого диска, на котором хранятся их актуальные экземпляры, или на другой физический диск. Хотя копирование данных на другой диск и может помочь, если исходный станет неисправным, от ошибок в ОС, программах или от нашествия компьютерных вирусов такие меры не спасут.
Очень важно правильно выбрать периодичность резервного копирования. При этом надо исходить из периодичности обновления информации на дисках, а также из необходимой степени надежности. Если данные обновляются часто, можно выполнять копирование, например, каждый день на новые носители с циклом от 3 до 7 дней. Кроме того, дополнительно можно делать (и хранить отдельно) недельные и месячные копии. На все это может потребоваться довольно много магнитных лент, однако затраты не будут напрасными. Обладая таким многодневным архивом, вы сможете при необходимости поднять любую версию файлов, если окажется, что актуальная копия оказалась уничтоженной несколько дней назад.
Если к сохранности данных предъявляются повышенные требования, имеет смысл установить для копирования сразу два стримера и копировать одновременно на две магнитные ленты. Если одна из лент не прочитается, у вас останется другая.
Хотя для выполнения резервного копирования в простейших случаях можно использовать встроенные средства ОС, например, Windows NT Backup, лучше установить одну из серьезных систем резервного копирования, такую как ArcServe. В этом случае на один стример можно выгрузить данные со всех серверов и рабочих станций сети, а также выбрать нужный вам график выполнения копирования.
Чтобы быть уверенным в том, что резервное копирование действительно завершилось без ошибок, необходимо внимательно просмотреть журнал программы, выполняющей копирование. Если речь идет о крупной сети или об архивировании важных данных, то такую операцию необходимо выполнять каждый день, например, утром.
Обязательно попробуйте восстановить сделанную резервную копию, желательно на другой диск или другой сервер. А лучше всего проделывать операцию пробного восстановления на регулярной основе.
Многим системным администраторам наши советы по резервному копированию могут показаться банальными, однако в большинстве случаев потери данных связаны именно с тем, что резервное копирование либо не выполнялось совсем, либо выполнялось неправильно.
Известны случаи, когда руководители компаний пытались сэкономить несколько тысяч долларов на покупке качественного стримера и ПО к нему и при этом теряли сопоставимые суммы на восстановлении разрушенных данных. Что характерно, после первого же случая такие руководители покупали стример. Вот уж воистину - скупой платит дважды.
В том случае, когда покупка дорогостоящего стримера вам абсолютно не по карману, рассмотрите возможность архивирования данных на таких устройствах, как ZIP, магнитооптические диски, диски CD-R, CD-RW, и, в крайнем случае, на обычных дискетах.
Если данные уже пропали
Тогда эти данные придется восстанавливать. Скажем сразу, что восстановление файловой системы вручную доступно только опытным пользователям. Если вы не знакомы в деталях со структурой файловых систем, для восстановления потерянных данных лучше всего обратиться к специалистам.
Принимая решение о том, кому доверить восстановление данных, учтите, что стоимость данных, хранящихся на дисках компьютера, может многократно превышать стоимость самого компьютера. При этом прикиньте, во что обойдется вам повторный ввод данных с учетом зарплаты сотрудников, а также убытков, связанных с задержкой в работе компьютерной системы.
Результат проведения восстановительных работ во многом зависит от того, что вы успеете или чего не успеете предпринять, прежде чем носители с разрушенной информацией окажутся в службе восстановления данных. Для того, чтобы не осложнить ситуацию неумелыми действиями, мы рекомендуем вам при возникновении аварийной ситуации соблюдать несколько простых правил.
Правила поведения в аварийной ситуации
Правило 1
Если вы вдруг обнаружили, что с дисков сервера или персонального компьютера исчезли важные файлы, что диск не читается вовсе или издает подозрительные звуки, прежде всего не впадайте в панику. В лихорадочных попытках немедленно восстановить данные, применяя по очереди все доступные вам автоматические программы восстановления, вы рискуете окончательно разрушить логическую структуру файловой системы. Не исключено, что после этого восстановление файлов станет невозможным.
Правило 2
Самое лучшее, что вы можете сделать, если пропали важные файлы или диск с важной информацией стал издавать подозрительные звуки, - это немедленно выключить компьютер и обратиться в службу восстановления данных. Не пытайтесь открыть корпус диска - это можно делать только в специальном помещении при полном отсутствии пыли.
Причиной стука может послужить выход из строя электронных схем, расположенных в герметично закрытом корпусе диска. Не исключено, что такой диск можно отремонтировать в специальной "чистой комнате", где обеспечивается отсутствие пыли.
Правило 3
Ни в коем случае не допускайте, чтобы после очередной перезагрузки ОС Microsoft Windows автоматически запустилась утилита ремонта файловой системы CHKDSK или SCANDISK. Для этого откажитесь от ее запуска, нажав клавишу пробела в "синем экране" при загрузке Windows NT или сделав соответствующий выбор при загрузке Windows 95/98/ME.
Если утилита CHKDSK запустится автоматически, то в случае тяжелых повреждений файловой системы она не сможет ее "отремонтировать". Хуже того: пытаясь это сделать, утилита CHKDSK может сильно осложнить ситуацию, сделав восстановление файлов невозможным или чрезвычайно непростым делом.
Правило 4
Никогда не применяйте для восстановления важных файлов утилиты, изменяющие содержимое восстанавливаемого диска. Прежде всего это упомянутые выше утилиты CHKDSK и SCANDISK. Не мeнее опасны и такие программы, как Norton Disk Doctor, PC Tools и First Aid.
Все эти утилиты могут разрушить внутреннюю структуру файловой системы, после чего не исключено, что вы потеряете свои данные окончательно.
Правило 5
Если вы случайно удалили файл с диска персонального компьютера, ни в коем случае нельзя допустить, чтобы на него были записаны новые файлы или изменены существующие файлы. В противном случае данные стертого файла будут перезаписаны, и его восстановление станет проблематичным.
В том случае, когда файл удален из сетевого каталога сервера, необходимо как можно быстрее завершить работу последнего. В противном случае другие пользователи могут перезаписать секторы диска, хранящие данные стертого файла, после чего последний будет потерян навсегда.
Ни в коем случае не запускайте и утилиты дефрагментации дисков, такие, как DEFRAG. После этой процедуры в секторы, хранящие данные стертого файла, будет перезаписана информация из других файлов.
Правило 6
Ни при каких обстоятельствах не устанавливайте на диск с потерянными файлами никакие дополнительные программы. Не пытайтесь избавиться от проблемы переустановкой существующих программ или операционной системы. Все эти действия только усугубляют ситуацию.
Правило 7
Всегда восстанавливайте архивную копию с магнитной ленты на другой жесткий диск, а не на тот же самый, с которого пропали нужные файлы. При этом если вдруг окажется, что на ленте старая информация или что лента не читается, у вас останется шанс восстановить файлы с разрушенного диска, обратившись в службу восстановления данных. Отформатировав исходный диск и перезаписав поверх расположенных там данных файлы с резервной копии, вы почти наверняка лишитесь такого шанса.
Правило 8
Если у вас возникло подозрение, что вышел из строя контроллер диска типа SCSI, не пытайтесь заменять его на контроллер SCSI другого типа. Вам нужно приобрести точно такой же контроллер, который был установлен до возникновения неисправности, или отремонтировать старый. Особенно важно соблюдать это правило в тех случаях, когда вышел из строя контроллер массива дисков RAID.
Правило 9
Сохраните на другом физическом диске наиболее важные файлы, если это еще возможно.
В том случае, когда в процессе работы вы получили сообщение о недоступности диска в результате ошибки аппаратуры (например, "Hard Disk Failed"), первым делом постарайтесь сохранить на другом физическом диске наиболее важные файлы. Можно выполнить копирование файлов по локальной сети на диски другого компьютера или записать их на внешнее устройство, например, ZIP или CD-RW.
После копирования самых необходимых файлов завершите работу ОС, выключите компьютер и обратитесь в службу восстановления данных.
Правило 10
Если неисправность обнаружилась при загрузке компьютера, проанализируйте появившееся сообщение об ошибке и обязательно запишите его полностью.
Если загрузка ОС стала невозможна, не исключено, что возникла проблема с настройкой параметров BIOS или с разрушением главной загрузочной записи Master Boot Record, расположенной в самом первом секторе диска.
Ниже перечислены сообщения об ошибках, возникающих в этих случаях.
Hard Disk(s) Fail (80) или Invalid Drive Specification
Возникла ошибка в параметрах BIOS. Возможно, это произошло в результате выхода из строя элемента питания, расположенного на системной плате компьютера.
При появлении этого сообщения необходимо запустить программу BIOS Setup и выполнить конфигурирование дисков. В зависимости от версии BIOS Setup эта операция выполняется либо в ручном, либо в автоматическом режиме.
Disk Boot Failure
Возможно, разрушена главная загрузочная запись Master Boot Record.
После повторной настройки параметров BIOS выполните повторную попытку загрузить операционную систему. Если она закончится неудачно, обращайтесь в службу восстановления данных.
При появлении сообщения Disk Boot Failure есть шанс восстановить файлы из раздела FAT, загрузив ОС MS-DOS с системной дискеты. Таким способом, однако, невозможно восстановить файлы из раздела NTFS, создаваемого Microsoft Windows NT и Windows 2000. В этом случае при появлении сообщения Disk Boot Failure обращайтесь в службу восстановления данных.
Если при загрузке ОС Windows NT и Windows 2000 на "синем экране" появляются сообщения о нарушении файловой системы NTFS, немедленно выключите компьютер, не допуская запуска утилиты автоматического восстановления CHKDSK, и обратитесь в службу восстановления данных. Утилита CHKDSK бессильна в случае тяжелых повреждений структуры файловой системы NTFS, но может окончательно разрушить ваши данные.
Правило 11
Чтобы ускорить восстановление данных, прежде чем обращаться за помощью в службу восстановления данных, выполните небольшую подготовительную работу.
1. Составьте список имен файлов и каталогов, подлежащих восстановлению.
Не исключено, что отдельные файлы придется "собирать" по частям, а это длительная и трудоемкая операция. Поэтому важно иметь список наиболее важных файлов, подлежащих восстановлению в первую очередь.
2. Извлеките жесткий диск и контроллер (для дисков SCSI) из системного блока.
Вы можете привезти в службу восстановления весь системный блок или только жесткий диск (диски). Если необходимо восстановить информацию с диска SCSI или дискового массива RAID, обязательно привезите дисковый контроллер.
Хотя вы можете отправить диск и контроллер из другого города по почте, нет никакой гарантии, что по дороге диск не будет поврежден в результате небрежной транспортировки. Поэтому лучше привезите его сами или передайте с посыльным.
3. Подготовьте диск для сохранения восстановленных файлов.
Автоматическое восстановление данных при помощи утилит
В настоящее время разработано несколько утилит, позволяющих выполнить восстановление данных в некоторых простейших случаях. Это прежде всего восстановление случайно удаленных файлов и каталогов, а также восстановление разделов диска, частично разрушенных в результате аппаратных или программных сбоев.
Использование таких утилит, как правило, не предполагает наличия специальных знаний о внутренних структурах файловых систем, поэтому ими может воспользоваться практически каждый. Следует, однако, заметить, что в случае обширных повреждений файловой системы автоматическое восстановление обычно не удается. Поэтому если вы испробовали несколько утилит и у вас ничего не получилось, обращайтесь в службу восстановления.
Как правило, создатели всех утилит восстановления данных в разделах NTFS не обладают полной информацией о внутренних структурах этой файловой системы - поскольку Microsoft не опубликовала полных ее спецификаций. В результате утилиты не всегда работают так, как хотелось бы.
Утилита EasyRecovery 5.0
Утилита EasyRecovery 5.0 разработана компанией ONTRACK Data International. Демонстрационную версию программы можно загрузить с сервера www.ontrack.com.
Этот мастер очень прост в использовании. Вначале Вам предлагается выбрать восстанавливаемый раздел (причем это может быть раздел в формате FAT12, FAT16, FAT32 или NTFS). Затем программа выполняет довольно длительное сканирование, составляя список файлов и каталогов, расположенных в данном разделе. В зависимости от емкости диска сканирование может продолжаться от нескольких минут до нескольких часов. Далее Вам только остается указать в поле Destination путь к каталогу для записи восстановленных файлов и, щелкнув кнопку Next, ждать завершения процесса.
Заметим, что в комплекте EasyRecovery 5.0 предусмотрена программа, создающая загрузочный диск. С его помощью можно попытаться восстановить данные, если из-за серьезных повреждений файловой системы компьютер не может загрузиться с жесткого диска.
Утилита EraseUndo for NTFS 1.0
Эта простая условно-бесплатная утилита позволяет восстановить файлы, случайно удаленные из разделов NTFS (рис. 3). Вы сможете загрузить ее с сервера www.frolov.pp.ru.
Пользоваться этой утилитой очень просто. Выберите в списке Drive to unerase нужный диск с файловой системой NTFS, укажите шаблон имени восстанавливаемых файлов в поле Filename pattern, а также количество дней, прошедших с момента изменения удаленного файла (в поле Files was deleted...).
Для запуска процесса поиска стертых файлов щелкните кнопку Search. Через некоторое время в нижней части окна утилиты появится список найденных файлов. Вам предоставляется возможность выбирать в этом списке по одному файлу и сохранять на другом диске при помощи кнопки EraseUndo!.
Работа утилиты основана на том факте, что при удалении файла из раздела NTFS сам файл не уничтожается, а о том, что он удален, делается отметка в главной файловой таблице (Master File Table, MFT). Утилита EraseUndo for NTFS просматривает MFT, отыскивая там файлы, помеченные как удаленные, и предоставляет пользователю возможность их восстановления.
Заметим, что далеко не всегда удается восстановить файлы подобным образом, так как поверх них могут оказаться записаны другие файлы.
Утилита CrashUndo 2000 for NTFS
Мы в своей работе для восстановления данных пользуемся утилитой CrashUndo 2000 for NTFS, реализованной в виде консольной программы и предназначенной для запуска в среде Microsoft Window NT и Windows 2000. Пока, однако, у нас нет планов относительно распространения этой утилиты.
Утилита CrashUndo 2000 for NTFS текущей версии может восстанавливать данные, расположенные в разделах NTFS, созданных Microsoft Windows NT и на базовых дисках Windows 2000.
Запустив утилиту, можно выбрать логический или физический диск, подлежащий восстановлению. Таким образом, утилита позволяет прочитать данные даже с таких дисков, которые ОС отказывается монтировать. Далее утилита позволяет просмотреть список файлов, имена которых удовлетворяют заданному шаблону, и переписать эти файлы в заданный каталог на другом диске.
Операция переписывания файлов выполняется вместе с анализом за один проход, поэтому полное восстановление всех сохранившихся файлов выполняется примерно со скоростью копирования файлов. В отличие от аналогичных утилит программа CrashUndo 2000 for NTFS лишь минимально пользуется необходимой системной информацией и потому может восстанавливать файлы даже при значительных повреждениях файловой системы. В частности, она восстанавливает дерево каталогов, даже если отдельные ветви этого дерева оказываются разрушены (имена разрушенных каталогов, конечно, не сохраняются).
Истории со счастливым концом
Конечно, не каждая работа по восстановлению данных заканчивается успехом. Например, в нашей работе был случай, когда диск вначале отформатировали, затем загрузили на него старую резервную копию с магнитной ленты, а лишь затем обратились к нам, : но было уже поздно. Если бы администратор ограничился только форматированием диска, мы бы восстановили данные полностью, но загрузка файлов с магнитной ленты не оставила для этого ни одного шанса.
Тем не менее, в целом удачных случаев больше, чем неудачных. Мы расскажем только о некоторых из них.
Решение проблем в разделе FAT
Нам приходилось восстанавливать и диски FAT, созданные в ОС MS-DOS или Windows 95/98. Один из таких случаев был связан с перестановкой диска IDE из одного компьютера в другой. В результате сбоя питания, который произошел в самый неподходящий момент, оказались частично разрушены обе таблицы размещения файлов FAT, расположенные в системной области диска. Попытки восстановить информацию утилитой Norton Disk Doctor к успеху не привели.
Зная имена файлов, подлежащих восстановлению, нам удалось "собрать" некоторые файлы буквально по секторам, достраивая вручную таблицу FAT.
Восстановление файлов из раздела NTFS
Некая компания использовала сервер с ОС Microsoft Windows NT Server 4.0 и двумя жесткими дисками SCSI. Диски отображались друг на друга зеркально средствами ОС. И никаких резервных копий на магнитные ленты или как-либо еще ни разу не делалось.
Как-то раз этот сервер переставили с одного места на другое (в другую стойку), после чего оказалось, что ОС наотрез отказывается загружаться.
Когда открыли корпус сервера, оказалось, что он полон пыли. Вероятно, при переносе компьютера пыль попала на контроллер диска или системную плату, что вызвало сбой при загрузке ОС. В результате системные области NTFS оказались частично разрушены, причем как на основном диске, так и на зеркальном. При этом зеркало точно отразило все искажения, появившиеся на основном диске.
Для восстановления файлов нам понадобилось знание внутренних структур файловой системы NTFS, описание которых отсутствует в документации компании Microsoft. Так как работы выполнялись при помощи примитивного редактора диска Microsoft DiskProbe, на восстановление нескольких десятков файлов ушло примерно трое суток чрезвычайно интенсивной работы.
Опыт, полученный в результате этих мучений, привел нас к мысли о необходимости создания программной утилиты, способной в некоторых случаях автоматизировать самые рутинные операции. Приблизительно через полгода была готова первая версия такой утилиты, получившей название CrashUndo for NTFS ("Отмена краха NTFS"). Мы также создали упрощенный вариант этой утилиты, способный восстанавливать только стертые файлы в исправных разделах NTFS. Утилита получила название EraseUndo for NTFS.
Восстановление данных с массива RAID
В системный блок "серой" сборки был вставлен довольно старый контроллер Malex., подключенный к диску SCSI объемом 4 Гбайт. Этот диск был заполнен файлами документов, баз данных и архивами.
В результате сбоев в контроллере системные области NTFS оказались разрушенными в такой степени, что ОС отказывалась монтировать диск и запускать "штатную" утилиту восстановления chkdsk.exe.
При помощи одной из первых версий программы CrashUndo for NTFS нам удалось восстановить по одному около 1000 файлов, на что ушла примерно неделя. Работы сильно осложнялись тем обстоятельством, что дисковый контроллер работал очень нестабильно, а купить такой же, но исправный, было негде (попалась очень старая модель контроллера). Примерно каждые два-три часа контроллер приходилось вынимать из системного блока и подвергать "мануальной терапии" - мы шевелили микросхемы, установленные на панельках, чистили разъемы и выполняли другие "шаманские" действия. Тем не менее практически все необходимые файлы были восстановлены.
Еще один массив RAID
Информация на массиве RAID оказалась разрушена в результате экспериментов, проведенных системным администратором с ОС Microsoft Windows 2000: перед тем как обновить версию ОС, он выполнил резервное копирование данных: на тот же самый диск, где находилась обновляемая ОС.
В результате после установки два из трех разделов диска оказались недоступны. Утилиты восстановления Tiramisu и Easy Recovery оказались бессильными перед этими разделами, конвертированными Windows 2000 в новый формат.
Получив у "потерпевшего" дисковый массив вместе с контроллером, мы установили его в свой стенд и воспользовались программой CrashUndo for NTFS новой версии. Программа смогла восстановить все файлы, разложив их по каталогам в том порядке, в котором они находились до краха файловой системы.
И снова сбой контроллера массива RAID
И снова этот сбой произошел в контроллере Malex. К контроллеру было подключено несколько дисков для образования массива RAID уровня 5.
После возникновения сбоя в контроллере полностью пропал доступ к разделам NTFS. Общий объем данных, записанных на этих разделах, достигал нескольких десятков гигабайт. И конечно, никаких резервных копий не делалось:
Контроллер был отремонтирован, но доступ к разделам так и не появился. Как нам рассказал заказчик, вслед за этим на сервер была установлена ОС Windows 2000, после чего появилась возможность прочитать только некоторые файлы.
В результате сложной многодневной работы нам удалось восстановить примерно 50 Гбайт данных, причем некоторые файлы пришлось "собирать" вручную.
Восстановление тома Volume Set
Как известно, Windows NT позволяет объединять несколько разделов диска в один логический том, или набор томов (Volume Set). Эта особенность очень полезна, если вам нужно хранить на сервере файлы огромного размера, не помещающиеся на одном диске. Заметим, что современные накопители большого объема во многих случаях позволяют обойтись без создания набора томов.
В данном случае пользователь создал набор томов на своем портативном компьютере, и потерял доступ к нему после переустановки ОС. Выяснилось, что созданный набор объединял два фрагмента диска, один из которых имел размер 2 Гбайт, а другой - 4 Мбайт (!). На вопрос, зачем это было нужно, заказчик ответил, что хотел использовать незадействованный фрагмент диска размером 4 Мбайт. Можно поспорить, стоило ли поступать подобным образом, но, строго говоря, этот набор томов был создан по всем правилам.
Проблемы начались, когда заказчик попытался полностью переустановить ОС Windows NT. При этом он забыл (или не знал), что информация о расположении фрагментов набора томов хранится в базе данных реестра Windows NT. Переустановив ОС, заказчик уничтожил старую базу данных реестра и вместе с ней сведения о наборе. В результате он потерял доступ к данным, накопленным в течение примерно трех лет.
Нам удалось восстановить информацию о размещении набора томов при помощи стандартной утилиты FTEdit, входящей в комплект Resource Kit for Windows NT, и сделать несколько резервных копий важнейших каталогов.
Восстановление удаленного файла в разделе NTFS
Один из инцидентов был связан со случайным удалением файла, который должен был быть отправлен как вложение в сообщение электронной почты при помощи программы Microsoft Outlook Express 5.0.
Отправляемый файл вначале положили на "рабочий стол" Windows NT, а затем вставили в текст подготовленного, но еще не отправленного почтового сообщения. Полагая, что файл, вставленный в сообщение, был скопирован, исходный файл удалили в "мусорную корзину". После этого корзина была очищена.
Далее события развивались следующим образом. При попытке отправить электронное письмо было получено сообщение о том, что файл приложения не найден. И действительно, этот файл, находившийся ранее на "рабочем столе", был удален. Как оказалось, другой копии файла на диске не было. Чтобы "достать" файл из опустошенной мусорной корзины, нам пришлось использовать утилиту восстановления удаленных файлов.
Продолжение следует
Хотя упомянутые выше утилиты во многих случаях позволяют восстановить данные в автоматическом режиме, при тяжелых повреждениях файловой системы не обойтись без знания внутренних структур данных FAT и NTFS. В следующих статьях мы планируем рассмотреть наиболее важные структуры данных, а также приемы восстановления файлов вручную, доступные опытным системным администраторам.
Автор: Александр Фролов, Григорий Фролов
Источник: www.frolov.pp.ru, www.datarecovery.ru