Как я могу использовать снимки LVM в Ubuntu?

19

Я установил Ubuntu, используя эти параметры:

  • Стереть диск и установить Ubuntu
  • Зашифруйте новую установку Ubuntu
  • Используйте LVM

Как я могу создать снимки LVM, чтобы я мог отменить системные изменения, когда это необходимо?

Александр Горносталь
источник

Ответы:

22

Примечание: все команды должны быть сделаны из sudo

Во-первых, уменьшите размер корневого тома, чтобы освободить место для тома снимка

  • Загрузка с Live CD
  • fdisk -l чтобы увидеть название вашего устройства.
    Размер устройства Начало Конец Секторы Тип
    / dev / sda1 2048 1050623 1048576 512M EFI System
    / dev / sda2 1050624 2050047 999424 488M Файловая система Linux
    / dev / sda3 2050048 500117503 498067456 237,5G Файловая система Linux
    
    /dev/sda3 в моем случае
  • cryptsetup luksOpen /dev/sda3 crypt1 расшифровать ваш объем
  • vgscan --mknodes найти все группы томов
    Чтение всех физических томов. Это может занять некоторое время ...
    Найдена группа томов "ubuntu-vg" с использованием типа метаданных lvm2
    
  • vgchange -ay активировать все ваши группы томов
    2 логических тома в группе томов "ubuntu-vg" теперь активны
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootуменьшить размер корневого тома на 20 Гб. Это может занять некоторое время (у меня это заняло ~ 4 минуты).
    Это пространство будет позже использовано для создания снимков LVM.
  • vgs чтобы увидеть, что вы на самом деле получили 20G свободного места
    VG #PV #LV #SN Attr VSize VFree
    Ubuntu-VG 1 2 0 WZ - N - 230,44 г 20,01 г
    
  • reboot и удалите Live CD

Создать снимок (т.е. активировать режим «эксперимент»)

Теперь, когда вы хотите сделать что-то рискованное с вашей системой, выполните следующую команду

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    Примечание: /dev/ubuntu-vg/rootэто логический том, для которого вы хотите сделать снимок
  • lvs чтобы увидеть, что объем был создан
    LV VG Attr LSize Исходные данные пула% Meta% Журнал перемещения Cpy% Синхронизация
    root ubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00g root 0.00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90g
    
    Снимок активен с момента запуска lvcreate. Теперь вы можете начать экспериментировать с новыми вещами.

Сценарий № 1: вы хотите отменить изменения

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    Логический том ubuntu-vg / root содержит используемую файловую систему.
    Не удается объединить объем открытого источника.
    Слияние снимка ubuntu-vg / snap произойдет при следующей активации ubuntu-vg / root.
    
  • reboot

Сценарий № 2: Вы хотите сохранить изменения

  • lvremove /dev/mapper/ubuntu--vg-snap

В заключение

Вы должны запустить, lvcreateчтобы запустить процесс, а затем запустить lvconvert --mergeили lvremoveзавершить его.

Имейте в виду, что когда снимок активен, благодаря стратегии копирования при записи все изменения сохраняются в эти 20 ГБ пространства (или любое другое заданное вами значение). Один из способов проверить оставшуюся емкость - посмотреть на столбец Data% lvsкоманды.

Александр Горносталь
источник
Рад слышать :) Спасибо @ cl-netbox
Александр Горносталь
Вам не нужно сокращать файловую систему, прежде чем запускать lvreduceее контейнер?
Отметить
@Mark -rфлаг делает это
Александр Горносталь
Безопасно ли запускаться lvconvert --mergeпри монтировании файловой системы или вам нужно делать это с LiveCD?
CharlesB
1
@CharlesB да, вы должны запустить его, когда он смонтирован
Александр Горносталь