-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
docs: update NFS docs #9281
docs: update NFS docs #9281
Conversation
3bc6980
to
f013032
Compare
Documentation/ceph-nfs-crd.md
Outdated
|
||
## Overview | ||
|
||
Rook allows exporting NFS shares of the filesystem or object store through the CephNFS custom resource definition. This will spin up a cluster of [NFS Ganesha](https://github.com/nfs-ganesha/nfs-ganesha) servers that coordinate with one another via shared RADOS objects. The servers will be configured for NFSv4.1+ access, as serving earlier protocols can inhibit responsiveness after a server restart. | ||
> **WARNING**: We do not recommend using NFS in Ceph v16.2.0 through v16.2.6. If you are using Ceph |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about moving the warning after the opening paragraph? Then we can start off with a description about the feature before we warn them not to use it. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done 👍
Documentation/ceph-nfs-crd.md
Outdated
|
||
## Overview | ||
|
||
Rook allows exporting NFS shares of the filesystem or object store through the CephNFS custom resource definition. This will spin up a cluster of [NFS Ganesha](https://github.com/nfs-ganesha/nfs-ganesha) servers that coordinate with one another via shared RADOS objects. The servers will be configured for NFSv4.1+ access, as serving earlier protocols can inhibit responsiveness after a server restart. | ||
> **WARNING**: We do not recommend using NFS in Ceph v16.2.0 through v16.2.6. If you are using Ceph | ||
> v15, please wait to upgrade until v16.2.7 is released. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This statement will hopefully be obsolete in the next few days when it's released. What if we just assume it's released so we don't need to revisit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. 👍
Documentation/ceph-nfs-crd.md
Outdated
|
||
The following sample will create a two-node active-active cluster of NFS Ganesha gateways. The recovery objects are stored in a RADOS pool named `myfs-data0` with a RADOS namespace of `nfs-ns`. | ||
## Samples | ||
The following sample assumes Ceph v15 and will create a two-node active-active cluster of NFS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we actually assuming v16.2.7 now, instead of v15?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change this and the example manifest I think
Documentation/ceph-nfs-crd.md
Outdated
When a CephNFS is first created, all NFS daemons within the CephNFS cluster will share a | ||
configuration with no exports defined. | ||
|
||
### For Ceph v15 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to document v15 exports? Seems like we should concentrate docs on 16.2.7+.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We still support v15, and I still took the time to write the documentation, so I don't see the hurt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks more like a Ceph documentation rather than a Rook at this point 😅
@@ -72,55 +82,395 @@ spec: | |||
priorityClassName: | |||
``` | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BlaineEXE : I have a generic question, is it planned to support CRs for Exports
in near future?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seb and I believe that exports are something that should be enabled by a new mode added to the Ceph-CSI driver rather than CRs.
Documentation/ceph-nfs-crd.md
Outdated
|
||
## Overview | ||
Rook allows exporting NFS shares of the filesystem or object store through the CephNFS custom |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the "object store" are you referring to rgw-nfs? If so, it's not using CephFS but simply RGW.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will clarify by changing this to CephFilesystem
and CephObjectStore
. I'm not sure what rgw-nfs
is?
Documentation/ceph-nfs-crd.md
Outdated
NFS configuration is stored in a Ceph pool so that it is highly available and protected. How that is | ||
configured changes depending on the Ceph version. Configuring the pool is done via the `rados` config. | ||
|
||
> **WARNING**: Do not use error corrected (EC) pools for NFS. NFS-Ganesha uses OMAP which is not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error corrected pools? Did you mean Erasure Coded pools? It's the first time I'm hearing this term in Ceph... If I missed something, how do people know they are using an error corrected pool?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
YES LOL!
I'll add a link
Documentation/ceph-nfs-crd.md
Outdated
When a CephNFS is first created, all NFS daemons within the CephNFS cluster will share a | ||
configuration with no exports defined. | ||
|
||
### For Ceph v15 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks more like a Ceph documentation rather than a Rook at this point 😅
ensure the necessary Ceph mgr modules are enabled and that the Ceph orchestrator backend is set to | ||
Rook. | ||
```console | ||
ceph mgr module enable rook |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we recommend setting the enabled module in the mgr spec instead of jumping in the toolbox? Also I think the porch rook backend might be enabled already...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They have to use the toolbox to create the exports anyway. Because of that, IMO, it's simpler just to say "enable this in the toolbox" so we don't have to cross-link to the CephCluster. But this is a nuance I think we could talk about more. Maybe that would be fine for a follow-up? @leseb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes and I don't feel really strong about it too, also later on you recommend disabling the module so it's probably not worth editing the CR for this :).
Documentation/ceph-nfs-crd.md
Outdated
``` | ||
mount -t nfs4 -o proto=tcp <nfs-service-ip>:/ <mount-location> | ||
``` | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unecessary blank line?
Documentation/ceph-nfs-crd.md
Outdated
|
||
## Upgrading from Ceph v15 to v16 | ||
We do not recommend using NFS in Ceph v16.2.0 through v16.2.6 due to bugs in Ceph's NFS | ||
implementation. If you are using Ceph v15, please wait to upgrade until Ceph v16.2.7 is released. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v16.2.7 is available now.
started. Scaling down the cluster requires that clients be migrated from servers that will be | ||
eliminated to others. That process is currently a manual one and should be performed before reducing | ||
the size of the cluster. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unecessary blank line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been keeping two newlines between the major lvl-2 headers to help with navigating the raw .md file a bit easier.
deploy/examples/nfs-test.yaml
Outdated
# RADOS namespace where NFS client recovery data is stored in the pool. | ||
namespace: nfs-ns | ||
|
||
# For Ceph v15, use the block here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we care for the -test.taml
? The cluster-test.yaml points to v16.2 already so I don't think we need to repeat this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I can remove the changes in nfs-test.yaml
Rook allows exporting NFS shares of the filesystem or object store through the CephNFS custom | ||
resource definition. This will spin up a cluster of | ||
[NFS Ganesha](https://github.com/nfs-ganesha/nfs-ganesha) servers that coordinate with one another | ||
via shared RADOS objects. The servers will be configured for NFSv4.1+ access only, as serving |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here it is mention nfsv4.1+ but all the below examples is defined with nfsv4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's fine in the two other places where it appears. The .1+ isn't strictly necessary to know for those since v4.1 is also still v4.
# RADOS namespace where NFS client recovery data is stored in the pool. | ||
namespace: nfs-ns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did remove this from nfs-test.yaml
because it is only relevant for octopus.
24108e2
to
27a0a6e
Compare
NFS docs need to be updated to reflect changes between Octopus and Pacific, how users are affected, how NFS is configured differently between the Ceph versions, and how to upgrade from one Ceph version to the other. Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
rados: | ||
# The Ganesha pool spec. Must use replication. | ||
poolConfig: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the poolConfig
be under rados
? If so, the comment above on line 8 is confusing about how the rados settings aren't necessary now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose we do have time to change this before cutting the 1.8 release since it was added recently by Seb. IMO, I would put poolConfig
on the top level, like you are suggesting. I think having a rados
block seems a little too specific. Let's bring @leseb into this discussion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now, I'll merge this since I think changing the spec is orthogonal and good for a follow-up PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh right, we still have time before cutting 1.8. I guess this used to be valid while the RadosSpec made sense, but not anymore. +1 from moving to the top-level.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also wonder whether we should have this here or not. If there are multiple CephNFS specs, they may contend with each other to set different replication settings on the same .nfs
pool. Maybe we should just remove this config and allow .nfs
to be managed by @travisn 's suggestion here: #9209 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure, but I agree the multiple CR is a concern. However, is this a valid use case? Should we support it? Especially if they all end up using the same pools.
I'm not really keen on leaving the pool management to the user, the nfs implementation is already complex enough (at least the migration).
docs: update NFS docs (backport #9281)
NFS docs need to be updated to reflect changes between Octopus and
Pacific, how users are affected, how NFS is configured differently
between the Ceph versions, and how to upgrade from one Ceph version to
the other.
Signed-off-by: Blaine Gardner blaine.gardner@redhat.com
Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:
make codegen
) has been run to update object specifications, if necessary.