Discussion:
[linux-lvm] problem with lvcreate and redirection
Марк Коренберг
2016-02-20 04:52:03 UTC
Permalink
Hi,
i have a script in which i invoke lvremove and lvcreate. With lvremove i don't have proplems but with lvcreate.
I'm redirecting stdout and stderr to a file because the script is executed by cron and i'd like to have a look afterwards if everything went fine.
The command is: lvcreate -v -L 25G -n lv_root_snapshot -s vg1/lv_root > lvcreate_with_redirection.log 2>&1. Shell does not accept further commands afterwards, but host still responds to ping. You can have a look on lvcreate_with_redirection.log here: https://hmgubox.helmholtz-muenchen.de:8001/d/b4c7025bac/ .
System seems to stop while suspending.
======================================================
...
Creating vg1-lv_root_snapshot-cow
Loading vg1-lv_root_snapshot-cow table (252:3)
Resuming vg1-lv_root_snapshot-cow (252:3)
Loading vg1-lv_root_snapshot table (252:1)
Suspending vg1-lv_root (252:0) with filesystem sync with device flush
======================================================
Unfortunately you can't do that if you log to the SAME volume you are suspending - i.e. you run your command from your root volume
which is also suspended.
We could likely 'buffer' the output while in suspend mode,
and throw out the output later - but as this is seen as 'debug' help it's assume user takes care and user place for logging which doesn't block.
So if you want to see logs - use something tmpfs location for it.
Why this happen ? I thought that operations with page cache will not be suspended on fsfreeze().
Regards
Zdenek
_______________________________________________
linux-lvm mailing list
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
Lentes, Bernd
2016-02-20 16:50:01 UTC
Permalink
Unfortunately you can't do that if you log to the SAME volume you are
suspending - i.e. you run your command from your root volume
which is also suspended.
We could likely 'buffer' the output while in suspend mode,
and throw out the output later - but as this is seen as 'debug' help it's
assume user takes care and user place for logging which doesn't block.
So if you want to see logs - use something tmpfs location for it.
Regards
Zdenek
Hi Zdenek,
thanks for your answer. I redirected the output already to another partition,
but system still stopped. Maybe because the partition is on the same disk as
the lv ? Whole disk is suspended ? It's not possible to suspend just a
partition ? I will try with tmpfs or something else.
But does that mean that redirection is generally not possible when suspending a
lv ? Or just in my case because i invoke lvcreate ? What is about other
programs having redirections during the suspend ? And why does it work when i
just rediredt stdout ? When i redirect stdout and stderr system stops.
Your 'partition' layout isn't clear - but anyway - debugging command when you
run it from a partition you try to suspend is 'tricky'.
Suspend basically stops any read/write operation from suspended device.
So you just need to be sure there is nothing on logging path which might be
blocked.
So is your command blocked when you log into ramdisk ?
Are you using some recent version of lvm2 ?
Zdenek
Hi,

i have two partitions on the disk: One for /boot and one as a lv for /.
I will try to redirect to a ramdisk and inform you.
LVM is lvm2-2.02.98-0.37.2

Bernd
Helmholtz Zentrum München

Helmholtz Zentrum Muenchen
Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH)
Ingolstaedter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDir'in Baerbel Brumme-Bothe
Geschaeftsfuehrer: Prof. Dr. Guenther Wess, Dr. Alfons Enhsen, Renate Schlusen (komm.)
Registergericht: Amtsgericht Muenchen HRB 6466
USt-IdNr: DE 129521671

Loading...