Введення в Дедуплікація даних


В області забезпечення безперервності бізнесу існує багато різних проблем, пов'язаних з швидким зростанням даних в сучасних IT інфраструктурах. На мій погляд, можна виділити дві основні:








  • Як запланувати місце для зберігання великого обсягу даних
  • Як зробити резервну копію цих даних

    Дедуплікація


    У широкому сенсі, існує два основних види дедуплікаціі:


    • File-level deduplication (дедуплікація на рівні файлів) - одиницею дедуплікаціі в даному методі, як нескладно зрозуміти, є окремий файл, коли дублюючі файли виключаються з системи зберігання даних. Коли говорять про дедуплікаціі на рівні файлів, часто також згадують технологію Single-Instance Storage (SIS).
    • Block-level deduplication (блокова дедуплікація) - тут одиницею дедуплікаціі є блок даних довільної довжини, який часто повторюється в різних логічних об'єктах системи зберігання даних.

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

    Звучить чудово! Але тільки до того часу, поки файли абсолютно ідентичні. Якщо один з ідентичних файлів буде змінений хоча б на байт, буде створена його окрема змінена копія і ефективність дедуплікаціі знизиться.

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

    Області застосування дедуплікаціі


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

    Скорочені відсотки і великі надії


    Відсоток збереженого місця на диску - найбільш важлива область, якої легко маніпулюють, кажучи про в "95% зменшенні розмірів файлів резервного копірованія”. Однак, алгоритм, який використовується для підрахунку цього співвідношення, може бути не цілком релевантним до вашої конкретної ситуації. Першу змінну, яку слід взяти до уваги, - це типи файлів. Такі формати, як ZIP, CAB, JPG, MP3, AVI - це вже стислі дані, які дають менший коефіцієнт дедуплікаціі, ніж стиснені дані. Не менш важлива частота зміни даних для дедуплікаціі і кількість архівних даних. Якщо ви використовуєте продукт, який дедупліцірует існуючі дані на файловому сервері, то не варто переживати. Але якщо дедуплікація використовується, як частина системи резервного копіювання, то потрібно відповісти на наступні питання:

    Час - наше все


    Говорячи про дедуплікаціі в системах резервного копіювання, нам важливо знати, як швидко вона виконується. Існує три основних типи дедуплікаціі:








    • source (на стороні джерела даних);
    • target (або «пост-обробка дедуплікаціі»);
    • безперервна (або «транзитна дедуплікація»);

    Перший тип: Дедуплікація на стороні джерела даних


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


  • Перша проблема в тому, що тут задіяні ресурси вихідної машини. Тому потрібно переконатися, що у неї є достатньо ресурсів процесора і оперативної пам'яті. Немає ніякої розумної причини виконувати Дедуплікація на вже навантаженому поштовому сервері. Звичайно, деякі виробники говорять про легкість їх рішень, але це не скасовує той факт, що ефективність роботи вихідної середовища буде порушена, і це може бути неприйнятним.
  • Друга проблема - де краще зберігати хеш-таблиці? Можна розташовувати хеш-таблиці на тому ж source-сервері, або на централізованому сервері в мережі (це необхідно зробити у разі, якщо застосовується глобальна дедуплікація), проте таке рішення створює додаткове навантаження на мережу.
  • Незважаючи на свої мінуси, source дедуплікація має своє право на застосування, наприклад, в компаніях з малим розміром ІТ-інфраструктури, де в інфраструктурі кілька серверів, нераціонально використовувати глобальну Дедуплікація.
    Target (або пост-процессная) дедуплікація


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

    Однак цей варіант не вирішує всі проблеми. Є деякі моменти, які повинні бути прийняті до уваги.

  • Перше - залежність від вільного місця. Якщо у вас велика інфраструктура, то розмір необхідного місця може бути дуже великим.
  • Також другий недолік target дедуплікаціі - вимогливість до дискової підсистеми сховища. Зазвичай дані повинні бути записані на диск сховища перед розбивкою на блоки, і тільки потім починається процес хешування і дедуплікаціі. Це робить дискову підсистему вузьким місцем архітектури.
  • Третя вада може бути в тому, що у кожної хеш-функції є ймовірність хеш-колізії. тобто ситуації, коли для двох різних блоків обчислюється один і той же хеш. Це призводить до пошкодження оригінальних даних. Для запобігання необхідно вибирати хеш-алгоритм з мінімальною ймовірністю колізій, що в свою чергу вимагає більшою обчислювальної потужності. Зазвичай, це не проблема, так як для target дедуплікаціі використовується апаратне забезпечення, здатне справлятися з таким навантаженням. Треба сказати, що ймовірність хеш-колізій сучасних хеш-функцій досить мала.
  • Четвертий потенційний недолік в тому, що повний обсяг даних з «продакшн» повинен бути переданий через мережу без створення істотного навантаження на мережу і саму продуктивну систему. Це може бути вирішено використанням нічних або інших менш завантажених годин для системи, або ізолюванням цього трафіку в іншу мережу (що є поширеною практикою в середніх і великих компаніях).
    Транзитна дедуплікація


    Транзитна дедуплікація пояснюється, як процес, що відбувається протягом перенесення даних з source на target. Термін трохи збиває з пантелику. Дані насправді не дедупліціруются «в проводі». Насправді це означає, що дані, зібрані в оперативній пам'яті target пристрої, дедупліціруются там перед операцією запису на диск. Це виводить час пошуку диска з рівняння. Транзитна дедуплікація може розглядатися як найкраща форма target дедуплікаціі. Вона має всі переваги глобального представлення даних поряд з розвантаженням процесу хешування, але жодного з недоліків повільного I / O дисків.

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

    Підбиття підсумків


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

    Корисні матеріали

    Введення в Дедуплікація даних

    s3ql - файлова система на базі хмарного сховища
    Опис За допомогою S3QL ви можете створити файлову систему на базі хмарного сховища Selectel Storage, яку можна змонтувати в будь-якій сучасній версії OS Linux, FreeBSD або Mac OS X. Можливості Прозорість S3QL практично не відрізнити від локальної файлової системи. Вона підтримує hardlinks, symlinks, стандартні системні права

    Введення в Дедуплікація даних

    Введення в Дедуплікація даних

    Введення в Дедуплікація даних







    Схожі статті