Оптимізація резервного копіювання

Відомо що чим більше нулів у вихідному наборі даних, тим менший розмір архіву містить даний набір.

Подивіться наприклад на архіви порожніх файлів, які використовуються як файл підкачки в coLinux.

Файл розміром один гігабайт (1073741824 Байт) упаковується в архів розміром 821 байт!

Тому для того щоб скоротити розмір файлу дампа необхідно заповнити порожнє місце нулями.

Вільне місце можна заповнити нулями такими шляхами:

  1. Створити один великий порожній файл за допомогою спеціальних інструментів
  2. Заповнити вільний простір копіями попередньо створених порожніх файлів.
  3. Використання спеціальних утиліт обробки потоку

Інструменти для створення порожніх файлів

fsutil file createnew

  • 64M: 67108864
  • 128M: 134217728
  • 256M: 268435456
  • 512M: 536870912
  • 1024M: 1073741824

contig із набору Sysinternals (Windows NT 4.0 і далі) [http://technet.microsoft.com/ru-ru/sysinternals]

contig-v-n

Створюється дефрагментований файл на етапі створення.

dd (Cygwin, Linux)

dd if=/dev/zero of=bs= count=

Розмір файлу = буфер (1024,2048) * кількість операцій

Для збільшення швидкості рекомендується використовувати розмір буфера рівний 2048, проте можна експериментально підібрати інший більш бодхідний розмір залежно від конкретного обладнання.

Приклад файлу розміром 1GB:

dd if=/dev/zero of= bs=2048 count=512K

Утиліти обробки потоку

Дані утиліти використовуються для копіювання тільки використовуваних блоків, блоки, що не використовуються, замінюються нулями.

Увага: Настійно не рекомендуєтьсявикористовувати дані утиліти, оскільки їх використання підвищує ризик втрати даних під час копіювання. Використання порожніх файлів і утиліт заповнення нулями разом з dd є кращим!

Утиліти заповнення вільними нулями для Windows

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

sdeleteвід Sysinternals - Вільне місце розділу заповнюється нулями

sdelete -c c:\

Декілька слів про сміття

Windows на відміну від Linux не зберігає віртуальну пам'ять в окремому розділі, внаслідок чого дамп розділу Windows може містити сміття, що може збільшити розмір дампа. Для того щоб позбавитися від сміття у файлі дампа рекомендується перенести файли підкачування на інший розділ, який не дампиться.

Для налаштування розміщення файлів підкачки викликаємо відповідне вікно:Панель керування -> Система -> Додатково -> Швидкодія -> Додатково -> Віртуальна пам'ять.

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

1. Резервна копія головного завантажувального запису:

dd if= таof=mbr.backup bs=512 count=1

2. Резервна копія таблиці розділів диска

sfdisk -d /dev/sdb > partitions

3. Здійснюємо дамп розділу Windows

dd if=bs=2048 gzip dd of=bs=2048

bs - розмір буфера (рекомендується 2048 для прискорення), на якість не впливає gzip - найшвидший архіватор має закінчуватися на .gz у разі використанняgzip

Примітка: Як тимчасове сховище резервних копій може використовуватися мережна папка. Як транспорт може використовуватися SSH-тунель, мережевий каталог NFS або CIFS(SMB). Для довгострокового зберігання рекомендується записувати дампи на оптичні диски в кількох екземплярах та зберігати у різних місцях.

Відновлення

1. Завантажувальний запис

dd if=mbr.backup of=

2. Відновлення таблиці розділів диска

sfdisk -f /dev/sdb -O partitions.save bs=2048 gunzip dd of= bs=2048

4. Форматування додаткового розділу підкачки, що використовується файлами

mkfs.ntfs -Q

5. Перевіряємо завантаження системи та розміщення файлів підкачки.

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

Моніторинг

Для того щоб контролювати процес резервного копіювання, можливе відправлення сигналів процесам утиліті dd.

Отримуємо перелік процесівps aux grep dd

Отримуємо інформацію про процесkill -USR1

Висновок

Виходить так, що вміння працювати з резервними копіями з Linux Live CD дозволяє досягти бажаних результатів без необхідності придбання закритого програмного забезпечення для Windows. Таким чином у випадках, коли немає погоні за юзабіліті, Linux перетворюється на цінний інструмент системного адміністратора.

Увага: Незначна помилка може призвести до втрати даних, будьте пильні!