Долгосрочное архивирование исходного кода:Возможно ли это?

StackOverflow https://stackoverflow.com/questions/73745

  •  09-06-2019
  •  | 
  •  

Вопрос

Мне интересно, как надежно хранить исходный код в течение нескольких лет.Из моего исследования / опыта:

  1. Оптические носители, такие как записанный DVD-R, со временем теряют биты данных.Через пару лет я не могу удалить все файлы, которые я на них поместил.Ошибки чтения и т.д.

  2. Жесткие диски являются механическими и подвержены выходу из строя / устареванию с высокой платой за восстановление данных, что вряд ли позволяет сохранить ваши данные в тайне (вы отправляете их какой-нибудь компании).

  3. Устройство для хранения на магнитной ленте:см. №2.

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

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

Краткое изложение ответов:
1.Используйте несколько методов для резервирования.
2.Распечатайте свой исходный код либо в виде текста, либо в виде штрих-кода.
3.RAID-массивы лучше подходят для локального хранилища.
4.Открытые источники финансирования вашего проекта позволят ему длиться вечно.
5.Шифрование - это ответ на вопрос безопасности.
6.Хранилище на магнитной ленте отличается долговечностью.
7.Распределенное / гарантированное онлайн-хранилище является дешевым и надежным.
8.Используйте систему управления версиями для ведения истории и создания резервной копии репозитория.

Это было полезно?

Решение

Лучший ответ - "в нескольких местах".Если бы я был обеспокоен сохранением моего исходного кода как можно дольше, я бы сделал:

1) Регулярно создавайте резервные копии на некоторые оптические носители, скажем, записывайте их на DVD раз в месяц и архивируйте за пределами сайта.

2) Создайте резервную копию на нескольких жестких дисках на моих локальных компьютерах

3) Создайте резервную копию в сервисе Amazon S3.У них есть гарантии, это распределенная система, поэтому нет единичных точек отказа, и вы можете легко зашифровать свои данные, чтобы они не могли "подсмотреть" за ними.

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

Другие советы

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

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

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

Я думаю, вы были бы удивлены, насколько разумны цены на онлайн-хранилища в наши дни.Amazon S3 (простое решение для хранения данных) стоит 0,10 доллара за гигабайт в месяц, при этом стоимость загрузки составляет 0,10 доллара за ГБ, а максимальная стоимость скачивания - 0,17 доллара за ГБ.

Следовательно, если вы сохраняете 20 ГБ в течение месяца, загружаете 20 ГБ и скачиваете 20 ГБ, это обойдется вам в 8,40 долларов (немного дороже в европейском дата-центре - 9 долларов).

Это достаточно дешево для хранения ваших данных как в центрах обработки данных США, так и в ЕС, а также на DVD-диске - шансы потерять все три, мягко говоря, невелики.

Существуют также доступные интерфейсы, такие как JungleDisk.

http://aws.amazon.com
http://www.jungledisk.com/
http://www.google.co.uk/search ?q=amazon%20s3%20 клиентов

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

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

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

Не забудьте использовать Subversion (http://subversion.tigris.org/).Я ниспровергаю всю свою жизнь (это потрясающе).

Лучшим решением для домашнего использования, которое я видел, была распечатка резервных копий с использованием 2D-штрих-кода - плотность данных была довольно высокой, их можно было довольно легко повторно отсканировать (при условии использования сканера для подачи листов), и это перенесло проблему из цифровой области обратно в физическую, с чем довольно легко справляется что-то вроде сейфа или такой компании, как Iron Mountain.

Другой ответ - "все вышеперечисленное".Избыточность всегда помогает.

Для своих проектов я использую комбинацию 1, 2 и 4.Если это действительно важные данные, вам нужно иметь несколько копий в нескольких местах.Мои важные данные реплицируются в 3-4 места каждую ночь.

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

Для архивирования электронных данных, предусмотренных нормативными актами, мы храним данные в RAID-хранилище и на лентах резервного копирования в двух отдельных местах (одним из которых является Iron Mountain).Мы также заменяем кассеты и проводим РЕЙДЫ каждые несколько лет.

Если вам нужно сохранить его "навсегда", вероятно, самый безопасный способ - распечатать код и вложить его в пластиковый конверт, чтобы уберечь от непогоды.Я не могу сказать вам, сколько кода я потерял из-за средств резервного копирования, которые больше недоступны....У меня нет устройства для чтения бумажных карт, чтобы читать мою старую колоду cobol, нет накопителя для моих 5 1/4 "дискет или 3 1/2 "дискет.но все же распечатка, которую я сделала для своего первого большого проекта, все еще удобочитаема ... даже после того, как мой 3-летний ребенок решил, что из нее получится хорошая книжка-раскраска.

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

Резервное копирование вашего текущего исходного кода (в нескольких местах), безусловно, важно, но, на мой взгляд, резервное копирование вашей истории изменений в том виде, в котором это предусмотрено вашим VCS, имеет первостепенное значение.Это может показаться тривиальным, особенно когда мы всегда "живем настоящим, глядя в будущее".Однако было слишком много случаев, когда нам хотелось оглянуться назад, чтобы исследовать проблему, просмотреть цепочку изменений, посмотреть, кто что сделал, можем ли мы выполнить откат к предыдущей сборке / версии.Тем более важно, если вы практикуете интенсивное ветвление и слияние.Архивирование одной магистрали не годится.

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

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

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

Я думаю, что вариант 2 работает достаточно хорошо, если у вас есть механизмы резервного копирования на запись.Они также не обязательно должны быть дорогостоящими с привлечением третьей стороны (за исключением аварийного восстановления).Настроенный на RAID 5 сервер справился бы с этой задачей.Если жесткий диск выходит из строя, замените его.КРАЙНЕ маловероятно, что все жесткие диски выйдут из строя одновременно.В некоторых случаях было бы достаточно даже зеркального диска RAID 1.

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

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

Не обязательно дорогой (см. rsync.net например), ни небезопасным.Вы, конечно, тоже можете зашифровать свои данные.

и вы не можете гарантировать, что они не подглядывают внутрь.

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

Что еще более серьезно, RAID-массив уже не такой дорогой

РЕЙД - это нет подкрепление.

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

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

Drobo для локального резервного копирования

DVD-диск для кратковременного локального архивирования

Amazon S3 для удаленного долгосрочного архивирования

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top