Hi Thomas. Thanks for the reply and the helpful information.
For what it’s worth, we’ve had ATIME changelogs on for months and the Robinhood
changelog stats indicate that it’s processing fewer ATIME updates compared to
CLOSE, TRUNC, and SATTR updates. Of course that may just be our systems.
Are you saying the solution you proposed is possible today if we were running
Robinhood v3? I’ll keep that handy for when we are able to do a Robinhood
upgrade.
It’s understandable that Robinhood won’t keep track of block counts in real
time (and Lustre shouldn’t produce changelogs for that). But from what we’ve
seen, there are also instances where even after a file is closed not in use by
a job, the size information remains out of date. It’s as if some files “slip
through the cracks” and remain out of date. I would have expected that all
files get a final update upon closing due to a CLOSE or a SATTR changelog
generation, therefore not leaving closed files with an incorrect size. Is this
not how the changelogs should work?
Thanks,
Shawn
From: LEIBOVICI Thomas <thomas.leibov...@cea.fr>
Organization: CEA-DAM
Date: Tuesday, January 31, 2017 at 8:23 AM
To: Shawn Hall <shawn.h...@bp.com>, Jessica Otey <jo...@nrao.edu>,
"robinhood-support@lists.sourceforge.net"
<robinhood-support@lists.sourceforge.net>
Subject: Re: [robinhood-support] difference in fullness between rbh-du and lfs
df -h (on lustre filesystem)
Hi Jessica, Hi Shawn,
For performance reasons, Lustre Changelog does not report about each I/O.
So robinhood does not update entries block count each time a block is written
to a file.
This can explain that the space usage progressively differs.
Moreover, Lustre may have a lazy management of the block count attribute, as it
is not critical for application working, or POSIX compliance.
So even if robinhood stat() the file, if may not get the right value...
The solutions proposed by Shawn give robinhood more chances to get an
up-to-date information about block count, but there is no guaranty that this
results in a 100% up-to-date block count.
Solution 1 is right. I recommend it for your issue.
Solution 2 must have a significant performance impact, so it is not recommended
if your system is loaded.
The solution i'm thinking about (possible with robinhood v3) is to define an
"update" policy, that will do nothing except updating entry attributes.
For example, this policy could only apply to entries modified > 1h ago and <
1d, so robinhood will have a chance to get a up-to-date block count (by
querying it 1h after last change), and it only has to do this for recent
entries (the <1d condition).
I'd define a policy like this:
define_policy update {
default_action = none; # simply update entries, run no action
scope { type == file }
status_manager = none;
default_lru_sort_attr = none;
}
update_rules {
ignore { last_mod < 1h }
ignore { last_mod > 1d }
rule default {
condition = true; # apply to all entries (except above exclusions)
}
}
# run every 12h
update_trigger {
trigger_on = scheduled;
check_interval = 12h;
}
# to run it, the command line should include:
--run=update
Regards,
Thomas
On 01/24/17 16:50, Hall, Shawn (NAG) wrote:
Jessica,
We see the same issue. I posted my question back in October but haven’t heard
anything back: https://sourceforge.net/p/robinhood/mailman/message/35435513/
We are in a better place than before, but I still see some amount of
discrepancy over time. We haven’t done a scan since late October and are
staying reasonably in sync (not perfect though). I’ve done a couple things
that are helping us to stay more in sync:
1) In the Robinhood configuration file, I set md_update = always. From looking
through the source code, it appears this setting will force a metadata update
every time every chance it gets, which is more frequently than the default. I
don’t believe this has made a big impact, but it helps
(https://github.com/cea-hpc/robinhood/blob/5274d237105e04f20fc81258a927d9c4311ebc77/src/common/update_params.c#L428).
2) I also enabled ATIME changelogs. This is not recommended for production by
Lustre or Robinhood developers, but our metadata load is low enough that this
doesn’t cause problems. There seems to be a hierarchy to when/if changelogs
are reported
(http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/2016-March/013376.html),
and I believe this change is the one that has helped us keep in sync the most.
Both of these changes have performance ramifications and should be done at your
own risk, but in our situation they’ve seemed to help. I’d be very happy to
hear expert advice on keeping Robinhood in sync however.
Thanks,
Shawn
On 1/24/17, 9:24 AM, "Jessica Otey" <jo...@nrao.edu><mailto:jo...@nrao.edu>
wrote:
All,
I have been observing for a while now a difference between how full
robinhood believes our filesystem is and how full lfs df -h reports it is.
I am wondering if anyone has any insight into this.
A bit of history... I run frequent reports against the robinhood
database, which also include the output of the lfs df -h command.
Historically, the total based on rbh-du and lfs df were essentially
identical. Lately, they seem to keep growing apart--what seems to bring
them back together is doing a full scan of the file system. As time
passes after a scan (changelogs are on), the 'lfs df' command reports
that usage is more and more full than rbh-du says it is.
Indeed, I recently reinstalled (upgraded) my robinhood and noticed that
when the report ran precisely after the filescan and before the service
was activated (so no changelogs were being consumed) the difference was
precisely zero. I believe that is a clue... but I don't know why this is
happening (when there was a lengthy period where it wasn't happening) or
what to do to fix it.
Also, it might help to know that there is a non-negligible amount of
moving files from one OST to another taking place.
Thanks,
Jessica
--
Jessica Otey
System Administrator II
North American ALMA Science Center (NAASC)
National Radio Astronomy Observatory (NRAO)
Charlottesville, Virginia (USA)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
robinhood-support mailing list
robinhood-support@lists.sourceforge.net<mailto:robinhood-support@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/robinhood-support
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
robinhood-support mailing list
robinhood-support@lists.sourceforge.net<mailto:robinhood-support@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/robinhood-support
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
robinhood-support mailing list
robinhood-support@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/robinhood-support