Резервне копіювання vs снапшоти


Рано чи пізно всі ми стикаємося з таким неприємним явищем, як втрата даних. Причини можуть бути різними – від виходу з ладу обладнання до збою програмного забезпечення. Наслідки втрати даних можуть бути теж різними - від втрати часу до втрати величезних коштів. Для запобігання втратам даних зазвичай використовуються два інструменти: резервне копіювання і снапшоти (snapshots). У цій статті ми розберемося, у чому різниця між ними.

Резервне копіювання

Інструмент резервного копіювання (backup) у своїй класичній інтерпретації відомий усім. Адміністратор може настроїти резервне копіювання файлів, папок, усієї операційної системи і навіть цілих дискових томів (побічно).

У разі потреби із створеної резервної копії можна відновити дані, операційну систему або навіть весь диск.

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

Потрібно розуміти, що дані постійно змінюються і створена резервна копія застаріває відразу після її створення. Скажімо так, нехай о 7:00:00 ви ініціювали створення резервної копії та о 7:30:00 її було створено. Якщо ви о 7:30:01 ініціюєте відновлення даних, то є величезна ймовірність, що система після відновлення о 8:00:00 все одно не буде такою, якою вона була о 7:30:00 – на момент створення резервної копії. У деяких випадках це не має значення, оскільки потрібно відновити лише вміст файлів даних. У деяких випадках дуже важливо, оскільки будуть втрачені всі дані з моменту створення резервної копії. Все просто: нехай ви створили резервну копію якогось файлу о 7:00, а о 17:00 хтось випадково видалив файл. Ви можете його відновити, але лише станом на 7:00 – всі зміни за 10 годин роботи будуть втрачені.

Робити резервне копіювання занадто часто - теж не вихід, оскільки створення резервної копії вимагає обчислювальної потужності, займає дисковий простір і забиває мережевий канал (немає сенсу робити локальну резервну копію, бекап потрібно зберігати на іншій машині, тому при створенні бекапу генерується мережевий трафік).

Резервне копіювання може бути повним та інкрементним. Інкрементне використовується для економії ресурсів. При інкрементному резервному копіюванні копіюються в повному обсязі дані, лише змінені. Відновити оригінал при використанні інкрементного копіювання можна лише за наявності всього ланцюжка копій.

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

Снапшоти

Навіть якщо ви зробили повну резервну копію всього диска, стан відновлення комп'ютера не буде відновлено повністю під час відновлення з такої резервної копії. Причин тому багато. Найзначніша - резервне копіювання вимагає значного часу і за цей час може бути змінено багато файлів. Тобто резервна копія вже одразу після створення вважається неактуальною.

У деяких ситуаціях потрібно швидко та повністю повернути комп'ютер у той стан, в якому він знаходився у певний момент часу, наприклад, до оновлення або встановлення програмного забезпечення. Таку можливість надають снапшоти (snapshots, "знімки"). За допомогою снапшота, ви можете швидко відкотити комп'ютер до стану, в якому він знаходився на момент створення знімка.

У момент створення знімка віртуальної машини припиняється запис на її диски, а всі наступні дискові операції виконуються в окремому файлі. Саме тому стає можливим записування повного стану комп'ютера на момент створення знімка.

Знімок можна зробити як працюючої машини, так і вимкненою. Але при цьому не обов'язково вимикати машину, якщо вона працює на момент створення знімка.

Що вибрати?

Потрібно розуміти, що бекапи та знімки мають різне призначення. Бекапи використовуються для довгострокового архівування даних, знімки застосовуються для різних експериментів з віртуальним сервером, наприклад коли потрібно застосувати те чи інше оновлення, але ви турбуєтеся, щоб не нашкодити. У цьому випадку створюється знімок, що дозволяє у разі невдалого експерименту повернути все, як було. А для захисту від втрати даних використано резервне копіювання. Тому в ідеалі для захисту від втрати даних та інших неприємностей потрібно використовувати обидва інструменти.