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

btrfs filesystem monitoring; #3150

Merged
merged 13 commits into from Dec 19, 2017
Merged

btrfs filesystem monitoring; #3150

merged 13 commits into from Dec 19, 2017

Conversation

ktsaou
Copy link
Member

@ktsaou ktsaou commented Dec 17, 2017

fixes #3095 (check it for the discussion of this implementation - we went through a few phases)

btrfs monitoring:

  1. physical disk space allocation + alarm
  2. data allocation + alarm
  3. metadata allocation + alarm
  4. system allocation + alarm

screenshot from 2017-12-19 01-15-38


also re-arranged the priorities of NFS and ZFS to appear after Disk on the dashboard, and all of them close to each other.

@Ferroin
Copy link
Member

Ferroin commented Dec 18, 2017

I've left some comments about the implementation in the associated issue (#3095, I saw the messages for that before I saw the PR).

Beyond those comments though, I've tested this, and it all works as advertised for every setup I tested (single disk with both single and dup profile, two disks with raid1, raid0, single, and dup profile, and 4 disks with raid10 profile).

@ktsaou
Copy link
Member Author

ktsaou commented Dec 18, 2017

@Ferroin thanks!
Check the new one too. It is implemented as we agreed (physical disk monitoring, etc).

@Ferroin
Copy link
Member

Ferroin commented Dec 18, 2017

@ktsaou Comments about the implementation back on the issue.

I won't be able to test this today, but will try to get to it first thing tomorrow.

@ktsaou
Copy link
Member Author

ktsaou commented Dec 18, 2017

@Ferroin this is done.
I have added dashboard information and alarms.

Ideally, I would love to have a better description above each chart. I used a few of your phrases already. If you can spare some time on this I would love to add better info and possibly simple instructions or links to related documentation.

This is what I have added:

    'btrfs.disk': {
        info: 'Physical disk usage of BTRFS. The disk space reported here, is the raw physical disk space assigned to the BTRFS volume (i.e. <b>before any RAID levels</b>). BTRFS uses a two-stage allocator, first allocating large regions of disk space for one type of block (data, metadata, or system), and then using a regular block allocator inside those regions. <code>unallocated</code> is the physical disk space that is not allocated yet and is available to become data, metdata or system on demand. When <code>unallocated</code> is zero, all available disk space has been allocated to a specific function.'
    },

    'btrfs.data': {
        info: 'Logical disk usage for BTRFS data. The disk space reported here is the usable allocation (i.e. after any RAID levels).'
    },

    'btrfs.metadata': {
        info: 'Logical disk usage for BTRFS metadata. The disk space reported here is the usable allocation (i.e. after any RAID levels).'
    },

    'btrfs.system': {
        info: 'Logical disk usage for BTRFS system. The disk space reported here is the usable allocation (i.e. after any RAID levels).'
    }

@Ferroin
Copy link
Member

Ferroin commented Dec 19, 2017

I can look into providing a better description, but it will probably be later this week.

I don't know whether you want to merge what's here now, and I can just submit a PR to update the descriptions, or just wait for me to get the updated descriptions, but I'm fine with either option.

@ktsaou ktsaou merged commit c62f66e into netdata:master Dec 19, 2017
@ktsaou
Copy link
Member Author

ktsaou commented Dec 19, 2017

ok. looking forward for your PR...
merged it.

@Ferroin
Copy link
Member

Ferroin commented Dec 19, 2017

OK, I'll look at getting the PR made out some time this week.

I'm also going to make an announcement on the BTRFS mailing list that Netdata now has support for monitoring BTRFS space usage, so you may get an above average influx of new users over the next few weeks (there's a very significant demand for better monitoring with BTRFS).

@ktsaou
Copy link
Member Author

ktsaou commented Dec 19, 2017

perfect!

@Ferroin
Copy link
Member

Ferroin commented Dec 19, 2017

OK, just took the time to read through the actual descriptions you provided, and I don't think I can come up with any better descriptions without getting into the really-technical low-level stuff about the allocator. Unless you particularly want me to come up with such highly-technical descriptions, I think it's best to just leave them as-is.

@ktsaou
Copy link
Member Author

ktsaou commented Dec 19, 2017

hm... ok. I was thinking of some information about what can be done when people run out of space. I mean, if I run out of btrfs space, I normally search for something to guide me how to reclaim space.

But anyway, you know...

@Ferroin
Copy link
Member

Ferroin commented Dec 20, 2017

Good point. I"ll look at getting something a bit more descriptive written up today, but it likely won't be much beyond basic advice. If things are bad enough that you really are out of space, then it's generally simpler to just blow away the whole volume and restore from a backup (onto a bigger volume of course), and I don't feel that it presents the best image to put such advice in the descriptions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Request for more intellectual free space count with btrfs
2 participants