From: Friedrich Weber <f.weber@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH storage 0/2] fix #4997: lvm: avoid autoactivating (new) LVs after boot
Date: Thu, 11 Jan 2024 16:03:30 +0100 [thread overview]
Message-ID: <20240111150332.733635-1-f.weber@proxmox.com> (raw)
By default, LVM autoactivates LVs after boot. In a cluster with VM disks on a
shared LVM VG (e.g. on top of iSCSI), this can indirectly cause guest creation
or VM live-migration to fail. See bug #4997 [1] and patch #2 for details.
The goal of this series is to avoid autoactivating LVs after boot. Fabian
suggested to use the "activation skip" flag for LVs. LVs with that flag can
only be activated if the `-K` flag is passed during activation (`-K` is not
passed for autoactivation after boot).
With patch #1, the LVM plugin passes the `-K` flag to activation commands. If
the LV does not have the "activation skip" flag set, this should not have any
effect, so it should be safe to apply this patch in the near future. It does
not yet fix #4997, though.
With patch #2, the LVM plugin sets the "activation skip" flag for newly created
LVs. As this can be considered a breaking change, it may make sense to only
apply it close to the PVE 9 release. If patch #1 has been available in the last
PVE 8 minor release, this should ensure a smooth upgrade even if a cluster is
temporarily mixed between PVE 8.x and 9 (PVE 8.x will be able to activate LVs
created by PVE 9 with "activation skip"). This will fix #4997 for newly created
LVs.
Some points to discuss:
* Fabian and I discussed whether it may be better to pass `-K` and set the
"activation skip" flag only for LVs on a *shared* LVM storage. But this may
cause issues for users that incorrectly mark an LVM storage as shared, create a
bunch of LVs (with "activation skip" flag), then unset the "shared" flag, and
won't be able to activate LVs afterwards (`lvchange -ay` without `-K` on an LV
with "activation skip" is a noop). What do you think?
* Even with patch #1 and #2 applied, users can still run into #4997 for LVs
that were created before #2, so without the "activation skip" flag. So it might
be good to include a note in the 8->9 release notes and/or a warning in the
pve8to9 helper and/or ship a script that automatically sets the flag for all
existing (PVE-owned) LVs.
[1] https://bugzilla.proxmox.com/show_bug.cgi?id=4997
storage:
Friedrich Weber (2):
lvm: ignore "activation skip" LV flag during LV activation
fix #4997: lvm: set "activation skip" flag for newly created LVs
src/PVE/Storage/LVMPlugin.pm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Summary over all repositories:
1 files changed, 3 insertions(+), 0 deletions(-)
--
Generated by git-murpp 0.5.0
next reply other threads:[~2024-01-11 15:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-11 15:03 Friedrich Weber [this message]
2024-01-11 15:03 ` [pve-devel] [PATCH storage 1/2] lvm: ignore "activation skip" LV flag during LV activation Friedrich Weber
2024-01-26 11:14 ` Fiona Ebner
2024-01-11 15:03 ` [pve-devel] [PATCH storage 2/2] fix #4997: lvm: set "activation skip" flag for newly created LVs Friedrich Weber
2024-01-26 11:15 ` Fiona Ebner
2024-01-26 11:14 ` [pve-devel] [PATCH storage 0/2] fix #4997: lvm: avoid autoactivating (new) LVs after boot Fiona Ebner
2024-01-31 15:07 ` Friedrich Weber
2024-02-01 8:26 ` Fiona Ebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240111150332.733635-1-f.weber@proxmox.com \
--to=f.weber@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox