воскресенье, 28 июня 2015 г.

VeeamON Forum 2015 Moscow

2 июня в Москве состоялся VeeamON Forum — первое мероприятие в России, посвященное технологиям, обеспечивающим доступность данных. Мы собрали ведущих вендоров индустрии виртуализации, пригласили вас в Ritz Carlton Москва и посвятили день обсуждению передовых технологий, которые помогают реализовать концепцию Always On-Business.

Публика пришла настолько подготовленная, что мы были приятно удивлены. Не зря организовали отдельную зону Q&A, где системные инженеры отвечали на вопросы гостей. По словам одного из инженеров, он отвечал на вопросы с десяти утра до четырех часов вечера – шесть часов без передышки!

VeeamON Forum вел Михаил Козлов, директор по развитию бизнеса группы компаний ActiveCloud и бизнес консультант, известная личность в отечественном ИТ бизнесе. Михаил лично знаком со всеми докладчиками, что добавило «соли и перца» его интервью со спикерами: он не стеснялся задавать собеседникам провокационные вопросы. Рекомендую послушать хотя бы некоторые из бесед в записи – будет любопытно.



Предсказуемо, интервью с президентом Veeam Software Ратмиром Тимашевым собрало самый большой «рейтинг» среди зрителей. Зал заполнен людьми до отказа, количество подключений к трансляции достигло пика – всем хотелось услышать из первых уст историю и планы развития IT-компании, которая всего за 8 лет набрала миллионные обороты и вошла в число «дальновидных компаний» (Visionaries) по версии агентства Gartner.

VeeamON Forum уже стал международным и прошел в Дубаи, Париже, Лондоне и Франкфурте. Однако, московский форум стал для Ратмира Тимашева особенным событием. По словам Ратмира, он получил огромное удовольствие от мероприятия. Ему было приятно видеть у себя на родине высокий интерес к современным технологиям виртуализации и доступности данных, которые поддерживает и развивает Veeam.

Теория и общие слова – это хорошо, но практический опыт всегда интереснее. Представители РайффайзенБанк, МТС и Юниаструм банк рассказали о том, как они внедряли решения Veeam и какие задачи при этом решались в их инфраструктурах. Реальные примеры вызвали настолько живой интерес у аудитории, что дискуссия вышла за рамки всех временных регламентов и продолжилась уже в фойе. Учиться лучше на чужих ошибках, а перенять успешный опыт и вовсе бесценно.



Чем делать?

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

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

UFS Explorer – наиболее универсальный из известных мне пакетов программ для восстановления данных. Утилиты полностью русифицированы, включая документацию. UFS Explorer Standard Recovery удобен для профессионалов, поддерживает восстановление информации с различных типов накопителей и всех распространённых на текущий момент файловых систем. Есть версии под Windows, Linux, BSD, Mac OS. Редакция Raise Data Recovery представляет собой набор утилит для пользователей, которым требуется разовое восстановление данных «здесь и сейчас». Функционал каждой из них ограничен поддержкой одной конкретной файловой системой, работают только под Windows.

Бесплатная программа для восстановления данных R.saver поможет спасти данные с FAT или NTFS. Она предназначена для пользователей, не знакомых с устройством файловых систем и принципами восстановления данных, поэтому интерфейс максимально упрощён. Настройки выполняются автоматически, для запуска сканирования достаточно нажать всего одну кнопку. Это делает программу менее удобной для профессионалов, но значительно упрощает её применение обычными пользователями. Интерфейс и инструкции на русском. Установка не требуется, достаточно скачать и распаковать. Условия лицензии допускают исключительно некоммерческое использование на территории бывшего СССР.

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

Простое восстановление данных

Ниже описываются методы восстановления данных с исправных носителей, которыми можно овладеть за минимальное время, не обладая специальными знаниями в этой области.

Случилось страшное:

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

Кто виноват?

