У меня есть своего рода философский вопрос.
Я собираюсь установить новый сервер резервного копирования, и с течением времени шифрование данных кажется все более разумным.
Однако что, если жесткий диск выйдет из строя. Я знаю, что вопрос кажется простым, но ...
... идеального HD не существует. У меня была ситуация, что я потерял диск, который благополучно положили на полку. Пролежав ~ 1 год, он не раскручивался. Конечно, в этом случае данные с шифрованием или без него пропадают. Однако, учитывая, что 3 из ~ 100 SAS-дисков серверного качества, которые у меня есть, потеряли некоторые сектора за последние 3 года, я действительно не чувствую себя комфортно. Какой смысл в резервном копировании, если некоторые битые сектора делают неизвестный файл или даже весь раздел бесполезным.
Другая очевидная сторона: а что, если пропадет HD с разумными данными? Однажды у нас была ситуация, что уборщицы забыли закрыть утром нашу серверную. Ежедневно через эту комнату проходят десятки студентов, и это скорее вопрос удачи (или высокой морали), что некоторые клетки не опустели.
Поскольку я использую Linux, я проверил, какие решения доступны. Я немного читал о многослойной файловой системе и шифровании блочного устройства, но все же, насколько я понял, у большинства инструментов восстановления HD возникают проблемы, если раздел зашифрован.
Я не говорю о взломе данных. Я предполагаю, что у меня всегда будет ключевой файл или пароль, который потребуется для расшифровки.
Кто-нибудь поделится своими мыслями по этому поводу?
Хотя это довольно широкий вопрос, вот несколько советов:
Если вам действительно нужно шифрование данных, вы должны, по крайней мере, использовать множество корпоративных дисков, инструменты контрольной суммы md5sum (или аналогичные) для каждого файла в хранилище, а для контейнера иметь несколько полных резервных копий на разных носителях. внешнее хранилище с лентами (очевидно, контрольная сумма записанных данных. Проводите постоянные тесты восстановления на каждом носителе и планируйте переключение оборудования в зависимости от «риска», который вы хотите принять.
Для диска серверного уровня: пример с вымышленными значениями:
предположим, у вас будет 1 дефектный сектор за ~ 3 года. это сделало бы примерно 1/1000 шанс иметь один дефектный сектор в день. (в этом примере проигнорируем объем переменной данных)
По мере старения диска риск возрастает, пока он не выйдет из строя.
Поэтому либо вы меняете их местами после достижения определенного порога (например, 1 или 2%), либо вы рискуете потерпеть неудачу в одной резервной копии / части резервной копии, и вы должны убедиться, что:
you know that it failed
you take action that next one will not fail.
Имейте в виду, что все это происходит и без шифрования.
поэтому шифрование только увеличивает вероятность потери всей резервной копии (если вы не шифруете только на уровне файлов)
Дополнительная дедупликация файлов, в зависимости от того, как вы их зашифруете, также не сработает, увеличивая размер резервных копий.
Если HD отсутствует: просто убедитесь, что шифрование достаточно надежное, пока данные не станут бесполезными для кого-то еще. Или вам нужно усилить безопасность, чтобы этого не произошло:
F.e. Контроль доступа в серверную комнату и полный видеонаблюдение и т. Д.
tl, dr: предотвращение битродов, отслеживая каждый файл + контейнер, меняя местами жесткие диски до того, как они испортятся, видеонаблюдение за серверной комнатой и предотвращение доступа без ведома хотя бы одного человека.
Алгоритмы шифрования жесткого диска могут быть сложными, но фактическое шифрование на уровне блоков в основном представляет собой очень простой симметричный алгоритм. DES, 3-DES и его последователи - все очень-очень простые алгоритмы, в основном они переставляют расположение битов, а затем их значения.
Что делает все это таким сложным, так это обработка ключа шифрования / дешифрования. Здесь работают RSA, простые числа длиной в несколько сотен символов и т. Д.
Так и должно быть: поскольку зашифрованный диск не должен быть слишком медленным, фактический алгоритм критики скорости должен быть быстрым.
И второе: секторы (блоки) зашифрованных жестких дисков должны быть зашифрованы / дешифрованы друг от друга независимо. Было бы большой шуткой, если бы нам нужно было расшифровать весь диск, чтобы узнать, что находится в его последнем блоке. :-)
Это последнее, что делает вашу жизнь такой простой. Единственное, что вам нужно сохранить, это ключ кодирования / декодирования. Если приходит плохой блок, этого ключа будет достаточно для декодирования всего жесткого диска.
Конечно, не плохие блоки, но их неисправность не приведет к недостижимости других блоков.
Для обработки ключа лучше использовать какое-нибудь решение с открытым исходным кодом: конечно, этого также нельзя допускать, вы не сможете декодировать свои данные только потому, что компания-разработчик просто не поддерживает механизмы спасения.
Вкратце: если вы клонируете такой жесткий диск с плохими блоками с помощью инструмента восстановления данных на уровне секторов (например: gddrescue
является хорошей идеей для мира с открытым исходным кодом), клон будет декодируемым (а затем исправляемым) почти всегда без каких-либо серьезных проблем.
Конечно, можно было бы гораздо больше написать о том, что делать в случае повреждения диска, но все зависит от фактической используемой технологии.