LINUX.ORG.RU
ФорумAdmin

не получается сделать snapshot LVM тома с системой


0

1

Привет. В общем топчусь уже сколько времени на одном месте, подскажите, что я делаю не так? Есть сервер с centos 6 x64, на нем стоит виртуальная машина на LVM томе. Задача в том, что надо сделать полный бекап этой системы с возможностью дальнейшего восстановления.

везде пишут, что надо просто сделать новый том с атрибутом "-s" после чего его затарить. вот что я делаю:

том в lvdisplay:

  --- Logical volume ---
  LV Name                /dev/vg_mnsvhp/ubuntu
  VG Name                vg_mnsvhp
  LV UUID                YPaCYW-Pi16-uFNg-qqlh-iHer-DUcp-MN7czG
  LV Write Access        read/write
  LV snapshot status     source of
                         /dev/vg_mnsvhp/ubuntu_snapshot [active]
  LV Status              available
  # open                 4
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7
создаю еще один том для снапшота:
lvcreate -s -n ubuntu_snapshot -L10G /dev/vg_mnsvhp/ubuntu
появился в lvdisplay:
--- Logical volume ---
  LV Name                /dev/vg_mnsvhp/ubuntu_snapshot
  VG Name                vg_mnsvhp
  LV UUID                VAvvD1-N4cT-dHf3-tZF3-JO14-RGOG-nrvU37
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vg_mnsvhp/ubuntu
  LV Status              available
  # open                 3
  LV Size                10.00 GiB
  Current LE             2560
  COW-table size         10.00 GiB
  COW-table LE           2560
  Allocated to snapshot  0.01%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6

При монтировании выдает ошибку:

mount /dev/vg_mnsvhp/ubuntu_snapshot /mnt/backup
mount: you must specify the filesystem type

Почитал, пишут, что если у меня эмуляция диска, то надо выполнить следующую команду:

kpartx -a /dev/vg_mnsvhp/ubuntu_snapshot

появились новые файлы в /dev/mapper

из них монтируется только /dev/mapper/vg_mnsvhp-backup1 но там всего 30 Мб непонятно чего.

Буду рад вашей помощи.

стоит виртуальная машина на LVM томе

Что это значит? lvol отдан гостю в качестве вирт.диска? Тогда напрямую нельзя его примонтировать, там же таблица разделов и собственно разделы. Надо losetup'ить или offset при mount'e

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от sdio

Что это значит? lvol отдан гостю в качестве вирт.диска?

с виртуальными машинами до этого момента не работал. но думаю да.

я создал через lvcreate том и при установки системы через virt-manager указал /dev/vg_mnsvhp/ubuntu.

спасибо, прочитаю про losetup.

j7upzz ()
Ответ на: комментарий от vxzvxz

тарь рабочий том, а не том снапшота

Дебил

sdio ★★★★★ ()
Ответ на: комментарий от j7upzz

накой ты снапшот монтируешь, тарь свою виртуалку

vxzvxz ★★★ ()

kpartx -a /dev/vg_mnsvhp/ubuntu_snapshot
появились новые файлы в /dev/mapper

kpartx -a выполняет losetup вобщем-то

Покажи из вирт. убунты df -h; fdisk -l /dev/[vsh]da

sdio ★★★★★ ()
Ответ на: комментарий от j7upzz

У тебя внутри тоже lvm, так что после kpartx -a надо sudo pvscan (не в виртуалке, а на хосте)

Если pvscan увидит PV из виртуалки, то можно будет vgchange -ay ubuntu--vg и после этого монтировать LV из убунты

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от j7upzz

tar -cvjpf /dev/vg_mnsvhp/ubuntu || dd if=/dev/zero of=/dev/vg_mnsvhp/ubuntu bs=1M

Это не делай. Сотрет тебе всю виртуалку.

sdio ★★★★★ ()
Ответ на: комментарий от sdio

sudo pvscan

[root@mnsvhp mnt]# sudo pvscan
  Found duplicate PV xGCHRATLRVNE1fA0OJShfmRhQVDaMstb: using /dev/mapper/vg_mnsvhp-ubuntu5 not /dev/mapper/vg_mnsvhp-ubuntu_snap5
  PV /dev/mapper/vg_mnsvhp-ubuntu5   VG ubuntu-vg   lvm2 [9.76 GiB / 0    free]
  PV /dev/sda2                       VG vg_mnsvhp   lvm2 [279.17 GiB / 5.17 GiB free]
  Total: 2 [288.93 GiB] / in use: 2 [288.93 GiB] / in no VG: 0 [0   ]

так и должно быть?