В первом случае, перечисленные неприятности произошли из-за появления ошибок в таблице разделов или структурах файловых систем. Это может случиться, например, после некорректного отключения устройства, сбоев в работе программного и аппаратного обеспечения или в результате деятельности вирусов. Также одной из распространенных причин возникновения такого рода ошибок является частичный выход из строя поверхности диска - появление «бэд-секторов». К сожалению, сейчас это явление не редкость даже для новых жестких дисков, эксплуатирующихся в течение нескольких недель или даже дней.
Кто виноват в случае потери информации из-за ошибки пользователя, Вы возможно догадываетесь :)

Что делать?

Если запись в сектора, содержащие файлы не производилась, то данные физически остались на своих местах, но потерялись или исказились сведения об их расположении. Таким образом, требуется определить, где именно находятся сектора, содержащие нужную информацию, и считать их в правильной последовательности.
В случае, когда производилась запись на диск, например, форматирование с последующей установкой операционной системы, вероятность физического уничтожения нужной информации может быть достаточно велика. В подобных ситуациях возможность успешного восстановления данных зависит от везения и соотношения объёмов утраченной и записанной информации. Скажем, если Вы случайно удалили 1Гб бухгалтерских баз и после этого записали на этот же логический раздел 70Гб интересных фильмов, вероятность восстановления хоть чего-то близка к нулю.
Также стоит принять к сведению, что при потере данных из-за ошибок в файловой системе, запуск программ типа ScanDisk существенно уменьшает вероятность успешного восстановления. Основная задача этих утилит – приведение в порядок служебных структур файловой системы, что они и делают, не особо заботясь о судьбе пользовательских данных. При этом уничтожаются «следы», по которым можно было бы реконструировать структуру файловой системы до повреждения и спасти данные. О том, что можно сделать, если скандиск всё-таки был запущен, написана статья «Восстановление данных из chk-файлов».
В общем случае, программа для восстановления данных сначала сканирует весь носитель. По результатам сканирования, на основе обнаруженных служебных записей, составляется карта расположения фрагментов восстанавливаемых файлов и строится дерево каталогов. В карте содержатся сведения о том, какой кластер к какому файлу относится, размеры, названия и другие атрибуты элементов сканируемой файловой системы - всё, что удалось узнать на основании остатков служебной информации. Если полученных в результате сканирования сведений не достаточно, то используются определённые методы экстраполяции. Затем файлы и папки, которые требуется восстановить, выбираются в соответствии с составленной картой и переносятся на другой носитель.
Мой опыт говорит, что чаще всего всё, что в принципе возможно восстановить с исправного носителя информации, достаётся при помощи программ, упомянутых ниже. И лишь в меньшей части случаев, высококвалифицированный специалист, работая на более низком уровне, способен восстановить информацию в большем объёме.
Перед тем, как приступить к самостоятельному восстановлению данных, следует принять во внимание возможность физической неисправности устройства. Особенно это вероятно в случаях, когда данные пропали без видимых причин, или при попытке открытия файлов выдаётся сообщение об ошибке. И хотя нижеупомянутые программы сами по себе не совершают деструктивных действий (они вообще ничего не пишут на раздел, с которым работают), дальнейшая работа с неисправным накопителем без специального оборудования может привести к усугублению ситуации, вплоть до полной невозможности восстановления данных.

вторник, 23 июня 2015 г.

Как пройти «тест бесплатных программ восстановления данных»

Ранее мой коллега Viktor-Flash проводил тест бесплатных программ для восстановления данных (первая и вторая части). Он рассмотрел две проблемы, которые часто встречаются на флешках с файловой системой FAT32. Несмотря на повреждения, некоторым программам удалось хорошо восстановить данные. Я попробую рассказать о том как именно работают методы, позволяющие вернуть данные и насколько это вообще возможно.

 Статья получилась большой, поэтому я разбил ее на части. В первой части расскажу про устройство FAT32 и как восстановить данные в первом тесте (где было стерто все до таблиц FAT).

Как добраться до файла в FAT32

 Начну с поверхностного описания того, как хранятся данные внутри FAT32, благо, ее структура достаточно проста в сравнении с другими ФС. Предположим, на флешке есть файл «\documents\Secret.doc». Разберемся какой путь проходит драйвер файловой системы, чтобы прочитать данные этого документа.


