Альтернатива - LVM Snapshots - Про знімки LVM ви можете прочитати тут:
http://www.tutonics.com/2012/12/lvm-guide-part-2-snapshots.html
Коротше кажучи - знімки - це спосіб заморожування використовуваних секторів на жорсткому диску, що дозволяє системі записати будь-яку зміну / видалити / додати на зарезервовану частину жорсткого диска, що називається томом знімка, тим самим відкласти рішення про збереження / відмінювання змін на приводі до деякого майбутнього часу, наскільки це забезпечує простір гучності знімків. Отже, як тільки ви вирішите відкатати зміни (або зберегти їх), ви можете зробити це одним рядком.
Спочатку це може здатися складним, але я можу запевнити, що після перших зусиль все, що потрібно для використання механізму знімка, - це лише 2 рядкові сценарії (завантаження передбачено!)
Гарантія - жодних гарантій, що раніше надані для наведених нижче інструкцій. Використовуйте на свій страх і ризик!
Як?
Якщо у вас немає заздалегідь налаштованої групи томів, можливо, вам доведеться встановити свіжий чистий Ubuntu. Тоді вам доведеться докласти певних зусиль для правильної настройки системи вперше, але з цього моменту знімок стане без зусиль . І без особливих зусиль я маю на увазі одну команду вкладок, використовуючи попередньо налаштовані сценарії.
- Завантажте живий cd ubuntu (ще не встановлено .. просто живий cd)
- Відкрийте аксесуари -> Термінал
Ми будемо очищати жорсткий диск! Перед тим, як пройти цей етап, створіть резервну копію будь-якого важливого.
Спочатку видалимо існуючі розділи:
# fdisk /dev/sda
Enter 'd' to delete - enter for as many partitions you have
> d
> <enter>
...
Enter 'w' to write down changes
> w
Створіть завантажувальний розділ та решту диска як інший розділ
# fdisk /dev/sda
> n
To create a new partition.
> p
For Boot Primary partition.
> 1
Press <enter> to accept the default start sector.
Enter:
> +512M
To give the boot partition a size of 512MB
> n
To create (another) new partition.
> p
Should be Primary too.
> <enter>
To accept the default value of 2 (the second partition)
> <enter>
To accept the default start sector
> <enter>
To accept the whole disk
> t
To change the type of the second partition to LVM
> 2
To choose the second partition
> 8e
To set the type to 'LVM Linux'
> w
To write changes and exit.
Щоб перевірити, чи працювали зміни:
# fdisk --list
Ви повинні отримати щось подібне:
Device Boot Start End Blocks Id System
/dev/sda1 2048 524287 261120 83 Linux
/dev/sda2 524288 488397167 243936440 8e Linux LVM
Видаліть усі попередні групи томів / логічні томи:
# lvdisplay
Відобразять логічні томи, які ви можете мати у системі
# lvremove <existing_logical_volume_name>
Якщо будь-яку інсталяцію обсягу, яка може заважати цій установці, потрібно видалити.
# vgdisplay
Показує будь-яку наявну групу гучності в системі
# vgremove <existing_volume_group>
Те саме, що і для груп томів.
Створіть групу томів 'vgsnap'
# vgcreate vgsnap /dev/sda2
Повинно бути результатом:
Volume group "vgsnap" successfully created
Створіть логічний том
# lvcreate --extents 100%FREE --name lvroot vgsnap
Логічний об'єм кореня, починаючи з 100% пристрою.
# lvresize --size -30G /dev/mapper/vgsnap-lvroot
Це займе 30G для обміну та знімків. Звичайно - ви можете вибрати менші розміри для своп / знімка.
> 'y'
for the warning shown.
І створити об'єм swap:
# lvcreate --size 15G --name lvswap vgsnap
Примітка: ми залишаємо зараз 15 Г невикористаного дискового простору, зарезервованого для майбутнього знімка.
Встановлення Ubuntu
Закрийте термінал і запустіть інсталятор.
Виберіть "Використовувати LVM ..." (Ви також можете увімкнути шифрування всього диска, але я не перевіряв його.)
Виберіть "Щось інше" та натисніть кнопку "Продовжити". На цьому етапі ви знайдете визначений обсяг / dev / mapper / ... томів. Деякі з них генеруються автоматично (lvsnap- *) - їх зараз можна ігнорувати.
Виберіть: / dev / mapper / vgsnap-lvroot volume. Виберіть "ext4" як формат і монтуйте як "/"
Виберіть: / dev / mapper / vgsnap-lvswap том і оберіть "swap area"
Якщо ви маєте створити зашифрований диск (я не маю поняття, чи не працювало б це на знімках?), Ви, ймовірно, захочете вибрати / dev / sda2 та позначити "том для шифрування". Не перевіряв, хоча ..
Примітка. Невикористані 15G залишаються вільними для обсягу знімка.
Виберіть: / dev / sda1 розділ. Відформатуйте його як 'ext2' та змонтуйте як «/ boot»
Нижче - виберіть: / dev / sda1 розділ як завантажувальний
Встановити!
Використання знімка
Наступні кроки покажуть, як використовувати знімок у будь-який момент часу:
Монтаж знімка:
Створіть гучність знімка
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
Створіть каталог монтажу
# mkdir /mnt/vgsnap-lvsnap
Зробіть знімок як кріплення, доступне лише для читання
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
Знімок увімкнено!
У цей момент ви можете почати псувати свою систему, встановлювати бета-версію драйверів і навіть (Ні! Це просто недоречно).
Відтепер ви можете в будь-який час (наскільки надає розмір знімка ..) повернутися до попереднього стану, або, якщо будете задоволені новим виглядом - зберегти його.
Автоматичний моніторинг обсягу вільного обсягу дискового простору: Використовуючи виправлену версію сценарію, надану тут:
http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/
Я створив сценарій monitor_snapshot .
Як використовувати / встановити його? - Приблизно як за посиланням вище:
# cd /etc/cron.hourly
# copy /home/<user>/Downloads/monitor_snapshot
# chmod +x monitor_snapshot
Перш ніж запустити його вперше, ви краще відредагуйте в ньому значення, такі як електронна адреса (куди надсилатимуться повідомлення тощо). Якщо правильно налаштовано, демон cron буде виконувати скрипт кожні X годин / дні - як ви вирішите - і повідомлять вас, коли знімок вже буде заповнений.
Щоб перевірити запуск сценарію:
# sh /etc/cron.hourly/monitor_snapshot
На знімку буде надруковано відсоток (кількість) вільного місця.
Важливо! Після того, як ви закінчите свої тести / установки - відкат або збережіть зміни - і зробіть знімок!
Відновлення змін: (Див. Сценарій rollback_snapshot , із наведеними нижче інструкціями, посилання в кінці документа)
# lvconvert --merge /dev/vgsnap/lvsnap
Це також зніме знімок, але відкине будь-які ваші зміни. Також - Ви побачите попередження, яке дозволяє припустити, що відновлення відбудеться лише після наступної активації, тому:
# reboot
Примітка. Якщо ви пропустите злиття, ваші зміни будуть здійснені, коли ви зробите знімок.
Внесення змін - підрахунок знімка: (Див. Скрипт commit_snapshot , із наведеними нижче інструкціями - посилання в кінці документа)
# umount /mnt/vgsnap-lvsnap
Will unmount (commit0 the snapshot
# lvremove /dev/mapper/vgsnap-lvsnap
# rm -rf /mnt/vgsnap-lvsnap/
# rm /etc/cron.hourly/monitor_snapshot
Remove the cron daemon script (that is unused)
Повторне встановлення знімка: (Див. Сценарій ремонта , із наведеними нижче інструкціями - посилання в кінці документа) Приблизно, як і раніше:
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
# mkdir /mnt/vgsnap-lvsnap
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
Якщо ви зберегли monitor_snapshot у своєму домашньому режимі, його можна відновити назад:
# cp /home/<user>/monitor_snapshot /etc/cron.hourly/
# chmod +x /etc/cron.hourly/monitor_snapshot
Це все, шановні! Наступні вказівки призначені лише для квітерів;)
Відмова від гучності знімка (якщо більше не потрібно)
# rmdir /mnt/vgsnap-lvsnap
# lvremove /dev/vgsnap/lvsnap
(Ви також можете змінити розмір кореневого розділу або своп, щоб зайняти відсутній 15G, зарезервований для swap)
Відмова від групи томів - можлива лише шляхом видалення томів групи томів, що, ймовірно, означає видалення установки ОС. Але, звичайно, немає необхідності видаляти групу томів ...
Щоб видалити групу гучності:
# vgremove vgsnap
Важлива примітка! - форматування / запуск fdisk та видалення всіх розділів НЕ видалять томи, ані групу, оскільки вони написані на іншій частині накопичувача ... Отже, просто використовуйте інструкції з видалення, наведені вище, та видаліть томи та групу, якщо потрібно.