Re: [linux-lvm] lvmlockd: about the limitation on lvresizing the LV active on multiple nodes

2018-01-09 Thread David Teigland
On Tue, Jan 09, 2018 at 10:42:27AM +0800, Eric Ren wrote:
> > I've tested your patch and it works very well.  Thanks very much.
> 
> Could you please consider to push this patch upstream?

OK

> Also, Is this the same case for pvmove as lvresize? If so, can we also
> work out a similar patch for pvmove?

Running pvmove on an LV active on multiple hosts could be allowed with the
same kind of patch.  However, it would need to use cmirror which we are
trying to phase out; the recent cluster raid1 has a more promising future.
So I think cmirror should be left in the clvm era and not brought forward.

Dave

___
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/


Re: [linux-lvm] The benefits of lvmlockd over clvmd?

2018-01-09 Thread David Teigland
On Tue, Jan 09, 2018 at 11:15:24AM +0800, Eric Ren wrote:
> Hi David,
> 
> Regarding the question of the subject, I can think of three main benefits of
> lvmlockd over clvmd:
> 
> - lvmlockd supports two cluster locking plugins: dlm and sanlock. sanlock
> plugin can supports up to ~2000 nodes
> that benefits LVM usage in big virtulizaton/storage cluster,

True, although it's never been tried anywhere near that many.  The main
point hiding behind the big number is that hosts are pretty much unaware
of each other, so adding more doesn't have any affect, and when something
happens to one, others are unaffected because they are unaware.

> while dlm plugin fits HA clsuter.
> 
> - lvmlockd has better design than clvmd. clvmd is command-line level based
> locking system, which means the
>  whole LVM software will get hang if any LVM command gets dead-locking
> issue. However, lvmlockd is *resources* based
> cluster locking. The resources to protect is VG and LV so that the deadlock
> issue will be isolated inside the resource and
> operations on other VG/LV can still proceed.
> 
> - lvmlockd can work with lvmetad.
> 
> But, I may be wrong in some points. Could you please help correct me and
> complete the benefit list?

To me the biggest benefit is the design and internal implementation, which
I admit don't make for great marketing.  The design in general follows the
idea described above, in which hosts fundamentally operate unaware of
others and one host never has any effect on another.  That's diametrically
opposite to the original clvm "single system image" design in which
everything that happens is in theory meant to be happening everywhere.

___
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/


Re: [linux-lvm] lvmlockd: about the limitation on lvresizing the LV active on multiple nodes

2018-01-09 Thread Eric Ren

Hi David,

On 01/09/2018 11:42 PM, David Teigland wrote:

On Tue, Jan 09, 2018 at 10:42:27AM +0800, Eric Ren wrote:

I've tested your patch and it works very well.  Thanks very much.

Could you please consider to push this patch upstream?

OK


Thanks very  much! So, can we update the `man 8 lvmlockd` to remove the 
below limitation

on lvresize?

"""
limitations of lockd VGs
...
  · resizing an LV that is active in the shared mode on multiple hosts
"""




Also, Is this the same case for pvmove as lvresize? If so, can we also
work out a similar patch for pvmove?

Running pvmove on an LV active on multiple hosts could be allowed with the
same kind of patch.  However, it would need to use cmirror which we are


OK, I see.


trying to phase out; the recent cluster raid1 has a more promising future.


My understanding is:

if cluster raid1 is used as PV, data is replicated and data migration is 
nearly equivalent
to replace disk. However, in scenario PV is on raw disk, pvmove is very 
handy for data migration.


IIRC, you mean we can consider to use cluster raid1 as the underlaying 
DM target to support pvmove

used in cluster, since currect pvmove is using mirror target now?


So I think cmirror should be left in the clvm era and not brought forward.


By the way, another thing I'd to ask about:   Do we really want to drop 
the concept of clvm?


From my understanding, lvmlockd is going to replace only "clvmd" 
daemon, not clvm in exact.
clvm is apparently short for cluster/cluster-aware LVM, which is 
intuitive naming. I see clvm
as an abstract concept, which is consisted of two pieces: clvmd and 
cmirrord. IMHO, I'd like to
see the clvm concept remains, no matter what we deal with the clvmd and 
cmirrord. It might

be good for user or documentation to digest the change :)

Regards,
Eric




___
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/

Re: [linux-lvm] The benefits of lvmlockd over clvmd?

2018-01-09 Thread Eric Ren

Hi David,

Thanks for your explanations!

On 01/10/2018 12:06 AM, David Teigland wrote:

On Tue, Jan 09, 2018 at 11:15:24AM +0800, Eric Ren wrote:

Hi David,

Regarding the question of the subject, I can think of three main benefits of
lvmlockd over clvmd:

- lvmlockd supports two cluster locking plugins: dlm and sanlock. sanlock
plugin can supports up to ~2000 nodes
that benefits LVM usage in big virtulizaton/storage cluster,

True, although it's never been tried anywhere near that many.  The main
point hiding behind the big number is that hosts are pretty much unaware
of each other, so adding more doesn't have any affect, and when something
happens to one, others are unaffected because they are unaware.


The comments above is only talking about lvmlockd with sanlock, and it's
because the different protocols/algorithms used by them: sanlock with Paxos,
dlm with corosync, right?




while dlm plugin fits HA clsuter.

- lvmlockd has better design than clvmd. clvmd is command-line level based
locking system, which means the
  whole LVM software will get hang if any LVM command gets dead-locking
issue. However, lvmlockd is *resources* based
cluster locking. The resources to protect is VG and LV so that the deadlock
issue will be isolated inside the resource and
operations on other VG/LV can still proceed.


Is this point roughly true?



- lvmlockd can work with lvmetad.

But, I may be wrong in some points. Could you please help correct me and
complete the benefit list?

To me the biggest benefit is the design and internal implementation, which
I admit don't make for great marketing.  The design in general follows the
idea described above, in which hosts fundamentally operate unaware of


Sorry, "the idea described above" by me?


others and one host never has any effect on another.  That's diametrically


For example, with clvmd the command "lvchange -ay VG/LV" will try to 
activate the LV
on every hosts, but with lvmlockd, we need to perform "lvchange -asy" on 
each host :)



opposite to the original clvm "single system image" design in which
everything that happens is in theory meant to be happening everywhere.


Got it. Thanks again.

Regards,
Eric

___
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/