Когда мы подключаем флешку к компьютеру, то первым делом ОС проверяет ее 0й сектор. В нем почти всегда записан Master Boot Record (MBR), там перечислены диапазоны секторов, которые заняты разделами. На флешках раздел почти всегда один, начинается он обычно (но не всегда) в 63 или 2048 секторе и занимает почти все доступное пространство.

 В MBR записана байтовая метка, которая указывает на тип раздела. У FAT32 это 0x0B или 0x0С. Далее, надо прочитать первый сектор раздела, в котором должен находиться BootFAT32. Из него мы можем узнать много полезной информации: 
размер кластера (блок которым оперирует ФС);
количество, размер и расположение таблиц FAT (обычно 1 или 2, про их назначение расскажу дальше);
начало области кластеризации — той области, которая разбита на кластеры и которая доступна для записи пользовательских данных;
кластер с корневым каталогом, он же Root (часто это 2й кластер)*.

*Примечание: в FAT32 область кластеризации нумеруется со 2го кластера, т. е. Root нередко находится в самом начале этой области.


Каждой папке в FAT соответствует списочная структура, которая так и называется — FAT Folder (или каталог FAT). Это список подкаталогов и файлов, которые содержит конкретный каталог. В каждом элементе списка указаны: имя, размер для файла, даты создания, удаления, модификации, атрибуты и стартовый кластер (начало файла или расположение соответствующей структуры FAT Folder для подкаталога).

 Важный момент, которым мы потом воспользуемся. Любой каталог FAT, кроме корневого, начинается с 2х стандартных элементов. Это описатели самого себя '.' и родителя '..'. А уже далее описатели всех остальных подкаталогов и файлов. Т.е. мы можем проверить номер текущего кластера (стартовый кластер у '.'), а также можем подняться на уровень выше в иерархии (перейти к каталогу '..').


Итак, мы нашли и разобрали корневой каталог, нашли в нем запись об подкаталоге с именем «documents». Перешли на указанный кластер, чтобы узнать содержимое папки «documents», разобрали соответствующий FAT Folder. Там нашли описатель для файла «Secret.doc» из которого, в числе прочего, узнали первый кластер файла и размер файла. 

 Если бы все файлы были непрерывными, то этого уже было бы достаточно для того, чтобы прочитать данные файла. Но для фрагментированных файлов надо еще построить размещение. Таблица FAT как раз и нужна для того, чтобы выставить в правильном порядке кластеры, относящиеся к файлу. Если «TopSecrect.doc» начинается в кластере №100, то в 100й ячейке таблицы будет указано, какой кластер брать следующим, т.е. где лежит второй кластер файла. И так далее по цепочке. В конце цепочки кластеров будет стоять маркер конца. Свободные кластеры также помечены специальным значением 0 (помните, что 0-го кластера нет?), таблица FAT служит еще и для отслеживания свободного/занятого места в разделе.



Теперь, когда мы более-менее знакомы с устройством FAT32, можно порассуждать о том, как ее лечить.

Тест первый: без boot'ов

Первый тест заключался в том, что было стерто все до начала таблиц FAT. Это значит, что мы потеряли BootFAT32 и его копию (если она была). А вместе с ними еще и кучу полезной информации. Но так ли трудно ее восстановить? Оказывается, что просто.

 Начну с таблиц FAT. Мы не знаем где именно их искать, но знаем что они есть. К счастью, таблицы имеют узнаваемую и проверяемую структуру. Поиск основан на следующих наблюдениях: 
таблица FAT имеет характерное начало (помните 0й и 1й «мифические» кластеры?) — часто 0xF8FFFF0FFFFFFFFF
ячейки в таблице FAT (4х байтовые беззнаковые целые) могут содержать либо служебные значения, либо ограничены размером раздела;
помимо этого, во всей таблице FAT не должно быть одинаковых значений (кроме служебных);
для многих ячеек в таблице можно утверждать, что ячейка N содержит значение N+1, т. е. после кластера N идет кластер N+1. Это сугубо эвристическое наблюдение. Оно справедливо потому, что драйвер ФС все-таки старается размещать данные непрерывно


