Distributed Replicated Block Device (DRBD) announcements
 help / color / mirror / Atom feed
From: Roland Kammerer <roland.kammerer@linbit.com>
To: drbd-announce@lists.linbit.com, drbd-user@lists.linbit.com
Subject: linstor-proxmox v8.0.1
Date: Fri, 19 Apr 2024 08:34:48 +0200	[thread overview]
Message-ID: <ZiIQiFgcy5IhruxV@arm64> (raw)

[-- Attachment #1: Type: text/plain, Size: 2426 bytes --]

Dear DRBD on PVE users,

this is version 8.0.1 of the LINSTOR Proxmox plugin. It is a small
bugfix release that contains two changes, both related to cloud-init
images.

The first is a fix for a regression introduced with 8.0.0: By being ways
stricter with what names (usually VM disk names or snapshot names) are
valid it was no longer possible to create cloud-init images on DRBD.
That is now possible. A word on if that even makes sense later.

Secondly, PVE behaves a bit different for cloud init images compared to
VM disk images. Disk images are created once ("alloc") and then used
after an "activate" and get a "deactivate" when they are not used
anymore. In "alloc" we create the LINSTOR resource (which might get
placed on a subset of PVE nodes), and when the VM is started
("activate") we check if there is the necessary DRBD device on that node
and if not we create a diskless assignment. On "deactivate" we delete
such unnecessary diskless assignments. Cloud init images on the other
hand have their configuration stored in PVE and if such an image does
not exist it can be re-generated immediately, the config is just a few
KB, the "iso" a few MB.

So if a VM with it's cloud init image on DRBD starts on a node that
currently does not have access to the DRBD device hosting the cloud init
image this happens: PVE stat()s the device path and it does not exist,
it does not send an "activate", but it just tries to recreate it
("alloc"). And that is where we failed, because the LINSTOR resource
already existed (and we errored out in "alloc"), but it just was not
available yet on that node. If we detect that scenario now, we return
from "alloc", and wait for the "activate" to make the cloud init image
available on that particular node.

People insist on having everything on one storage, but my personal
opinion: Don't put cloud init images on DRBD, I don't see any
reason for that. The config (IP settings, DNS settings,...) is in PVE,
they can be created on the fly, and that is what PVE does. Just put them
on local LVM and be done with it. When you move a VM PVE will recreate
the cloud init image on the destinations node's local LVM (and delete it
from the old node).

Regards, rck

GIT: https://github.com/LINBIT/linstor-proxmox/commit/595c9f15ea72d99dd3f82fb94cefa74aaf0b0770
TGZ: https://pkg.linbit.com//downloads/connectors/linstor-proxmox-8.0.1.tar.gz

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

                 reply	other threads:[~2024-04-19  6:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=ZiIQiFgcy5IhruxV@arm64 \
    --to=roland.kammerer@linbit.com \
    --cc=drbd-announce@lists.linbit.com \
    --cc=drbd-user@lists.linbit.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