понедельник, 21 ноября 2011 г.

Резервное копирование и удобное восстановление данных

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

Итак, на каждом компьютере будет храниться локальный бэкап. На специальный сервер резервного копирования будут собираться все бэкапы по средством стандартных протоколов (в плане SSH). Доступ к локальному бэкапу будет производиться по средствам протокола... FTP! Такой подход позволяет нам легкое восстановление данных стандартными средствами, такими как FileZilla или стандартный веб-браузер. Выглядеть это должно примерно так. Запускаете FTP-клиент, заходите на локальный компьютер, видите папку с названием вашего компьютера, заходите в нее, там перечислены года, далее месяцы, далее числа, время, и на конец, диск С:, диск D:, диск E: и т.д. К примеру вот такой путь:

/viktor/2011/11/21/13:04/C:/Documents and Settings/Виктор/Рабочий стол/Очень важный документ.doc

Храниться бэкапы будут примерно по той же технологии, как это было сделано в GIT. Для каждого файла вычисляется хэш SHA1, и файлы будут упаковываться архиватором GZIP (или BZIP2, или LZMA), имена этим архивам будут присваиваться с соответствии с вычисленным хэшем. Таким образом, если между двумя процессами резервного копирования файлы изменились не значительно или не изменились вовсе, то в бэкап будут уложены только изменившиеся файлы, повторов не будет. Так же  дубликаты файлов (даже если они под разными именами) будут храниться в одном экземпляре. Благодаря этому, хранилище не будет разрастаться до фантастических размеров с огромной скоростью. Чтобы сохранить информацию об имени файлов, их размере, дате модификации, будут сформированы специальные мета-файлы в процессе каждого резервного копирования. Именно по этим файлам будет строиться виртуальная файловая система нашего FTP-сервера. 

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

Вот такая у меня идея. Буду надеяться, что у меня хватит времени реализовать её в жизнь.

1 комментарий:

  1. Витя у тебя Светлая голова и золотые руки(ты уник.человек)таких мало,а ещё ты молодец что не отказываешь людям в информации за которую другие берут деньги!

    ОтветитьУдалить