Таким образом, мы можем найти таблицу или таблицы FAT и даже определить их размер (как минимум размер значимой части). Сразу после последней таблицы часто находится корневой каталог и, одновременно, начало области кластеризации. Можно проверить это предположение, но есть более универсальный способ.

 Помните, что все каталоги FAT, кроме корневого, начинаются с 2х стандартных записей? Так вот, эти записи позволяют очень хорошо их находить среди всех остальных данных. Если мы найдем всего 2 каталога, то получим 2 пары значений: (LBA1, ClusterNo1), (LBA2, ClusterNo2). А это уже школьная задачка на пропорции, из которой сразу находим размер кластера 
ClusterSize = (LBA1-LBA2)/(ClusterNo1-ClusterNo2)
и начало области кластеризации (помним «съеденных» кластерах 0 и 1) 
ClusterizationStart = LBA1 – (ClusterNo1-2)*ClusterSize

 Осталось найти Root. В любом каталоге есть запись о родительском каталоге '..'. Если мы будем подниматься по иерархии вверх, то достаточно быстро дойдем до Root (который узнаем, например, по отсутствию записей '.' и '..'). 

Заключение по первому тесту

 Пришлось немного постараться, но все что нужно для полноценного восстановления данных мы нашли: таблицы FAT, начало области кластеризации, размер кластера, положение Root. Можно утверждать, что для таких повреждений есть методика, которая позволяет в большинстве случаев вернуть 100% данных (получить такую же ФС, как раньше), lost forever still can be found… «Меньшинство» случаев — это когда не получилось найти даже парочку FAT Folder или были проблемы с обнаружением таблиц FAT. Однако такие ситуации скорее редкость.





суббота, 20 июня 2015 г.

Восстановление баз данных с помощью Veeam Explorer for Microsoft SQL Server

После разбора теории процессов и практических советов для резервного копирования виртуализованного SQL Server перейдем к рассказу о восстановлении баз данных с помощью Veeam Explorer for Microsoft SQL Server. Этот инструмент позволяет восстановить базу на исходный или на другой сервер без необходимости поднимать сам сервер из резервной копии.

 В общем виде процесс восстановления с участием Veeam Explorer происходит так:



Ответственный за восстановление администратор запускает консоль Veeam Backup & Replication и использует свою любимую опцию восстановления (из предлагаемых Veeam), чтобы смонтировать SQL Server (прямо из резервной копии, как она есть в репозитории) на сервер Veeam backup, вместе с файловой системой и всеми имеющимися на SQL Server инстансами и базами.
Veeam Explorer for Microsoft SQL Server добывает информацию об иерархии инстансов и баз на этом сервере SQL и в своей консоли создает представление для пользователя. Пользователь может просматривать все дерево и, найдя нужную базу (базы), выбрать и запустить требуемый сценарий восстановления. Поддерживаются следующие сценарии восстановления и экспорта:
В состояние, соответствующее выбранной точке восстановления (той, которая в текущий момент смонтирована на сервер Veeam backup)
В состояние на выбранный момент времени
В состояние накануне выбранной транзакции

 Первый из этих сценариев задействует только целевой SQL Server; для остальных же потребуется как целевой сервер, так и вспомогательный SQL сервер (staging server)

Наконец, база данных полностью «воссоздается» на целевом Microsoft SQL Server и готова к работе. Если же вы использовали сценарий экспорта, то можно приаттачить базу к нужному серверу.

Определяемся, что и как хотим восстанавливать

 Безусловно, ориентируемся на предписания политик восстановления. Чтобы выбрать нужный сценарий и подготовить всё небходимое для его успешного выполнения, неплохо составить чек-лист и ответить на основные вопросы:
