LVM. Снэпшоты: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «Категория:LVM __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__») |
Cless (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
[[Категория:LVM]] | [[Категория:LVM]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
== Описание == | |||
Прежде всего, чтобы пользоваться снэпшотами на LVM, необходимо, чтобы на '''vg''' было свободное неиспользуемое место | |||
<code>vgs</code><blockquote> 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'''</blockquote> | |||
То есть если вы создали раздел LVM root без свободного места, или создали раздел с данными через команду: | |||
<code>lvcreate -l 100%FREE --name graylog_data data1</code> | |||
то использовать снэпшоты не получится | |||
== Использовать LVM снэпшоты на НЕсистемном разделе == | |||
=== Создадим PV, VG === | |||
<code>pvcreate /dev/sdb1</code> | |||
<code>vgcreate data /dev/sdb1</code> | |||
=== Создадим LV используя 50% от раздела, остальное - под будущие снапы === | |||
<code>lvcreate -l 50%FREE --name data data</code> | |||
<code>vgs</code> | |||
<code>VG #PV #LV #SN Attr VSize VFree</code> | |||
<code> centos_centos7-test01 1 2 0 wz--n- <31.00g 4.00m</code> | |||
<code> data 1 1 0 wz--n- 1020.00m 512.00m</code> | |||
=== Создадим ФС, точку монтирования и смонтируем раздел === | |||
<code>mkfs.ext4 /dev/data/data</code> | |||
<code>mount /dev/mapper/data-data /mnt/data</code> | |||
=== Создадим тестовый файл === | |||
<code>echo 1 > /mnt/data/test.txt</code> | |||
<code>cat /mnt/data/test.txt</code><blockquote>... | |||
1 | |||
...</blockquote> | |||
=== Создадим снэп === | |||
'''''--size 1G''' - это объем под данные снэпшота, если указанный объем будет больше, чем текущее свободное место, то lvm урежет объем до максимально возможного. Например, в данном случае размер снэпа урезается до 512МБ'' | |||
<code>lvcreate --size 1G --snapshot --name data_snap_`date +%Y-%d-%m_%H-%M-%S` /dev/mapper/data-data</code> | |||
<code>lvs</code><blockquote> 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 </blockquote> | |||
=== Обновляем тестовый файл === | |||
<code>echo 2 > /mnt/data/test.txt</code> | |||
<code>cat /mnt/data/test.txt</code><blockquote>... | |||
2 | |||
...</blockquote> | |||
=== Откатываемся на снэпшот data_snap_2021-18-12_17-13-34 === | |||
<blockquote>'''Снэп при успешном откате удаляется!'''</blockquote><code>lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_16--53--41</code> | |||
<code>lvs</code><blockquote> 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</blockquote> | |||
=== Проверяем откат содержимого тестового файла === | |||
<code>echo 1 > /mnt/data/test.txt</code> | |||
<code>cat /mnt/data/test.txt</code><blockquote>... | |||
1 | |||
...</blockquote> | |||
=== Удалить снап, все новые изменения будут приняты без возможности отката === | |||
<code>lvremove /dev/mapper/data-data_snap_2021--18--12_17--34--33</code> | |||
Версия 18:22, 18 декабря 2021
Описание
Прежде всего, чтобы пользоваться снэпшотами на 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
то использовать снэпшоты не получится
Использовать 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
Создадим ФС, точку монтирования и смонтируем раздел
mkfs.ext4 /dev/data/data
mount /dev/mapper/data-data /mnt/data
Создадим тестовый файл
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
Снэп при успешном откате удаляется!
lvconvert --merge /dev/mapper/data-data_snap_2021--18--12_16--53--41
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