Андрій Грачов

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

Очевидно, що немає ні абсолютно безпомилкових програм, ні абсолютно надійних комп'ютерів, ні людей, які не припускаються помилок. Отже, зробити абсолютно надійну ІС (в тому сенсі, щоб розробники та експлуатаційники могли гарантувати бессбойную і безпомилкову роботу ІС протягом декількох років) неможливо. Тому, кажучи про збереження інформації в ІС слід говорити про такі поняття, як середній час простою в рік, ймовірність збою, час відновлення працездатності системи після збою і т.д. У будь-якому з цих випадків обов'язковим є вимога зберегти всю інформацію або, в крайньому випадку, мінімізувати втрати інформації.

Розглянемо питання збереження інформації більш детально. Перш за все, виділимо основні причини, за якими інформація може бути втрачена:

1. Відмова устаткування. Наприклад, в системі харчування твердого диска сталося коротке замикання і від нагрівання був зіпсований сам носій. До помилок подібного роду варто віднести і помилки в системному ПО (в операційній системі або СУБД).

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

3. Помилка персоналу. Адміністратор може зробити опечатку і замість нового, тільки що вставленого в систему жорсткого диска, відформатувати старий диск з важливими даними. Сюди ж варто віднести і навмисне знищення інформації.

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

Розглянемо принципові достоїнства і недоліки постійного дублювання даних і архівації. Потім розглянемо основні способи постійного дублювання та архівації.

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

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

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

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

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


Технології постійного дублювання

Ядром будь-якої ІС є апаратна частина, системне програмне забезпечення (ОС), система управління базами даних (СКБД) і прикладне програмне забезпечення. Відповідно, і постійне дублювання може проводитися на рівні апаратури, на рівні ОС, на рівні СУБД і на рівні прикладної системи. Рівень прикладної системи розглядатися далі не буде.

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

Повне дублювання комп'ютера (це дозволяють, наприклад, кластери) забезпечує істотно більшу надійність, ніж дублювання тільки дисків. Однак, таке рішення вимагає спеціальної додаткової (і дорогої!) Апаратури, а також спеціальних розширень ОС. Не всяка апаратура і не всяка ОС дозволяють реалізувати схему з дублюючим комп'ютером. Саме вартість є головним стримуючим фактором в широкому поширенні цього рішення.

Як правило, зберігання даних в ІС забезпечує СУБД. Дуже зручним способом забезпечення постійного дублювання змістовних даних явяляется дублювання вмісту баз даних. Informix Dynamic Server підтримує таке дублювання двома способами - через установку одного з серверів БД в режим гарячого резерву та через реплікацію тільки потрібних даних.

Установка одного сервера БД в режим гарячого резерву (фірмову назву такій конфігурації - HDR, або High-Availability Data Replication - реплікація високої доступності) передбачає наявність двох ідентичних комп'ютерів з ідентичними серверами БД. Один з серверів БД (первинний сервер) працює в режимі читання / запис, другий сервер (вторинний) - тільки в режимі читання. Первинний сервер в синхронному або асинхронному режимі передає на вторинний сервер все зміни. За рахунок того, що сервера ідентичні, забезпечується висока швидкість передачі змін, легкість настройки і висока надійність. При виході первинного сервера з ладу, вторинний може взяти на себе всі його функції. Більш того, за рахунок того, що вторинний сервер може працювати в режимі читання, використання такої конфігурації дозволяє підвищити загальну продуктивність системи.

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

Так само як і постійне дублювання, архівація даних може здійснюватися на рівні апаратури, на рівні ОС, на рівні СУБД і на рівні прикладної програми.

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

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

Можливо ще створення архівів шляхом архівації окремих файлів на диску. Однак даний спосіб ні гарантує цілісність даних, ні зручний з точки зору відновлення.

Сучасні сервера баз даних, зокрема Informix Dynamic Server, надають розвинені і зручні засоби створення архівних копій даних. Подібні архіви можуть створюватися без припинення доступу користувачів до ІС, хоча, природно, деяке уповільнення можливо - адже обчислювальні ресурси витрачаються. І, що найголовніше, при такому архівування сервер сам забезпечує цілісність і коректність даних в архіві. Архівація даних на рівні сервера СУБД, спільно зі створенням архіву ОС і прикладної системи, і має розглядатися як правильна стратегія створення архівних копій1.


Так як же забезпечити збереження даних?

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

Щодо дешеве рішення задачі постійного дублювання даних може бути забезпечено установкою сервера бази даних в режим гарячого резерву. Це відносно недороге, але ефективне рішення (варто зауважити, що в цьому випадку ліцензійна політика Informix Software не вимагає покупки додаткових ліцензій).

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

(10/27/97, ​​pg. 42, Clinton Wilder)