Будете ли вы восстанавливать базу на момент создания точки восстановления SQL, или необходимо обеспечить возможность восстановления на любой момент времени (в том числе в промежуток между точками восстановления сервера)?
 В последнем варианте понадобятся бэкапы логов, чтобы «накатить» их на выбранную точку, так что необходимо будет выбрать опцию Backup logs при настройках задания резервного копирования сервера.
Планируется ли восстановление базы на состояние, предшествовавшее какой-либо операции (например, удалению записи из таблицы)?
 Для восстановления с таким уровнем гранулярности понадобятся:
бэкапы журналов транзакций
вспомогательный SQL сервер (о требованиях к нему скажу чуть позже), который позволит вывести в консоли перечень операций, чтобы пользователь смог их просмотреть и выбрать нужную, а затем выполнить «накат» логов.

Будет ли база восстанавливаться на исходный Microsoft SQL Server или на другой?
Проверьте настройки соединения сервера Veeam backup с данным сервером.
Убедитесь, что у учетной записи, под которой планируется выполнять восстановление, есть все необходимые права.
Проверьте версионность SQL Server, куда будете восстанавливать (восстановление базы с сервера более новой версии на сервер более старой поддержано не будет).

Кто будет заниматься восстановлением баз? Вы лично, или другие пользователи (группы пользователей)?
 Во втором случае разумно делегировать восстановление, задействуя для этого функциональность Enterprise Manager.

 Отмечу, что в процессе восстановления не нужно целиком восстанавливать и запускать собственно сервер. Вместо этого резервная копия (в том виде, в котором она хранится в репозитории, т.е. после сжатия и дедупликации) монтируется на бэкап-сервер Veeam. Для того, чтобы корректно смонтировать файловую систему этой виртуальной машины и отобразить ее в привычном нам виде в окне браузера Veeam Backup Browser, используется специальный драйвер Veeam.
 Далее можно выбрать, с помощью какого инструмента будем выполнять восстановление базы данных:

Veeam Explorer for Microsoft SQL Server – позволяет восстановить базу на исходный либо на другой сервер (требуется коммерческая лицензия), в состояние, соответствующее выбранному бэкапу самого сервера/указанному моменту времени/накануне выбранной транзакции. Этот инструмент и сценарии я опишу ниже в подробностях.
Veeam Backup Enterprise Manager – позволяет делегировать возможности восстановления другим пользователям, дав им права работать с определенными серверами (также требуется коммерческая лицензия Enterprise Plus). Поддерживается восстановление на исходный либо другой сервер, в состояние, соответствующее выбранному бэкапу сервера/указанному моменту времени.
Для особо увлеченных можно использовать мастер гранулярного восстановления (U-AIR) и создать запрос к бэкап-администратору на восстановление базы, таблицы или результатов запроса в состояние на момент выбранного бэкапа SQL сервера. Поскольку этот способ задействует виртуальную лабораторию и требует более тонких настроек, а сам инструмент выдается теперь по запросу, рекомендуется для такого случая обращаться в службу поддержки. Если же вы всё еще работаете с версией 7, то можно почитать документацию.


 Итак, остановимся на восстановлении базы данных с использованием Veeam Explorer for Microsoft SQL Server.

Что нужно сделать до запуска Veeam Explorer?

 Всего-навсего выполнить 5 несложных подготовительных действий. Рекомендую составить небольшой чек-лист, который поможет вам сэкономить время и нервы на случай, когда они будут особенно необходимы.

Шаг 1: Проверить, открыты ли порты

 Для связи бэкап-сервера Veeam с гостевой ОС вашего SQL сервера, скорее всего, на бэкап-сервере понадобится открыть порты TCP 1433 и TCP 1434. Остальные (если понадобятся) будут зависеть от конфигурации вашего SQL Server; за подробностями добро пожаловать в http://msdn.microsoft.com/en-us/library/cc646023.aspx#BKMK_ssde.

