Bug 31696

Summary: LVM with rootfs can't stop properly while shutdown or reboot
Product: Sisyphus Reporter: Vladimir D. Seleznev <vseleznv>
Component: startupAssignee: Alexey Gladkov <legion>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: evg, glebfm, ldv, legion, mike, rider, shaba, vitty
Version: unstable   
Hardware: all   
OS: Linux   

Description Vladimir D. Seleznev 2016-01-11 01:27:04 MSK
В случае если корневая файловая система является логическим томом LVM, во время остановки системы выводится сообщение

    Turning off LVM:    Can't deactivate volume group "lmv" with 1 open logical volume(s)
    [FAILED]
Comment 1 Evgenii Terechkov 2016-01-11 02:59:59 MSK
Кстати, да. Воспроизводится массово уже долгое время. Насколько помню, воспроизводилось местами и до массового перехода на systemd, на разных архитектурах (i586/x86_64).

Но каких-либо отрицательных последствий не замечал.
Comment 2 Alexey Shabalin 2016-01-11 12:45:43 MSK
День добрый. Можно попросить провести эксперимент?
замените в /etc/rc.d/scripts/lvm_stop
action "Turning off LVM:" "$VGCHANGE" -a n
на 
action "Turning off LVM:" "$VGCHANGE" -a n --sysinit

тут виноват не systemd, скорее всего, а переход на использование автоактивации и lvmetad.
Comment 3 Vladimir D. Seleznev 2016-01-11 13:59:14 MSK
Уточнение: моя система на sysvinit'е, а не на systemd. lvm2-lvmetad выключен.

Заменил. То же поведение.

В некоторых других системах (например, в Debian), если корневая файловая система на LVM, то деактивация тома не происходит, но, чтобы не смущать пользователя, выводится сообщение, что всё в порядке.
Comment 4 Alexey Shabalin 2016-01-11 14:22:28 MSK
(В ответ на комментарий №3)
> Уточнение: моя система на sysvinit'е, а не на systemd. lvm2-lvmetad выключен.
> 
> Заменил. То же поведение.
> 
> В некоторых других системах (например, в Debian), если корневая файловая
> система на LVM, то деактивация тома не происходит, но, чтобы не смущать
> пользователя, выводится сообщение, что всё в порядке.

Да, я понял что на sysvinit. Поэтому и прошу протестировать с /etc/rc.d/scripts/lvm_stop
Comment 5 Vladimir D. Seleznev 2016-01-11 14:41:41 MSK
Протестировал. Тот же вывод.
Comment 6 Alexey Shabalin 2016-01-11 14:57:22 MSK
(В ответ на комментарий №5)
> Протестировал. Тот же вывод.
спасибо.
А теперь такой тест:
перед 
action "Turning off LVM:" "$VGCHANGE" -a n --sysinit
добавьте
VGS=$(lvm vgs -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
action "Turning off LV:" lvchange --sysinit -a n ${VGS}

PS: если lvm2-lvmetad выключен, уточните пожалуйста какой параметр use_lvmetad=? в lvm.conf
Comment 7 Alexey Shabalin 2016-01-11 15:34:43 MSK
Хотя можно не экспериментировать. Деактивировать LVM не получится, пока смонтирован хотя бы один LV, даже если смонтирован только для чтения. В случае с rootfs на LVM, эту ошибку надо игнорировать. Как-нибудь маскировать в /etc/rc.d/scripts/lvm_stop (пакет startup).
Если бы можно было вернуться в initrd (который и активирует LVM на rootfs), то и деактивировать надо из initrd.

Перевешиваю на пакет startup, пусть мантейнер решает как поступить, маскировать ошибку или просто закрыть как NOTABUG.