LINUX.ORG.RU
ФорумAdmin

Не создается LVM snapshot

 


0

1

Псоле команды

lvcreate -L10G -s -nSNAP-45929 /dev/vg0/postfix

Ничего не присходит, вызов команды lvs не отдает результата, после прерывания выполнения команды, вижу:

# lvs
^C  CTRL-c detected: giving up waiting for lock
  /var/lock/lvm/V_vg0:aux: flock failed: Interrupted system call
  Can't get lock for vg0
  Skipping volume group vg0

гуглю, но...

★★★★★

Последнее исправление: petav (всего исправлений: 1)

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                        
 1779 root      20   0 24416  892  628 R  100  0.0   5390:23 /sbin/lvm vgscan                                                                                                                
18502 root      20   0 24416 1356  924 R  100  0.0   1751:23 /sbin/lvm vgscan      
petav ★★★★★
() автор топика

Interrupted system call означает, что ты нажал ctrl-c когда оно находилось в сисвызове, балбес

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

Перечитайте свой коммент, после прочтения поста, уважаемый.

Ничего не присходит, вызов команды lvs не отдает результата, после прерывания выполнения команды, вижу

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

Как я понимаю «Can't get lock» связан с процессами vgscan, которые заняли группу. Если так, то вопрос, зачем, почему, как найти причину появления процессов «vgscan». Syslog на эту тему чист.

petav ★★★★★
() автор топика

Алгоритм появления процесса vgscan и файлов в директории /var/lock/lvm/.

На начало процесc «vgscan» отсутствует, директория /var/lock/lvm/ пуста. Создаю snapshot

lvcreate -L10G -s -nSNAP-45929 /dev/vg0/postfix
Появляется процесс vgscan
24177 root      20   0 24416 1804 1356 R  100  0.0   3:13.17 /sbin/lvm vgscan
и файлы в директории /var/lock/lvm/
# ls -l  /var/lock/lvm/
total 0
-rwx------ 1 root root 0 2015-08-11 18:58 P_global
-rwx------ 1 root root 0 2015-08-11 18:58 V_vg0
Попытка удалить снапшот
# lvremove /dev/vg0/postfix
Зависает. Остановив lvremove по Ctrl+C вижу
# lvremove /dev/vg0/SNAP-45929
^C  CTRL-c detected: giving up waiting for lock
  /var/lock/lvm/V_vg0: flock failed: Interrupted system call
  Can't get lock for vg0
  Skipping volume group vg0

Проблема локализована: Работу с LVM блокирует процесс vgscan и чем больше Snapshot создаешь тем больше процессов запускается!

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

А виновником этому могут быть импортированные диски по iSCSI, которые нарезаны на ISCSI tаrget LVM томами, вот они:

/dev/sdh1   *        2048    20969471    10483712   8e  Linux LVM
Disk /dev/sdi: 10.7 GB, 10737418240 bytes
/dev/sdi1   *        2048    20969471    10483712   8e  Linux LVM
Disk /dev/sdj: 10.7 GB, 10737418240 bytes
/dev/sdj1   *        2048    20969471    10483712   8e  Linux LVM
Disk /dev/sdk: 10.7 GB, 10737418240 bytes
/dev/sdk1   *        2048    20969471    10483712   8e  Linux LVM
Disk /dev/sdl: 10.7 GB, 10737418240 bytes
/dev/sdl1   *        2048    20969471    10483712   8e  Linux LVM
Disk /dev/sdm: 10.7 GB, 10737418240 bytes
/dev/sdm1   *        2048    20969471    10483712   8e  Linux LVM
Возможно на них vgscan зытыкается.

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

диски по iSCSI, которые нарезаны на ISCSI tаrget LVM томами

т.е. тома от дисков порезанных лвм-ом отдаешь по сети и снова их суешь в лвм? зачем такой изврат?

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

Не совсем, есть еще прослойка витруальная машина. Тома на Таргете режу используя LVM, отдаю их как блочное устройство. Инициатор подключает их на себя. Подключенный том отдаю виртуальной машине, а вот она уже управляет прстранством как хочет, в том числе используя LVM. Видимо именно метка 8e видна от того что машины используют LVM.

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

снапшот делается на уровне инициатора, но не дисков SCSI. На инициаторе часть томов LVM локальная, часть томов не LVM пришлая с таргета.

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

/dev/sdh1 * 2048 20969471 10483712 8e Linux LVM
Disk /dev/sdi: 10.7 GB, 10737418240 bytes
/dev/sdi1 * 2048 20969471 10483712 8e Linux LVM
Disk /dev/sdj: 10.7 GB, 10737418240 bytes
/dev/sdj1 * 2048 20969471 10483712 8e Linux LVM
Disk /dev/sdk: 10.7 GB, 10737418240 bytes
/dev/sdk1 * 2048 20969471 10483712 8e Linux LVM
Disk /dev/sdl: 10.7 GB, 10737418240 bytes
/dev/sdl1 * 2048 20969471 10483712 8e Linux LVM
Disk /dev/sdm: 10.7 GB, 10737418240 bytes
/dev/sdm1 * 2048 20969471 10483712 8e Linux LVM

На эти диски сделай (на инициаторе) фильтр исключающий их из LVM (/etc/lvm/lvm.conf)

    # By default we accept every block device:
    # filter = [ "a/.*/" ]

    # Exclude the cdrom drive
    # filter = [ "r|/dev/cdrom|" ]

    # When testing I like to work with just loopback devices:
    # filter = [ "a/loop/", "r/.*/" ]

    # Or maybe all loops and ide drives except hdc:
    # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]

    # Use anchors if you want to be really specific
    # filter = [ "a|^/dev/hda8$|", "r/.*/" ]

И тебе будет счастье!

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

На эти диски сделай (на инициаторе) фильтр исключающий их из LVM (/etc/lvm/lvm.conf)

Пока не локализовывал точнее, но Вы считаете действительно в этом проблема?

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

Не помогает

# By default we accept every block device:
    filter = [ "r|/dev/sdh|", "r|/dev/sdi|", "r|/dev/sdj|", "r|/dev/sdk|", "r|/dev/sdl|", "r|/dev/sdm|", "a/.*/" ]

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

Реку́рсия — определение, описание, изображение какого-либо объекта или процесса внутри самого этого объекта или процесса, то есть ситуация, когда объект является частью самого себя.

Где здесь место рекурсии?

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

Даже если так, где рекурсия, но я их не использую как LVM, они как LVM на таргете порезаны.

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

А после правки lvm.conf как перечитать новую конфигурацию?

petav ★★★★★
() автор топика
8 октября 2015 г.
root      9862  0.0  0.0   4168   568 ?        S    11:17   0:00 /lib/udev/watershed sh -c /sbin/lvm vgscan; /sbin/lvm vgchange -a y
root      9863  0.0  0.0   4264   580 ?        S    11:17   0:00 sh -c /sbin/lvm vgscan; /sbin/lvm vgchange -a y
root      9864 45.4  0.0  24508  1856 ?        R    11:17   0:20 /sbin/lvm vgscan

To activate all known volume groups in the system:

vgchange -a y

Получается он пытается активировать все локальные тома....

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