Шаг 2: Подготовить вспомогательный сервер (при необходимости)

 Если вам нужно восстановить базу на состояние, соответствующее выбранному бэкапу SQL сервера, никаких дополнительных машин не потребуется. Но если вы собираетесь выбрать другой сценарий, то вам будет нужен вспомогательный сервер (staging server), который обеспечивает следующие операции (см.также таблицу выше):
Восстановление базы в состояние накануне выбранной транзакции
Экспорт базы (файлов .MDF и .LDF) в том состоянии, в котором она была в выбранный момент времени или накануне выбранной транзакции

 По умолчанию, в качестве вспомогательного будет использован SQL Server, установленный вместе с бэкап-сервером Veeam. Вы можете указать другой сервер, запустив Veeam Explorer for SQL (например, из меню Start) и выбрав в главном меню пункт Options.

Важно! Главное здесь – обязательно указать локальный инстанс SQL Server-а (т.е. стоящий на одной машине с Veeam Explorer и бэкап-сервером) и проверить, что его версия не младше той, что у SQL, чью базу вы планируете восстановить (т.е. нельзя использовать SQL Server 2008 для восстановления/экспорта базы с SQL Server 2014).

Шаг 3: Назначить права учетной записи

 На разных этапах процесса могут потребоваться следующие права (в случае необходимости обратитесь к администратору БД за их выдачей):
Учетная запись, которую вы планируете использовать для доступа к гостевой ОС вашего SQL Server (та самая, которую вы указали на шаге Guest Processing при настройке задания резервного копирования), должна входить в фиксированную серверную роль sysadmin на данном SQL Server (если это не так, содержимое баз не будет отображаться в окне Veeam Explorer). См. также статью Veeam Knowledge Base.
Учетная запись, под которой вы вы планируете запускать Veeam Explorer — как правило, это та, под которой работает сервис Veeam Backup Service, о требованиях к которому рассказано здесь, — для сценария с экспортом базы данных должна иметь права на папку, в которую будет идти экспорт файлов БД (как минимум это Read и Write)
Учетная запись, под которой будет выполняться подключение к целевому SQL Server для восстановления базы (это может быть оригинальный или другой сервер), должна входить в фиксированную серверную роль sysadmin на целевом SQL Server.
Еще вам может понадобиться учетная запись, под которой будет осуществляться доступ к ОС Windows сервера, куда будут копироваться для последующего «наката» бэкапы журналов транзакций (в зависимости от сценария это будет либо целевой сервер, либо вспомогательный). Эта учетная запись должна иметь доступ к административной папке на указанном сервере (как минимум с правами Read и Write).

Шаг 4: Изучить ограничения и особенности операций

В текущей версии в качестве вспомогательного сервера не поддерживается инстанс SQL Server на удаленной машине. Используйте только локальные инстансы.
Если у вас в качестве вспомогательного будет использован SQL Server Express (например, поставляемый вместе с Veeam сервер SQL Express 2012), помните, что у него есть ограничение по размеру поддерживаемых баз – это 10 ГБ. Подробнее см. здесь.
По умолчанию, системные базы (master и др.) исключены из процессинга. Если вам нужно их восстановить, можно воспользоваться, например, процедурой восстановления файлов гостевой системы (как описано здесь).
В текущей версии не поддерживается восстановление из реплики на выбранный момент времени.
Если необходимо восстановить закриптованную базу данных, изучите вот эту статью из Veeam Knowledge Base.

Шаг 5: Подготовить файлы к восстановлению

 Для этого можно воспользоваться любой опцией восстановления из поддерживаемых Veeam Backup & Replication; удобнее всего использовать мастер SQL Restore Wizard (как описано здесь) – он выполнит нужные операции в автоматическом режиме и сам запустит Veeam Explorer. При необходимости – например, если вы работаете с VeeamZIP — аналогичные операции можно выполнить вручную (как описано здесь) – тогда финальным пунктом нужно будет добавить необходимую базу данных в консоль Veeam Explorer с помощью команды Add Database (подробнее см. здесь).

Итак, сценарии восстановления базы данных

