Як я можу створити / відновити знімок зображення всього мого диска в Linux?


14

Я занадто зіпсований утилітами Windows, які роблять цифровий знімок всього вашого накопичувача, який ви зможете відновити в разі аварії диска. (наприклад, як Time Machine для Mac OS X).

Чи є подібний спосіб зробити це в Linux?


1
Я вважаю, що ваш зіпсований в Windows той самий спосіб, коли користувачі Linux зіпсували насправді наявність системних утиліт. :)

Відповіді:


13

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


6

PartImage працює з командного рядка або як текстовий графічний інтерфейс. Він має одну важливу перевагу перед DD:

Partimage буде копіювати дані лише з використаних частин розділу. Для швидкості та ефективності безкоштовні блоки не записуються у файл зображення. Це на відміну від команди 'dd', яка також копіює порожні блоки.


6

Ви можете просто зробити " dd if=/dev/sda of=/path/to/target/backup", якщо знаєте, що у вас є кімната, де ви намагаєтесь розмістити її. Ви також можете " dd if=/dev/sda | bzip2 > /path/to/target/backup" натиснути на ходу. Це може зайняти певний час.

Або ви можете зробити " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup" користувача як користувача, який має всі необхідні дозволи на читання. Візьміть свій вибір.

Додаток: Нещодавно я придбав новий ноутбук, попередньо встановлений із Vista. Я подумав, що хочу десь зберегти вигляд, на випадок, якщо я захотів спробувати його в якийсь момент, тож коли я вперше завантажив комп’ютер (з linux livecd), зробив це:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Це було, звичайно, в локальній мережі. Інакше було б доцільніше стиснути перед передачею:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Сподіваюся, ви знайдете щось із цього корисного.

Правка: На жаль. Змінено bbна dd...


1
Це також не включатиме завантажувальний сектор? Це завжди заплутало мене під час використання partimage для резервного копіювання диска Windows.

greg, воно буде включати все, включаючи будь-який стіл розділів і mbr
Йоганнес Шауб - litb

4

Я використовую дворазову стратегію: №1 - це знімки LVM, а номер два - rsnapshot , який я використовую для створення резервних копій на час на спеціальному зовнішньому диску жорсткого диска. Зовнішній накопичувач жорсткого диска розміщений так, що я можу легко витягнути його на виході у двері, якщо трапиться щось погане. Я не використовую (поки що) механізм, що не є веб-сайтом, окрім періодичного запису знімків на серію зашифрованих DVD-дисків та доставку їх до місця друга в інше місто для зберігання.

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


3

Кілька. Є старомодна дд (1) , яка є своєрідною таємницею; є дамп (8) і відновлення (8) ; навколо є кілька продуктів з відкритим кодом, як-от Amanda ; і якщо ви хочете, ви можете встановити ZFS і використовувати сценарій cron, щоб робити періодичні знімки, що дає вам щось фактично ідентичне тимчасовій машині (див. веб-журнал Тіма Фостера.)

У Вікіпедії є стаття зі списком безлічі варіантів .


2

Якщо ви хочете створити резервну копію на рівні файлів, наприклад машину часу, то я дуже рекомендую rsnapshot, як запропонував Норман .

Якщо ви хочете отримати повне резервне копіювання зображень та відновити тип рішення, як Нортон-привид, я знайшов CloneZilla, щоб він працював досить добре. Я завантажую живий компакт-диск, а потім використовую іншу машину як SSH-сервер для резервного копіювання / відновлення зображень (и) в / з.

(Мені навіть вдалося змусити живу версію працювати за допомогою завантажувача PXE для старого ноутбука планшета, у мене не було CD-накопичувачів і не завантажувалося USB, але це було багато химерності.)

І ви можете використовувати його і для віконних машин.


1

Мене завжди хвилювало використання дд, коли накопичувачі були різного розміру. Або мали різну кількість головок / секторів / доріжок / тощо.

dd дуже корисно при знімку та перепрошиванні одного і того ж накопичувача. Особливо USB-накопичувачі або перегородки Windows. Але, переходячи від 500Meg до 1500Meg накопичувача, я хвилююся.

Крім того, коли мій накопичувач виходить з ладу, мені подобається використовувати його як привід для оновлення до нової ОС.


Все, що сказано, добрий старий дьоготь робить хорошу роботу! GNU-tar включає в себе файли diff-tar-спрямо-файлів , лише-update-файли, які-небудь змінили , і only-archive-files-no-no-date .

(Я мушу зазначити: я кілька років тому зіткнувся з помилкою, яка вимагала від мене завантажити та встановити нову версію GNU-tar . (Щось стосується дуже довгих імен та декількох томів.) Немає нічого серйозного. Просто пам’ятайте це завжди варіант.)

Ймовірно, ви повинні виключити / proc , / sys і, можливо, / var / log / lastlog або / mnt . (Я зазвичай створюю резервну копію на зовнішній накопичувач, встановлений під / mnt . Резервне копіювання - не дуже добре!)

Включення / dev може бути корисним. gnu-tar буде правильно працювати з пристроями ( mknod ). Хоча ви, ймовірно, не будете використовувати резервну копію / розробник під час відновлення. (Іноді приємно бачити, які дозволи та посилання ви створили раніше.)

Крім того , ви можете скинути FDisk і оборотів в хвилину дані , перш ніж резервне копіювання. Напр

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

А також встановлення будь-яких "необов'язкових" файлових систем, встановлених користувачем .


1

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

По-перше, створіть образ хорошої робочої системи. Зробіть це як корінь.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Резервне копіювання зображень ядра

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Завантажте машину, на якій потрібно розгорнути зображення, за допомогою живого CD / gentoo CD. Встановіть цей жорсткий диск і розділіть його відповідним чином:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Додайте файлові системи

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Монтувати приводи:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Скопіюйте файл hostname.tgz на цю машину.

Витягніть його в корінь нової машини / mnt / new_root

# tar -xzf hostname.tgz

Chroot в нове середовище.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Перевірте /boot/grub/grub.conf та / etc / fstab

Налаштування роботи на жорсткому диску:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Вийдіть і вимкніть диски, перезавантажте машину.


0

Ви можете робити знімки в Linux за допомогою логічного диспетчера томів LVM.


1
Якщо ви використовуєте LVM, це не обов'язково. Якщо так, то так, це був би хороший варіант howtoforge.com/linux_lvm_snapshots
Gavin H
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.