j7upzz ()
Ответ на: комментарий от sdio
sudo lvs ubuntu-vg
  Found duplicate PV xGCHRATLRVNE1fA0OJShfmRhQVDaMstb: using /dev/mapper/vg_mnsvhp-ubuntu5 not /dev/mapper/vg_mnsvhp-ubuntu_snap5
  LV     VG        Attr   LSize Origin Snap%  Move Log Copy%  Convert
  root   ubuntu-vg -wi-a- 8.76g
  swap_1 ubuntu-vg -wi-a- 1.00g

я так понимаю мне надо замонтировать root. но как?

j7upzz ()
Ответ на: комментарий от j7upzz

Found duplicate PV xGCHRATLRVNE1fA0OJShfmRhQVDaMstb: using /dev/mapper/vg_mnsvhp-ubuntu5 not /dev/mapper/vg_mnsvhp-ubuntu_snap5

Нет давай обратно vgchange -an ubuntu-vg

Тебе надо с этим работать /dev/mapper/vg_mnsvhp-ubuntu_snap5

в /etc/lvm/lvm.conf надо фильтр добавить для /dev/mapper/vg_mnsvhp-ubuntu

    filter = [ "a/.*/", "r|/dev/mapper/vg_mnsvhp-ubuntu|" ]

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от sdio

фильтр добавил.

vgchange -an ubuntu-vg

File descriptor 7 (pipe:[133336]) leaked on vgchange invocation. Parent PID 16403: bash
  WARNING: Ignoring duplicate config node: filter (seeking filter)
  Found duplicate PV xGCHRATLRVNE1fA0OJShfmRhQVDaMstb: using /dev/mapper/vg_mnsvhp-ubuntu5 not /dev/mapper/vg_mnsvhp-ubuntu_snap5
  0 logical volume(s) in volume group "ubuntu-vg" now active

j7upzz ()
Ответ на: комментарий от sdio

поправил фильтр. все равно ошибку выдает

vgchange -an ubuntu-vg
File descriptor 7 (pipe:[133336]) leaked on vgchange invocation. Parent PID 16403: bash
  WARNING: Ignoring duplicate config node: filter (seeking filter)
  Found duplicate PV xGCHRATLRVNE1fA0OJShfmRhQVDaMstb: using /dev/mapper/vg_mnsvhp-ubuntu5 not /dev/mapper/vg_mnsvhp-ubuntu_snap5
  0 logical volume(s) in volume group "ubuntu-vg" now active

j7upzz ()
Ответ на: комментарий от j7upzz

Это не надо монтировать.

Откуда вообще взялся этот /dev/mapper/vg_mnsvhp-ubuntu5 ? Ты kpartx -a ... только на снапшот делал или на lv тоже?

сделай kpartx -d /dev/mapper/vg_mnsvhp-ubuntu

sdio ★★★★★ ()
Ответ на: комментарий от j7upzz

Вот теперь vgchange -ay ububtu-vg

и монтируй /dev/ubuntu-vg/root

После монтирования и бекапа

umount ...
vgchange -an ubuntu-vg
kpartx -d /dev/...ubuntu_snap

lvremove ... snapshot
sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 2)
Ответ на: комментарий от j7upzz

Надеюсь ты понимаешь, что делаешь бекап на файловом уровне. Так что если надо будет восстанавливать систему с нуля, придется поработать руками, создать разделы, отформатировать, восстановить файлы, установить загрузчик.

Так что вполне достаточно было бекапить файлы прямо из виртуалки без снапшотов и всех этих выкрутасов.

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Ну да, этим я только скопирую файлы. Для моих целей это должно быть достаточно.

А вообще для чего параметр -s при создании тома? Или без снапшота нельзя подключить раздел из виртуалки.

И по поводу загрузчика, как восстановить полностью систему? есть какая-нибудь мануалка?

j7upzz ()
Ответ на: комментарий от j7upzz

snapshot это заморозка (снимок) файловой системы на момент его создания. Делаешь бекап со снапшота и все это время ничего на снапшоте не меняется, а система продолжает жить своей жизнью.

И по поводу загрузчика, как восстановить полностью систему? есть какая-нибудь мануалка?

Ищи что-то о миграции на новый диск, там будут все необходимые шаги.

sdio ★★★★★ ()
Ответ на: комментарий от j7upzz

я создал через lvcreate том и при установки системы через virt-manager указал /dev/vg_mnsvhp/ubuntu

Вестимо, у тебя это целый жёсткий диск. А там как ты понимаешь, и таблицы разделов и MBR/GPT. А ты его прям монтировать собрался. :)