Важно! Восстановление баз на SQL сервер (команды меню Restore) поддерживается для редакций Veeam Backup & Replication Enterprise и Enterprise Plus. Для всех редакций (включая Free и Standard) можно выполнить восстановление путем экспорта файлов базы и затем аттач к нужному серверу.

Сценарий №1. Восстановление на состояние «как в выбранном бэкапе SQL сервера»

 Вам понадобится точка восстановления (резервная копия, реплика, VeeamZIP), созданная с учетом работы приложения. Требуемые настройки конфигурации:
Модель восстановления для вашей базы — может быть любой.
В настройках задания резеврного копирования на шаге Guest Processing должна быть выбрана галка Enable application-aware image processing:


В диалоге настроек процессинга виртуальной машины на табе General надо выбрать вот такие опции:
В секции Applications — Require successful processing (recommended)
В секции Transaction logs — Process transaction logs with this job (recommended)



В том же диалоге на табе SQL можно выбрать любую из опций обработки логов (разумеется, с пониманием, что будет с ними при этом происходить).


Примечание: Для тех, кто забыл или пропустил описание этих настроек — про них рассказывалось в первой серии.

 Данный сценарий (при наличии лицензии Veeam Backup & Replication Enterprise или Enterprise Plus) позволяет восстановить базу на исходный сервер или на другой выбранный вами.


понедельник, 15 июня 2015 г.

Stellar Phoenix — еще одно замечательное ПО

Программа Stellar Phoenix позволяет искать и восстанавливать 185 различных типов файлов с разнообразных носителей, будь то флешки, жесткие диски, карты памяти или оптические диски. (Возможности восстановления RAID не предусмотрено). Также программа позволяет создать образ восстанавливаемого жесткого диска для лучшей эффективности и безопасности восстановления данных. В программе предусмотрена удобная возможность предварительного просмотра найденных файлов, кроме этого все эти файлы сортируются в древовидном виде по типам, что также делает работу удобнее.



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

Обзор программы для восстановления данных Stellar Phoenix

Несмотря на все наши усилия держать важные данные и файлы, их потеря все равно время от времени случается. Причины могут быть самые разные — перепад напряжения как раз за минуту до того, как Вы собирались выложить фотографии в облачное хранилище, выход флешки из строя или что-либо еще. Итог всегда неприятен.

Программа для восстановления данных Stellar Phoenix может помочь. В случае ее использования не нужно быть экспертом или обращаться в ремонт компьютеров. Использование программы не представляет ровным счетом никаких сложностей.


С помощью Stellar Phoenix Вы можете попробовать, и, очень вероятно, что успешно, восстановить как просто удаленные файлы, так и данные с испорченных разделов жесткого диска или отформатированной флешки. Помимо этого, поддерживается работа с картами памяти, внешними жесткими дисками, CD и DVD.



Результаты поиска удаленных файлов отображаются в привычном для операционной системы Windows виде, также имеется возможность предварительного просмотра файлов перед восстановлением. Если Вам требуется восстановить данные с поврежденного жесткого диска, производитель рекомендует воспользоваться платной версией Pro, позволяющей создавать образы жесткого диска для восстановления.
Процесс восстановления

Даже если Вы не являетесь экспертом по восстановлению данных, программа предложит интуитивно понятный интерфейс. После установки Stellar Phoenix, Вам будет предложено всего три пункта для выбора:
Восстановление жесткого диска
Восстановление CD и DVD
Восстановление фотографий

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

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

пятница, 12 июня 2015 г.

R-studio — одна из лучших программ для восстановления данных


Да, действительно, одна из лучших, однако стоит отметить, что она является платной. Итак, вот немного о возможностях данной программы:
Восстановление данных с жестких дисков, карт памяти, флешек, дискет, CD и DVD
Восстановление RAID массивов (В том числе RAID 6)
Восстановление поврежденных жестких дисков
Восстановление переформатированных разделов
Поддержка разделов Windows (FAT, NTFS), Linux и Mac OS

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

пятница, 5 июня 2015 г.

Может ли софтверное уничтожение данных быть лучше мощного магнита?


