Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE]Native RWX with Longhorn volume #1470

Closed
yasker opened this issue Jun 8, 2020 · 11 comments
Closed

[FEATURE]Native RWX with Longhorn volume #1470

yasker opened this issue Jun 8, 2020 · 11 comments
Assignees
Labels
area/v1-data-engine v1 data engine (iSCSI tgt) component/longhorn-manager Longhorn manager (control plane) highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal require/manual-test-plan Require adding/updating manual test cases if they can't be automated
Milestone

Comments

@yasker
Copy link
Member

yasker commented Jun 8, 2020

We want to support RWX on Longhorn. Probably using NFS protocol in someway.

@yasker yasker added kind/feature Feature request, new feature area/v1-data-engine v1 data engine (iSCSI tgt) component/longhorn-manager Longhorn manager (control plane) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/automation-engine require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal require/manual-test-plan Require adding/updating manual test cases if they can't be automated labels Jun 8, 2020
@yasker yasker added this to the v1.1.0 milestone Jun 8, 2020
@yasker yasker added the highlight Important feature/issue to highlight label Jun 10, 2020
@yasker yasker added the priority/0 Must be fixed in this release (managed by PO) label Jun 12, 2020
@yasker yasker changed the title [FEATURE]RWX with High availability [FEATURE]Enhanced RWX with Longhorn volume Oct 6, 2020
@yasker yasker changed the title [FEATURE]Enhanced RWX with Longhorn volume [FEATURE]Native RWX with Longhorn volume Oct 6, 2020
@SoutisV
Copy link

SoutisV commented Nov 18, 2020

With the current nfs-provisioner it takes around 90sec for the failover. Would be supported in v1.1.0 a HA setup for RWX?

@yasker
Copy link
Member Author

yasker commented Nov 18, 2020

@SoutisV Unfortunately it's not going to be HA RWX. It's very hard to do zero downtime HA RWX with Longhorn which is designed to be a distributed block storage system instead of a distributed filesystem.

@longhorn-io-github-bot
Copy link

longhorn-io-github-bot commented Dec 7, 2020

Pre-merged Checklist

@zbialik
Copy link

zbialik commented Dec 9, 2020

Is there really no plan to make the longhorn-nfs-provisioner available in a HA setup? Having a single point of failure for a shared persistent volume for my RWX workloads is not ideal. A 90 second fail over is a deal breaker.

If its the longhorn storage-class that is limiting the longhorn-nfs-provisioner from replicating the storage quick enough for zero downtime, could another storage-class be leveraged? I know that the Service ClusterIP gets hardcoded and the docs say it must be linked to a single pod, but is there any reason why this Service ClusterIP couldn't front 2 or 3 pods?

@yasker
Copy link
Member Author

yasker commented Dec 15, 2020

@zbialik It's complicated to get a HA NFS working for a block storage system like Longhorn. The cluster IP can front multiple Pods, but those Pods must have the same data to keep it consistent across the board. Also, each NFS server has an internal state machine that needs to keep consistent across the whole setup. And in the case of losing one NFS server, we need to handle the traffic on the fly as well to prevent data corruption.

We've spent a lot of effort trying to piece everything together, but unfortunately, we still face technical difficulties to get it right in this release. We will investigate more after the v1.1.0 release.

@zbialik
Copy link

zbialik commented Dec 15, 2020

Thanks for the explanation!

@khushboo-rancher
Copy link
Contributor

Verified the RWX feature with Longhorn v1.1.0-rc1

Validation - Pass

Executed test cases from longhorn/longhorn-tests#496.

@khushboo-rancher
Copy link
Contributor

Closing this as the validation is completed.

@taxilian
Copy link

taxilian commented Jan 2, 2021

The documentation is still pointing to old information; I'm currently trying to figure out how to do this, hoping the lack of docs means to just use the flag?

@yardenshoham
Copy link
Contributor

@taxilian
Copy link

taxilian commented Jan 2, 2021 via email

joshimoo added a commit to joshimoo/longhorn that referenced this issue Jan 19, 2021
Longhorn longhorn#1470

Signed-off-by: Joshua Moody <joshua.moody@rancher.com>
joshimoo added a commit to joshimoo/longhorn that referenced this issue Feb 16, 2021
Longhorn longhorn#1470

Signed-off-by: Joshua Moody <joshua.moody@rancher.com>
yasker pushed a commit that referenced this issue Feb 16, 2021
Longhorn #1470

Signed-off-by: Joshua Moody <joshua.moody@rancher.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/v1-data-engine v1 data engine (iSCSI tgt) component/longhorn-manager Longhorn manager (control plane) highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal require/manual-test-plan Require adding/updating manual test cases if they can't be automated
Projects
None yet
Development

No branches or pull requests

8 participants