heming.zhao at suse.com
2022-Aug-01 01:01 UTC
[Ocfs2-devel] [PATCH 3/4] re-enable "ocfs2: mount shared volume without ha stack"
Hello Mark, On 8/1/22 01:42, Mark Fasheh wrote:> Hi Heming, > > On Fri, Jul 29, 2022 at 6:15 PM Heming Zhao via Ocfs2-devel > <ocfs2-devel at oss.oracle.com> wrote: >> >> the key different between local mount and non-clustered mount: >> local mount feature (tunefs.ocfs2 --fs-features=[no]local) can't do >> convert job without ha stack. non-clustered mount feature can run >> totally without ha stack. > > Can you please elaborate on this? Local mounts can run without a > cluster stack so I don't see the difference there. We haveI am using pacemaker cluster stack. In my env, the trouble of the converting between local and clustered mounts are only happening on cluster stack. the non-clustered mount feature (Gang He commit: 912f655d78c5) gave ocfs2 the ability to mount volume at any env (with/without cluster stack). The 912f655d78c5 derived from SUSE customer complain: User wanted to fsck the backup ocfs2 volume in non-clustered env. They wanted to access the volume quickly and didn't want to take time/resource to set up HA stack. (by the way, pcmk stack at least needs two nodes to set up a cluster.)> tunefs.ocfs2 look for and join the cluster so as to avoid corrupting > users data - that's a feature, not a bug. So what I'm seeing here is > just opening us to potential corruptions. Is there a specific use case > here that you're trying to account for? Are you fixing a particular > bug? >Tunefs.ocfs2 still needs HA/dlm stack to protect joining action. commit 912f655d78c5 works on non-clustered env, which needs other tech (eg. MMP) to protect corrupting. From my viewpoint, the non-clustered mount code is based on local mount code, which gives more flexible than local mount. non-clustered mount uses unify mount style align with clustered mount. I think users will like more to use non-clustered mount than using tunefs.ocfs2 to change mount type. Thanks, Heming
heming.zhao at suse.com
2022-Aug-01 02:25 UTC
[Ocfs2-devel] [PATCH 3/4] re-enable "ocfs2: mount shared volume without ha stack"
I found I didn't include Joseph in previous mail. On 8/1/22 09:01, heming.zhao--- via Ocfs2-devel wrote:> Hello Mark, > > On 8/1/22 01:42, Mark Fasheh wrote: >> Hi Heming, >> >> On Fri, Jul 29, 2022 at 6:15 PM Heming Zhao via Ocfs2-devel >> <ocfs2-devel at oss.oracle.com> wrote: >>> >>> the key different between local mount and non-clustered mount: >>> local mount feature (tunefs.ocfs2 --fs-features=[no]local) can't do >>> convert job without ha stack. non-clustered mount feature can run >>> totally without ha stack. >> >> Can you please elaborate on this? Local mounts can run without a >> cluster stack so I don't see the difference there. We have > > I am using pacemaker cluster stack. In my env, the trouble of the converting between > local and clustered mounts are only happening on cluster stack. > > the non-clustered mount feature (Gang He commit: 912f655d78c5) gave ocfs2 the ability > to mount volume at any env (with/without cluster stack). > The 912f655d78c5 derived from SUSE customer complain: User wanted to fsck the backup > ocfs2 volume in non-clustered env. They wanted to access the volume quickly and didn't > want to take time/resource to set up HA stack. (by the way, pcmk stack at least needs > two nodes to set up a cluster.)Ooh, above "needs two nodes to set up a cluster" is wrong. User could use a special corosync.conf to set up a single node cluster. But anyhow, the key is why we can't bypass the setup ha stack step.> >> tunefs.ocfs2 look for and join the cluster so as to avoid corrupting >> users data - that's a feature, not a bug. So what I'm seeing here is >> just opening us to potential corruptions. Is there a specific use case >> here that you're trying to account for? Are you fixing a particular >> bug? >> > > Tunefs.ocfs2 still needs HA/dlm stack to protect joining action. commit 912f655d78c5 > works on non-clustered env, which needs other tech (eg. MMP) to protect corrupting. > > From my viewpoint, the non-clustered mount code is based on local mount code, > which gives more flexible than local mount. non-clustered mount uses unify mount > style align with clustered mount. I think users will like more to use non-clustered > mount than using tunefs.ocfs2 to change mount type. > > Thanks, > Heming
Mark Fasheh
2022-Aug-04 23:53 UTC
[Ocfs2-devel] [PATCH 3/4] re-enable "ocfs2: mount shared volume without ha stack"
Hi Heming, On Sun, Jul 31, 2022 at 6:02 PM heming.zhao at suse.com <heming.zhao at suse.com> wrote:> > Hello Mark, > > On 8/1/22 01:42, Mark Fasheh wrote: > > Hi Heming, > > > > On Fri, Jul 29, 2022 at 6:15 PM Heming Zhao via Ocfs2-devel > > <ocfs2-devel at oss.oracle.com> wrote: > >> > >> the key different between local mount and non-clustered mount: > >> local mount feature (tunefs.ocfs2 --fs-features=[no]local) can't do > >> convert job without ha stack. non-clustered mount feature can run > >> totally without ha stack. > > > > Can you please elaborate on this? Local mounts can run without a > > cluster stack so I don't see the difference there. We have > > I am using pacemaker cluster stack. In my env, the trouble of the converting between > local and clustered mounts are only happening on cluster stack. > > the non-clustered mount feature (Gang He commit: 912f655d78c5) gave ocfs2 the ability > to mount volume at any env (with/without cluster stack). > The 912f655d78c5 derived from SUSE customer complain: User wanted to fsck the backup > ocfs2 volume in non-clustered env. They wanted to access the volume quickly and didn't > want to take time/resource to set up HA stack. (by the way, pcmk stack at least needs > two nodes to set up a cluster.)Ok. I had some time to look over the ext4 mmp patches. I feel like there are two questions here: 1) Is MMP a useful feature for Ocfs2 My answer is yes absolutely, the user should have the option to enable this on local mounts. 2) Should we allow the user to bypass our cluster checks? On this question I'm still a 'no'. I simply haven't seen enough evidence to warrant such a drastic change in policy. Allowing it via mount option too just feels extremely error-prone. I think we need to explore alternative avenues to help ing the user out here. As you noted in your followup, a single node config is entirely possible in pacemaker (I've run that config myself). Why not provide an easy way for the user to drop down to that sort of a config? I know that's kind of pushing responsibility for this to the cluster stack, but that's where it belongs in the first place. Another option might be an 'observer mode' mount, where the node participates in the cluster (and the file system locking) but purely in a read-only fashion.> > tunefs.ocfs2 look for and join the cluster so as to avoid corrupting > > users data - that's a feature, not a bug. So what I'm seeing here is > > just opening us to potential corruptions. Is there a specific use case > > here that you're trying to account for? Are you fixing a particular > > bug? > > > > Tunefs.ocfs2 still needs HA/dlm stack to protect joining action. commit 912f655d78c5 > works on non-clustered env, which needs other tech (eg. MMP) to protect corrupting.FWIW, I'm glad that we pulled commit 912f655d78c5 and I do not think we should go back to that paradigm.> From my viewpoint, the non-clustered mount code is based on local mount code, > which gives more flexible than local mount. non-clustered mount uses unify mount > style align with clustered mount. I think users will like more to use non-clustered > mount than using tunefs.ocfs2 to change mount type.Can we get rid of the mount option, and make mmp something that users can turn on for Ocfs2 local mounts? I don't recall if we make a slot map for local mounts or not but it wouldn't be difficult to add that. Btw, thank you very much for all of these patches, and also thank you for the very detailed test cases in your initial email. I'll try to give the actual code a review as well. Thanks, --Mark