Ликбез


Шифрование диска обычно производится симметричным алгоритмом вроде AES с помощью ключа, максимальный размер которого на апрель 2015 года редко превышает 32 байта (256 бит)
 На сегодняшний день не существует документированных доказательств восстановления перезаписанных данных
Ключом шифрования контейнера чаще всего является случайная последовательность байт, а уже её шифруют с помощью вашего пароля
Эта последовательность байт вместе со служебной информацией редко больше 1 кб. Такое количество данных можно за 10 секунд переписать спец методами несколько тысяч раз


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

Truecrypt

 Несмотря на то, что проект мертв, дело его живет.
Update Apr 2, 2015: Phase II complete. TrueCrypt has been audited.

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

 Итак, Truecrypt — это пример OpenSource программы, которой можно более-менее доверять шифровать большие объемы данных маленьким (физически) ключом. Даже так: Скорей всего, вы не настолько круты, что даже если вас поймают, то будут использовать гипотетические дырки в трукрипте, чтобы достать из вашего контейнера информацию.

VeraCrypt

 Это OpenSource форк трукрипта, в который осторожно добавляют новые фичи дабы не смутить вновь прибывших. Например, они после аудита трукрипта увеличили количество раундов хэширования пароля во много раз так, что ждать монтирования теперь приходится несколько секунд. Брутфорсить пароль, соответственно, сложней во столько же раз +-.

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

 И у нас будет пригодный для практического применения бесплатный быстрый способ удалять данные навсегда. Правда ведь хорошо?

Как восстанавливают данные с неисправных SSD

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


 Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов. 

 Те, кто уже сегодня сделал backup, добро пожаловать под кат.

 Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год. 

 На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

 Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных. 

 Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
 Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

 Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода. 

 Чем выше мощность кода, тем длиннее последовательность приписываемых байт. Процесс вычисления и добавления упомянутой последовательности называется кодированием, а исправления битовых ошибок — декодированием. Схемы кодирования и декодирования обычно аппаратно реализованы внутри контроллера накопителя. При выполнении команды чтения накопитель наряду с прочими операциями выполняет также исправление битовых ошибок. С полученными файлами дампов необходимо провести ту же процедуру декодирования. Для этого нужно определить параметры используемого кода.

Формат страниц микросхем памяти

 Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

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

Скремблирование VS Шифрование

 Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование — это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование. 

 Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном. 
 В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ»), выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

 Часто эту операцию обозначают символом ⊕. 

 Поскольку 
X ⊕ X = 0
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна: 
(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

 Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

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

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

 Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

 Минусы:
Трудоемкость. Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
Риск потерпеть фиаско. Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
Риск еще больше угробить накопитель. Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
Время и стоимость работ

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


Подход №2. Технологический режим

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

 Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

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

 В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.

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

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

 На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.

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

 Минусы:
Сложность и стоимость разработки. Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
Решения индивидуальны. 
Ограниченный круг задач. Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных. 

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


Заключение

 На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем. 

 На этом пока все. Берегите себя! И да хранит ваши данные backup!

четверг, 4 июня 2015 г.

Recuva — самая известная бесплатная программа для восстановления данных

По моему мнению, Recuva является самой «раскрученной» программой для восстановления данных. При этом, скачать ее можно бесплатно. Данное программное обеспечение позволяет начинающему пользователю достаточно легко восстановить удаленные файлы (с флешки, карты памяти или жесткого диска). Позволяет искать определенные типы файлов — например, если Вам нужны именно фотографии, которые были на карте памяти фотоаппарата.


Надо отметить, что несмотря на то, что программа очень проста в использовании (для восстановления данных предусмотрен удобный мастер), функциональность ее оставляет желать лучшего. Уверенно восстанавливаются лишь те файлы, которые были удалены и, при этом, флешка или жесткий диск после этого вообще не использовались. Если флешка была отформатирована, то восстановить данные с нее уже не получится. Также программа не справится и в случаях, когда компьютер сообщает «диск не отформатирован».

Общее

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