From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [RFC 0/6] Waiting for the missing device in mirror
Date: Mon, 08 Jun 2015 10:38:29 +0200 [thread overview]
Message-ID: <55755485.2080802@redhat.com> (raw)
In-Reply-To: <1433749712-11837-1-git-send-email-lzhong@suse.com>
Dne 8.6.2015 v 09:48 Lidong Zhong napsal(a):
> Hi List,
>
> The implementation here is trying to add another policy for the
> missing leg/log device in mirror. We want to wait the device for some
> time in case of a temporary device failure, especially a network disconnection
> for clvmd, to avoid a full disk recovery.
>
> This version is kind of a draft. There are many immature places to improve. So comments
> and suggestions are welcomed.
>
> The responding kernel part is here:
> https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/
> commit/?h=for-next&id=ed63287dd670f8e9d2412a913de7fdc50a689831
Hi
I think you should please start first with the very precise description what
you are trying to achieve/fix - then we should discuss how to reach desired goal.
With very light overview of patches there are number of problem which can't
fit lvm2 design.
#1 - Never store any device major:minor in lvm2 metadata - everything is
strictly PV UUID oriented (there are number of daemons these days)
#2 - Activation layer & Command layer are 2 separate entities - so your
command may run on different node then the actual activation happens (unless
you do a local activation) - the layer separator is ATM 'lock' - the code
before lock and after lock do not share any data - and the 'activation' layer
knows only what is in written metadata on disk (just for optimization purposes
there is some internal mechanism of caching and reusing of some existing data).
#3 - There is no 'hidden' data exchange channel via /tmp for activation -
everything goes strictly via written and committed metadata, and for every
such metadata state there needs to be some clear recovery path (e.g. what
happens after 'power-off' with each committed lvm2 metadata state)
I do not yet quite understand what are you trying to achieve - but I've not
noticed any patch for 'dmeventd' which is the actual tool that fixes broken
mirrors - so could that tool by anyhow used for detection of some temporary
network failures ?
Regards
Zdenek
next prev parent reply other threads:[~2015-06-08 8:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-08 7:48 [RFC 0/6] Waiting for the missing device in mirror Lidong Zhong
2015-06-08 7:48 ` [RFC 1/6] Enable the keep_log feature while creating a mirror device Lidong Zhong
2015-06-08 7:48 ` [RFC 3/6] Mark a device if already being waited Lidong Zhong
2015-06-08 7:48 ` [RFC 4/6] Write the device number into metadata Lidong Zhong
2015-06-08 7:48 ` [RFC 5/6] Add another policy for the missing device -- wait Lidong Zhong
2015-06-08 7:48 ` [RFC 6/6] lvconvert: implement the wait policy Lidong Zhong
2015-06-08 8:38 ` Zdenek Kabelac [this message]
2015-06-09 3:19 ` [RFC 0/6] Waiting for the missing device in mirror Lidong Zhong
2015-06-09 7:12 ` Zdenek Kabelac
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=55755485.2080802@redhat.com \
--to=zkabelac@redhat.com \
--cc=lvm-devel@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.