Monitoring in Ganesha?
by Bjorn Leffler
Apart from the counters that you can access through dbus, is there any
other monitoring built into Ganesha?
I'm thinking of adding it with this higher level plan:
- Exporting metrics from Ganesha to Prometheus.
- Aggregate data in Prometheus.
- Display monitoring consoles and graphs with Grafana.
- Package up Prometheus, Grafana and the preconfigured rules/dashboards as
a Docker image.
- This makes it straightforward to deploy monitoring alongside a Gansha
binary.
My rough coding plan for the code is to:
- Add a USE_MONITORING directive to the CMakeLists.txt files.
- Add a build dependency to the Prometheus C client
<https://github.com/digitalocean/prometheus-client-c>.
- Create a src/monitoring directory for the new source files and templates.
- Increment counters and timers throughout the code.
- Use histograms to compute latency percentiles, heatmaps, etc.
Is this a good idea? Any objections or suggestions?
Thanks,
Bjorn
1 year, 10 months
Next week - meeting on Tuesday, no merge
by Frank Filz
I will be away from home most of next week.
We will have the Tuesday meeting and then I am done for the week so I will
not be doing a merge.
Thanks
Frank
2 years, 2 months
Announce Push of V4-dev.69
by Frank Filz
Branch next
Tag:V4-dev.69
Merge Highlights
* RADOS_KV: make rados_kv and rados_ng respect nodeid setting
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
6755b3fb2 Frank S. Filz V4-dev.69
a126b8076 Jeff Layton RADOS_KV: make rados_kv and rados_ng respect nodeid
setting
2 years, 2 months
Re: [NFS-Ganesha-Support] HA failover in less than five minutes?
by Jeff Layton
On Mon, 2021-07-19 at 10:37 -0400, Lars Kellogg-Stedman wrote:
> On Mon, Jul 19, 2021 at 09:37:43AM -0400, Jeff Layton wrote:
> > With the rados_cluster backend, you can also configure a nodeid to use.
> > If you set up a trivial rados_cluster with one (active/passive) host, I
> > expect it'll work more like you want. So, I'd set this in the NFSv4
> > block:
>
> Using `rados_cluster` and sharing a `nodeid`...
>
> NFSv4
> {
> RecoveryBackend = rados_cluster;
> Minor_Versions = 1,2;
> Grace_Period = 60;
> }
>
> [...]
>
> RADOS_KV
> {
> UserId = "nfsmeta";
> pool = "cephfs.tank.meta";
> namespace = "ganesha";
> nodeid = "nfs.storage";
> }
>
> ...seems to have resolved the problem; failover times now seem to
> track the `Grace_Period` setting.
>
Excellent! Thanks for confirming it.
> > Longer term, maybe we should allow rados_ng and rados_kv to set a static
> > nodeid too? That would also probably fix this for people who just want a
> > simple active/passive cluster. Basically we'd just need to add a
> > get_nodeid operation for them.
>
> Was I misusing `rados_ng`? All the docs I found said "use rados_ng for
> active/passive configurations".
>
Nope, that was an oversight on my part in implementing the RADOS_KV
"nodeid" setting. At the time I added it, I was focused on rados_cluster
and just didn't consider that rados_ng in an active/passive cluster
would also need a similar setting.
I think what we need to do is make rados_ng (and maybe rados_kv) also
respect the nodeid setting. The bottom line is that when you take over
serving an nfs over cephfs "service" from another entity, you need to
use the same nodeid that it used before so that the MDS releases things
properly.
I'll see about rolling some patches and updating the docs.
Thanks!
--
Jeff Layton <jlayton(a)redhat.com>
2 years, 2 months
Change in ...nfs-ganesha[next]: RADOS_KV: make rados_kv and rados_ng respect nodeid setting
by Jeff Layton (GerritHub)
Jeff Layton has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/521022 )
Change subject: RADOS_KV: make rados_kv and rados_ng respect nodeid setting
......................................................................
RADOS_KV: make rados_kv and rados_ng respect nodeid setting
Proper interaction with FSAL_CEPH requires that when one server takes
over for another, that it use the same nodeid setting as the original
server. This is properly implemented in rados_cluster backend, but
not in rados_ng or rados_kv.
Implement a get_nodeid op for rados_ng and rados_kv that just clones
the rados_kv_param value if there is one.
Change-Id: I9451e79c3ea7f051062bcad093865f7744c76151
Reported-by: Lars Kellogg-Stedman <lars(a)redhat.com>
Signed-off-by: Jeff Layton <jlayton(a)redhat.com>
---
M src/SAL/recovery/recovery_rados.h
M src/SAL/recovery/recovery_rados_kv.c
M src/SAL/recovery/recovery_rados_ng.c
M src/config_samples/ceph.conf
4 files changed, 16 insertions(+), 4 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/22/521022/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/521022
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I9451e79c3ea7f051062bcad093865f7744c76151
Gerrit-Change-Number: 521022
Gerrit-PatchSet: 1
Gerrit-Owner: Jeff Layton <jlayton(a)redhat.com>
Gerrit-MessageType: newchange
2 years, 2 months
Announce Push of V4-dev.68
by Frank Filz
Branch next
Tag:V4-dev.68
Merge Highlights
* FSAL_GLUSTER: fix double free in open2
* fsal_helper.c: Check owner and owner_group attributes set in open2
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
b4d7c4e10 Frank S. Filz V4-dev.68
edba4a5c1 Frank S. Filz Check owner and owner_group attributes in fsal_open2
0e48b4cfb Frank S. Filz FSAL_GLUSTER: fix double free of caller_garray when
nfs3_create fails
2 years, 2 months
Change in ...nfs-ganesha[next]: Check owner and owner_group attributes in fsal_open2
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520772 )
Change subject: Check owner and owner_group attributes in fsal_open2
......................................................................
Check owner and owner_group attributes in fsal_open2
If an open2 (create) is trying to set owner and/or owner_group,
do a permission check if non-root.
Change-Id: Iaba844815d22247a679530a7c430541391a28b43
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/fsal_helper.c
1 file changed, 51 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/72/520772/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520772
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Iaba844815d22247a679530a7c430541391a28b43
Gerrit-Change-Number: 520772
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
2 years, 2 months
Change in ...nfs-ganesha[next]: Add ability to drive NFSv3 RPCs for specific tests
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520771 )
Change subject: Add ability to drive NFSv3 RPCs for specific tests
......................................................................
Add ability to drive NFSv3 RPCs for specific tests
First test included to test NFSv3 CREATE setting group owner for file
to a group not represented in the RPC AUTH_SYS credentials for the
request.
Change-Id: I53c19af38c554825464efaf4cd33f83648f00f38
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/CMakeLists.txt
M src/MainNFSD/libganesha_nfsd.ver
A src/MainNFSD/testv3.c
3 files changed, 549 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/71/520771/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520771
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I53c19af38c554825464efaf4cd33f83648f00f38
Gerrit-Change-Number: 520771
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
2 years, 2 months
Announce Push of V4-dev.67
by Frank Filz
Branch next
Tag:V4-dev.67
Merge Highlights
* Use portable header to pull in bswap_* defs
* Updating CONTRIBUTING_HOWTO.txt
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
3b048616f Frank S. Filz V4-dev.67
0d7eb21a1 Frank S. Filz Updating CONTRIBUTING_HOWTO.txt
18e0dcf78 Matthew DeVore Use portable header to pull in bswap_* defs
2 years, 2 months