Данный пост является ответом на два вопроса из домашнего задания фотошколы
Profile (категорически рекомендую всем, интересные лекции и задания для новичков и профессионалов). Однако эта тема мне сильно близка, настолько, что я случайно накрапал целую статейку. А так как в лекции она затрагивалась не сильно глубоко, да и тема ближе к админству, чем к фотографии, решил запостить ее в открытом доступе. Не пропадать же добру.
Сейчас я расскажу, о том, как организовать хранение фотографий и их защиту.
Админы делятся на два типа: те, которые еще не делают бекапы, и те, которые уже делают.
Железо
Я бы разделил средства хранения по задаче. Я вижу три основных типа: хранение рабочее, хранение долговременное и хранение оперативное. Также необходимо дополнительное буферное хранение.
Рабочее хранение: это непосредственно хранение на жестком диске компьютера, для обработки. Файлы должны быть всегда под рукой, быстро подгружаться, сохраняться и экспортироваться. Следовательно, лежат они на жестком диске компьютера.
Однако место на компьютере не безгранично, к тому же порой надо работать на ноутбуке с маленьким SSD, да и вообще непорядок, когда комп забит всяким. Для этого используются внешние жесткие диски. Опять же, туда можно залить бекап системы, что тоже полезно. Самый клевый вариант: NAS. NAS - Network Attached Storage (сетевое хранилище). Несмотря на то, что по сути НАСом является любое учтройство хранения данных, в том числе роутер с подключенным жестким диском, мы поговорим о взрослых штуках. По сути это маломощный компьютер, имеющий высококачественный RAID-контроллер, работает он по сети и обладает множеством полезных функций вроде Apple Time Machine, но самый кайф в них - работа с дисками. Диски меняются на горячую, более того, зачастую позволяют увеличивать объем без отключения: вытаскивается один диск из пары, вставляется новый, инфа со старого переливается в новый, затем меняется и он. Все то, что жалко выкидывать хранится там. Главная фишка НАСов - аппаратный рейд. В обычных компьютерах он нагружает процессор и забивает каналы, снижая быстродействие. Аппаратный рейд делает все сам, быстро и качественно. Я вот давно уже слюни пускаю на QNAP TS-869 Pro. Дорогой зараза (хотя на ебее он, гад, вдвое дешевле, только его растамаживать надо), зато аж 8 дисков, любая конфигурация рейда и вообще. Насчет конфигурации, для дома наиболее логично зеркало из двух дисков, хотя в принципе можно на соответствующем оборудовании зеркалить хоть на 10. В принципе больше трех дисков в зеркале иметь бессмысленно, ибо вероятность отказа сразу всех трех дисков существенно ниже, чем вероятность пожара.
Как известно, в результате обработки материала мы получаем несколько типов файлов: обработанные равы (в смысле, рав-файл и файл примененных к нему атрибутов), а также готовый jpeg. Все они отправляются на долговременное хранение, однако хорошо и правильно наиболее важные из них хранить в более надежном месте, позволяющем работать с файлом откуда угодно, и находящееся под защитой профессионалов. То есть в облаке. Для себя я выбрал Яндекс-диск, ибо они фигни не делают. Я храню там вообще все оптимизированные жпеги. Мой стандарт: масштабирование в 2000 пикселей по короткой стороне и ужатие 70% средствами лайтрума, это дает малый размер файла без заметных потерь. Разумеется, самое важное не сжимается, а для выкладывания в веб идет 1000 пикселей и 60%. Также работа в облаке позволяет организовать совместную работу, передачу готового материала заказчику, да и не бояться краж, пожаров, потопов и прочих происшествий.
Наконец, неплохо иметь буферное хранилище - внешний жесткий диск. Даже если дома на антресоли серверный NAS на петабайт. Просто чтоб был. Все эти облака, хранилища, флешки и т.д. это конечно хорошо, но диск - самое надежное, быстрое, интуитивное решение, от которого глупо отказываться.
Структура
Любая система должна быть логичной. Неприятно рыться в закромах родины, выискивая ту самую единственную фотографию. Еще неприятнее обнаружить, что она была удалена в составе папки с котиками. Поэтому каталогизация - наше все.
Где бы фотография не хранилась, при необходимости даже другой человек должен безошибочно в ней разобраться и найти искомое, ибо даже сам фотограф через год - это совершенно другой человек.
Организация такого пространства проста, но в то же время практически невыполнима, так как требует педантичности и силы воли. Это как носки: ты следишь за порядком, кладешь из парами, но стоит зазеваться, дать малейшую слабину, как начинаешь находить их повсюду: под кроватью, за шкафом, на балконе, в холодильнике. Причем найдя носок на люстре не проскакивает мысль: «так, я запомнил где ты висишь, в субботу, как только начну уборку, обязательно положу тебя в ящик».
Так вот, каталогизация. Она делится на две составляющих:
Хранение в древовидной структуре. Все файлы хранятся в древовидных каталогах. Это очень удобно и логично. Все попытки современных операционных систем скрыть эту структуру приводят лишь к снижению интуитивности интерфейсов: этим страдают и MAC, и Linux (версии, оснащенные оболочкой Unity), и Windows 8.
Так вот, нужно продумать полноценную древовидную структуру, объединять по общности признаков. Как пример: portrait/workshop/14-02-12/. Причем дату желательно писать в формате год-месяц-день через тире, так как при сортировке по названию они выстроятся в правильном порядке, а тире не используется в качестве служебного символа. Пробелы не желательны, так как их отсутствие позволит быстро перенести адрес в терминал (не надо недооценивать терминал, в нем тоже есть полезные функции). Также рекомендуется использовать английские названия, чтобы потом не увидеть при слетевшей кодировке что-то вроде ÏŜĊÎĜËÌĊ×ÁÑĈÏÔÏÇÒÁĈÉÑ.. А при восстановлении вообще может так русский текст перекорежить, что из-за длинны названия придется шаманить, чтобы файлик записался на исправный диск, и хорошо если фотография одна, а если их тысяча?
Также не рекомендуется делать слишком глубокое дерево, ибо это то еще удовольствие заглубляться в тысячи слоев. Широкое дерево удобнее. Оптимально иметь 3-5 слоев.
Второй способ каталогизации - теги. На них как раз ставят все современные системы, причем Unity со своими умными линзами ушла далеко вперед.
Всем файлам можно присвоить ключевые слова для автоматизированного поиска. Это не менее удобно, чем древовидная структура, однако если в дереве удобнее искать конкретную фотографию, то тегами можно найти схожие фото из несвязанных каталогов: например, все фото детей на природе, либо всю ночную архитектуру. Любая фотография, достойная экспорта, достойна и тега.
Помимо собственно тегов, есть еще рейтинги, цветовые маркировки, комментарии и еще много всего, что также поможет потом разобраться в тысячах фотографий.
Также в нелегком деле каталогизации помогают EXIFы. В них содержится информация о дате съемки, модели и настройках фотоаппарата, а порой даже место съемки и автор. Это может помочь разобраться в даже самых страшных завалах.
Наконец, последний, но самый главный принцип хранения фотографий: не хранить хлам. Нужно завести привычку после завершения обработки съемки аккуратно собрать весь необработанный материал и без сожалений выкинуть. Чтобы не мучали сомнения, нужно просто в сортировке скрыть все обработанные кадры, закрыть глаза, нажать Ctrl+A (CMD+A) и Delete. Лично мне из необработанных кадров впоследствии не понадобился ни один.
Бекапы
Однако даже самый распальцованый НАС не идеален. Случаются сбои, вызванные ошибкой контроллера, перепутавшим дефрагментацию и форматирование пользователем, бабой Нюрой со шваброй, пожарами, наводнениями, неожиданными решениями правительства, скачками напряжения и прочими сюрпризами.
- Вась, забекапь бухсервер, темную сторону Силы чувствую я. (с)
Резервное копирование нужно для сохранения информации в случае утраты основного носителя. Или работы, а порой и жизни. Это фоточки в принципе можно потерять, но как быть с какой-нибудь здоровенной корпоративной базой данных? Поэтому бекапы обязательны. Бекап - первое что делает хороший админ при настройке системы.
Итак, бекапы бывают полными и инкрементальными. Полный является полной физической копией всех файлов либо образов диска. Он является самым надежным способом хранения, однако такой бекап очень объемный, и долго производится, поэтому в дополнение к нему идут инкрементальные бекапы - они бекапят только те файлы и данные, которые были изменены за определенный промежуток времени. Грамотное резервирование предусматривает комбинирование этих видов.
Наиболее продуманная система бекапов встречается в бухгалтериях нечистых на руку фирм, которые готовятся в любую минуту встретить маски-шоу и по первому звонку в дверь засунуть все диски в микроволновку. Чаще всего они пользуются ротацией «дед-отец-сын», подразумевающую ежемесячные полные бекапы (дед), еженедельные полные бекапы (отец) и ежедневные инкрементальные (сын), при этом деды отправляются на вечное хранение, отцы живут 4 недели, ежемесячные бекапы чистятся раз в неделю. Иными словами, старый отец + 7 сыновей = новый отец. Сами бекапы помимо основного сервера заливают на носители: диски, магнитные ленты и т.д, которые хранятся в независимом месте. Это позволяет в случае физического уничтожения всей серверной спасти данные. Сверхдлительное хранение бекапов не требуется, так как используются в первую очередь новые источники, вероятность уничтожения всех носителей в течение года стремится к нулю. Также используются еще более мозговыносящие принципы, вроде ханойской башни и 10ти наборов, но они уж слишком ядреные и бесполезные в быту.
В быту же используется принцип одноразового копирования (просто с определенной периодичностью скинуть инфу в безопасное место) и простая ротация (например, есть два диска, на первой неделе делается полный бекап на первый диск, на второй - на второй). Это не безотказные системы, но тем не менее позволяют добиться высокого уровня защиты.
Как итог, нужно побороть лень. Все фотографии хранятся на внешнем файловом хранилище (в котором минимум 2 диска в зеркале), туда же сразу заливаются свежие фотографии прямо с карточки (ведь самые свежие фотографии зачастую нужнее всего), которые также хранятся на рабочем жестком диске со всеми актуальными проектами. Раз в неделю (либо чаще, если чувствуются колебания в Силе), проекты копируются на файлопомойку. Самые ценные вещи также хранятся в облачном сервисе на вечном приколе. Если колебания слишком велики, рекомендуется купить дополнительную пару винтов, перекинуть на них информацию с фалохранилища и перевезти их на дачу, например. Организовав бекапы подобным образом, можно спать спокойно.
Восстановление
Затронув тему сохранения информации, нельзя не сказать о ее спасении в случае чего. По сути есть две причины потери информации: физическое и программное повреждение носителя.
Физическое повреждение в свою очередь может затрагивать зоны хранения информации, а может и не затрагивать. В случае, если зоны хранения не затронуты, диск теоретически ремонтопригоден, в этом классические HDD дают нехилую фору SSD - при должном умении можно вынуть блины и вставить их в аналогичный жесткий диск. Если же блины повреждены, то с диском можно попрощаться. Теоретически, при неглубоких повреждениях данные еще можно считать, однако это уже сфера спецслужб, и то не всех.
Программное же повреждение может быть вызвано огромным количеством причин (случайное удаление, сбой файловой системы и т.д.), но главное, что в большинстве из них данные сравнительно легко восстановимы. Суть в том, что файлы никуда с компьютера не деваются, просто при удалении ячейки памяти, ранее отведенные под программу, помечаются как свободные, но сами байты остаются на своих местах. Со временем при необходимости поверх записываются новые данные, поэтому важно в случае случайного удаления информации сразу же останавливать все операции, связанные с диском. Если диск системный, лучше всего воспользоваться другой операционной системой на другом диске, например, используя Life-CD какого-нибудь Линукса или другой компьютер, запустить программу восстановления (мне нравится
Testdisk за открытость и кроссплатформенность, но простому пользователю лучше воспользоваться чем-нибудь с графическим интерфейсом, вроде
EasyRecovery). По обратному принципу работают шредеры данных: программы, навсегла удаляющие секретные данные. Они поверх удаляемых данных несколько раз записывает случайные данные.
Помимо этих двух, существуют еще повреждения магические: однажды у друга пропали несколько папок с внешнего жесткого диска, после этого он сразу пришел ко мне, я два дня гонял его по всем восстановлялкам, но папок так и не нашел. Мистика. Именно поэтому нужны бекапы.