Створення знімка системи Linux


11

Я хочу зробити наступне - Зберегти поточний стан моєї ОС Linux (centOS6.5). Зробіть деякі зміни (точніше введіть помилку і протестуйте якусь службу, щоб перевірити, як вона поводиться, коли трапляється конкретний тип несправності.) Потім відновіть систему до збереженого стану. Я не в змозі зрозуміти, як це зробити в системі Linux. У мене є машина з centOS 6.5 з файловою системою ext4. Також це фізичний сервер, а не віртуальна машина.

Якісь ідеї чи пропозиції?


Фізичний сервер чи віртуальна машина?
steve

1
Я рекомендую запустити вашу ОС на такому програмному забезпеченні для віртуалізації, як VirtualBox. Він чудово підтримує знімки.
yaegashi

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

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

Відповіді:


8

Я б простий і клонував його. Завантажте живу систему з USB (найлегше - це Ubuntu з USB-накопичувача, я вважаю), а потім перевантажте ваш жорсткий диск на інший розділ (або зовнішній жорсткий диск тощо), наприклад

dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1

де вам потрібно замінити /dev/sda1свій root ( /) розділ. Зробіть те ж саме з іншими розділами (наприклад, один для /boot, /boot/efi, /home) , де це може бути застосовано.

Якщо вам потрібно заощадити місце, ви могли б зробити

dd if=/dev/sda1 bs=64M | gzip --fast | dd bs=32M of=/mnt/my_mounted_backup_drive/backup-sda1.gz

або, що складніше, набагато повільніше, але економлять ще кілька байт,

mkdir -p /mnt/linux
mount -o ro /dev/sda1 /mnt/linux
cd /mnt/linux
tar cvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz .??* *

Потім можна відновити навпаки, наприклад

mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
cd /mnt/linux
tar xvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz

або

dd /mnt/my_mounted_backup_drive/backup-sda1.gz bs=32M | gzip --decompress | dd bs=64M of=/dev/sda1

(обережно, де ви записуєте свої дані. Це видаляє все /dev/sda1, тому вперше зрозумійте це :-)


PS: Якщо ви очікуєте, що щось піде не так, резервне копіювання таблиці розділів dd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda. Під час відновлення потрібно бути обережним, щоб сюди не записати занадто багато блоків на диск - не можна сказати скільки, не дивлячись на ваш макет розділу. Відновіть до (не включаючи) блоку, де починається ваш перший розділ відповідно до gdiskабо fdisk.
Ned64

5

Ви можете використовувати rsync для резервного копіювання всієї системи.

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

Там це величезна стаття на Arch Linux Wiki про це


Це зовсім короткий варіант, який є найкращим варіантом для мене. Звичайно, якщо у вас немає, rsyncви можете використовувати те, ddщо я використовую для резервного копіювання своїх накопичувачів usb.
м3нда

3

Як щодо використання rsync або rsnapshot для резервного копіювання локальної машини? Після того, як тест буде зроблено, просто відновіть резервну копію.

http://rsnapshot.org/

http://www.mikerubel.org/computers/rsync_snapshots/

Аналогічно можна використовувати LVM:

http://www.tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html


1

Ви можете використовувати FSArchiver , який збереже вміст файлової системи в стислий файл і відновить файлову систему при витягуванні даних.

Ось приклад з документації :

fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1

Ви також можете використовувати багатопотокове стиснення, і відновлення просте:

fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1

-1

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

mount DIR DIR

Щоб відновити цей стан, змініть корінь файлової системи з каталогу, вказаного в команді mount.

umount DIR

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.