DALDON ★★★★★ ()
Ответ на: комментарий от DALDON

А там как ты понимаешь, и таблицы разделов и MBR/GPT. А ты его прям монтировать собрался. :)

Теперь понимаю. Почему-то изначально я упустил это.

j7upzz ()
Ответ на: комментарий от sdio

А как тогда заснапшотить boot раздел?

lvs ubuntu-vg
  LV     VG        Attr   LSize Origin Snap%  Move Log Copy%  Convert
  root   ubuntu-vg -wi--- 8.76g
  swap_1 ubuntu-vg -wi--- 1.00g

здесь только root и swap раздел. когда монтирую root раздел, директория boot пустая.

j7upzz ()
Ответ на: комментарий от j7upzz

/boot чаще всего не в LVM, а обычный раздел. /boot фактически не меняется (только во время апгрейда), так что его можно в любое время бекапить как есть в живую

sdio ★★★★★ ()
Ответ на: комментарий от sdio

хорошо. тогда где мне найти этот boot раздел? В системе на виртуалке он виден: http://clip2net.com/clip/m167847/b688e-clip-42kb.jpg А на хосте его нет:

 df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_mnsvhp-LvRoot
                       32G   24G  6.2G  80% /
tmpfs                 7.8G  100K  7.8G   1% /dev/shm
/dev/sda1             194M   50M  135M  27% /boot
/dev/mapper/vg_mnsvhp-LvOpt
                      150G  1.4G  141G   1% /opt
/dev/mapper/vg_mnsvhp-LvVar
                      9.9G  262M  9.1G   3% /var
/dev/mapper/vg_mnsvhp-LvLog
                      2.0G  218M  1.7G  12% /var/log
/dev/mapper/VgMn-LvRoot
                       43G  5.0G   36G  13% /mnt/tel_snap
/dev/mapper/VgMn-LvVarLog
                      3.5G  300M  3.1G   9% /media/0f9e9e4e-6d56-4234-8fbf-3e8d2675b262

j7upzz ()
Ответ на: комментарий от sdio

Спасибо большое за грамотные ответы. Извините за столько глупых вопросов, но уже достаточно времени потрачено на данный вопрос. Хотелось бы прийти к логическому завершению задачи.

Задача следующая: необходимо сделать бекап рабочей виртуальной машины с последующим полным восстановлением.

Мои решения:

1. Бекап всего lvm раздела со всеми разметками. т.е. просто делаю снапшот и копирую весь раздел в файл командой «dd»

dd if=/dev/vg_mnsvhp/ubuntu_snap of=/home/backup/ubuntu.img

из минусов то, что если под виртуальную машину выделено 100 Гб, то для создания образа нужно 100 Гб места. Не подходит.

2. Монтируем отдельные разделы и каждый тарим в архив. собственно этого и добивался в данной ветке форума и добился.

Но теперь другая проблема - как развернуть эту систему на новом lvm томе с такой же разметкой и прикрутить туда boot, root и swap. А так же указать ему, что это boot раздел и с него надо грузиться.

И по поводу root раздела, которым мы тарим, я так понимаю он просто распаковывается в новый раздел и все?

разворачиваться все это дело будет на этом же volume group, если эта информация чем-то полезна.

Вроде все. Заранее спасибо.

j7upzz ()
Ответ на: комментарий от j7upzz

если под виртуальную машину выделено 100 Гб, то для создания образа нужно 100 Гб места

просто не делай так. я не видел системы которой не хватило бы 10ГБ, а dd 10gb это как двв байта переслать.

весь твой файловый архив нужен для данных, а систему - - dd и восстановливать без проблем.

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Это конечно замечательно, но существует ли другое решение для бекапа уже созданного 100 Гб виртуального сервера?

Дело в том, что сервер уже рабочий и переустановить его нет возможности.

j7upzz ()
Ответ на: комментарий от j7upzz

Средства бекапа расписаны 100500 раз и виртуальный сервер ничем не отличается от реального. С вирт. даже проще работать. Так что, вперед, учить матчасть. не получается сделать snapshot LVM тома с системой (комментарий)

sdio ★★★★★ ()
Ответ на: комментарий от j7upzz

В 1м варианте ты можешь вместо указания of подавать данные напрямую на вход какому-нибудь компрессору, например xz

zolden ★★★★★ ()
Ответ на: комментарий от j7upzz

Дело в том, что сервер уже рабочий и переустановить его нет возможности.

Добавить 10гб диск и перенести на него систему проще, чем восстанавливать из бекапа 100Гб, а 100Гб диск оставить для данных.

sdio ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.