LVM. Снэпшоты: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 19: | Строка 19: | ||
Для этого будет необходимо расширять VG дополнительным разделом | Для этого будет необходимо расширять VG дополнительным разделом | ||
Как это сделать можно узнать в статье [[LVM. Расширение объема раздела LVM за счет другого раздела или диска]] | Как это сделать можно узнать в статье [[LVM. Расширение объема раздела LV за счет второго раздела на том же физическом диске или раздела на другом физическом диске|LVM. Расширение объема раздела LVM за счет другого раздела или диска]] или [[LVM. Расширение объема раздела LV за счет свободного места на физическом диске]] | ||
==Использовать LVM снэпшоты на '''НЕсистемном''' разделе== | ==Использовать LVM снэпшоты на '''НЕсистемном''' разделе== | ||
| Строка 171: | Строка 171: | ||
<code>lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_16--53--41</code> | <code>lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_16--53--41</code> | ||
Merging of snapshot root/root_snap_2021-18-12_16-53-41 will occur on next activation of data/data. | Merging of snapshot root/root_snap_2021-18-12_16-53-41 will occur on next activation of data/data. | ||
Перезагружаемся | |||
<code>reboot</code> | <code>reboot</code> | ||
Проверяем что тестовая утилита '''mtr''', установленная после создания снэпшота, после отката на снэпшот не установлена | Проверяем что тестовая утилита '''mtr''', установленная после создания снэпшота, после отката на снэпшот не установлена | ||
Текущая версия на 21:10, 31 декабря 2022
Описание
Прежде всего, чтобы пользоваться снэпшотами на LVM, необходимо, чтобы на VG было свободное неиспользуемое место
vgs
VG #PV #LV #SN Attr VSize VFree centos_centos7-test01 1 2 0 wz--n- <31.00g 4.00m data 1 1 0 wz--n- 1020.00m 512.00m
То есть если вы создали раздел LVM root без свободного места, или создали раздел с данными через команду:
lvcreate -l 100%FREE --name graylog_data data1
то использовать снэпшоты не получится
Для этого будет необходимо расширять VG дополнительным разделом
Как это сделать можно узнать в статье LVM. Расширение объема раздела LVM за счет другого раздела или диска или LVM. Расширение объема раздела LV за счет свободного места на физическом диске
Использовать LVM снэпшоты на НЕсистемном разделе
Создадим PV, VG
pvcreate /dev/sdb1
vgcreate data /dev/sdb1
Создадим LV, используя 50% от раздела, остальное - под будущие снапы
lvcreate -l 50%FREE --name data data
vgs
VG #PV #LV #SN Attr VSize VFree centos_centos7-test01 1 2 0 wz--n- <31.00g 4.00m data 1 1 0 wz--n- 1020.00m 512.00m
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-ao---- 2.00g data data -wi-ao---- 508.00m
Создадим ФС, точку монтирования и смонтируем раздел
mkfs.ext4 /dev/data/data
mkdir /mnt/data
mount /dev/mapper/data-data /mnt/data
Правим fstab
nano /etc/fstab
... /dev/mapper/data-data /mnt/data ext4 defaults 0 0 ...
Создадим тестовый файл
echo 1 > /mnt/data/test.txt
cat /mnt/data/test.txt
... 1 ...
Создадим снэп
--size 1G - Это объем под данные снэпшота. Если указанный объем будет больше, чем текущее свободное место, то lvm урежет объем до максимально возможного. Например, в данном случае размер снэпа урезается до 512МБ
lvcreate --size 1G --snapshot --name data_snap_`date +%Y-%d-%m_%H-%M-%S` /dev/mapper/data-data
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-ao---- 2.00g data data owi-aos--- 508.00m data_snap_2021-18-12_17-13-34 data swi-a-s--- 104.00m data 0.01
Обновляем тестовый файл
echo 2 > /mnt/data/test.txt
cat /mnt/data/test.txt
... 2 ...
Откатываемся на снэпшот data_snap_2021-18-12_17-13-34
Сначала обязательно отмонтируем основной раздел, для которого делали снэп
umount /mnt/data/
Теперь откатываемся на снэп
Снэп при успешном откате удаляется!
lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_18--28--45
Merging of volume data/data_snap_2021-18-12_18-28-45 started. data/data: Merged: 100.00%
Монтируем основной раздел обратно
mount /mnt/data/
Проверяем
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-ao---- 2.00g data data -wi-ao---- 508.00m
Если откатиться без отмонтирования основного раздела - будет предупреждение
lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_18--33--55
Delaying merge since origin is open. Merging of snapshot data/data_snap_2021-18-12_18-33-55 will occur on next activation of data/data.
Также в выводе будет атрибут "О" (The answer is: The merging is delayed, otherwise the progress would be showing up using the lvs command.)
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-ao---- 2.00g data data Owi-aos--- 508.00m
Отмонтируем раздел
umount /mnt/data/
Вводим команду
lvchange --refresh data
Проверяем
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 28.99g swap centos_centos7-test01 -wi-ao---- 2.00g data data -wi-ao---- 508.00m
Проверяем откат содержимого тестового файла
echo 1 > /mnt/data/test.txt
cat /mnt/data/test.txt
... 1 ...
Удалить снап, все новые изменения будут приняты без возможности отката
lvremove /dev/mapper/data-data_snap_2021--18--12_17--34--33
Использовать LVM снэпшоты на системном разделе
Описание
Логика такая же как и на НЕсистемном разделе, за тем исключением, что после отката на снэпшот необходимо перезагружаться, так как системный раздел мы не отмонтируем во время работы.
Так же как и в случае с НЕсистемным разделом необходимо чтобы на VG было свободное место, примерно так:
vgs
VG #PV #LV #SN Attr VSize VFree centos_centos7-test01 1 2 0 wz--n- <31.00g <14.00g
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_centos7-test01 -wi-ao---- 15.00g swap centos_centos7-test01 -wi-ao---- 2.00g data data -wi-ao---- 508.00m
Создаем снэп
lvcreate --size 1G --snapshot --name root_snap_`date +%Y-%d-%m_%H-%M-%S` /dev/centos_centos7-test01/root
Для теста ставим какую-нибудь неустановленную утилиту
yum install mtr
Откатываемся на снэп
Система скажет что снэп будет применен при следующей деактивации/активации раздела
lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_16--53--41
Merging of snapshot root/root_snap_2021-18-12_16-53-41 will occur on next activation of data/data.
Перезагружаемся
reboot
Проверяем что тестовая утилита mtr, установленная после создания снэпшота, после отката на снэпшот не установлена