This is working!
rados -p fs_meta getxattr $(printf "%x" 1099519896355).00000000 parent |
ceph-dencoder type inode_backtrace_t import - decode dump_json
{
"ino": 1099519896355,
"ancestors": [
{
"dirino": 1099519874624,
"dname": "xxxx",
"version": 3299
},
{
"dirino": 1,
"dname": "xxx",
"version": 1424947
}
],
"pool": 19,
"old_pools": []
}
-----Original Message-----
From: Frank Schilder [mailto:[email protected]]
Sent: 18 December 2019 10:43
To: Lars Täuber
Cc: Marc Roos; ceph-users
Subject: Re: [ceph-users] Re: list CephFS snapshots
I found it, should have taken a note:
Command: rados -p <CephFS data pool> getxattr <CephFS Inode
Number>.00000000 parent | ceph-dencoder type inode_backtrace_t import -
decode dump_json
Note: <CephFS Inode Number> is hex encoded, use 'printf "%x\n" INUM' to
convert from the decimal numbers obtained with dump snaps.
Explanation:
<http://lists.ceph.com/pipermail/ceph-users-ceph.com/2019-May/034958.html>
I don't have snapshots enabled and cannot test. Could you confirm to the
mailing list that the above procedure will provide the path information
all the way down to the actual snap dir, that is, contains entries
".snap" and "<DirName under .snap>" at the top?
Best regards,
=================
Frank Schilder
AIT Risø Campus
Bygning 109, rum S14
________________________________________
From: Lars Täuber <[email protected]>
Sent: 18 December 2019 09:24:02
To: Frank Schilder
Cc: Marc Roos; ceph-users
Subject: Re: [ceph-users] Re: list CephFS snapshots
Hi Frank,
thanks for you hint. The find for the inode is really fast. At least
fast enough for me:
$ time find /mnt/point -inum 1093514215110 -print -quit
real 0m3,009s
user 0m0,037s
sys 0m0,032s
Cheers,
Lars
Tue, 17 Dec 2019 15:08:06 +0000
Frank Schilder <[email protected]> ==> Marc Roos <[email protected]>,
taeuber <[email protected]> :
> I think you can do a find for the inode (-inum n). At last I hope you
can.
>
> However, I vaguely remember that there was a thread where someone gave
a really nice MDS command for finding the path to an inode in no time.
>
> Best regards,
>
> =================
> Frank Schilder
> AIT Risø Campus
> Bygning 109, rum S14
>
> ________________________________________
> From: Marc Roos <[email protected]>
> Sent: 17 December 2019 14:19:54
> To: Frank Schilder; taeuber
> Cc: ceph-users
> Subject: RE: [ceph-users] Re: list CephFS snapshots
>
> Thanks, Good tip! If I do not know where I created these, is there a
way
> to get their location in the filesystem? Or maybe a command that
deletes
> by snapid?
>
>
> {
> "snapid": 54,
> "ino": 1099519875627,
> "stamp": "2017-09-13 21:21:35.769863",
> "name": "snap-20170913"
> },
> {
> "snapid": 153485,
> "ino": 1099519910289,
> "stamp": "2019-10-06 03:18:03.933510",
> "name": "snap-6"
> },
> {
> "snapid": 153489,
> "ino": 1099519910289,
> "stamp": "2019-10-07 03:21:03.218324",
> "name": "snap-7"
> },
>
>
>
> -----Original Message-----
> Cc: [email protected]
> Subject: [ceph-users] Re: list CephFS snapshots
>
> Have you tried "ceph daemon mds.NAME dump snaps" (available since
> mimic)?
>
> =================
> Frank Schilder
> AIT Risø Campus
> Bygning 109, rum S14
>
> ________________________________________
> From: Lars Täuber <[email protected]>
> Sent: 17 December 2019 12:32:34
> To: Stephan Mueller
> Cc: [email protected]
> Subject: [ceph-users] Re: list CephFS snapshots
>
> Hi Michael,
>
> thanks for your gist.
> This is at least a way to do it. But there are many directories in our
> cluster.
> The "find $1 -type d" lasts for about 90 minutes to find all 2.6
million
> directories.
>
> Is there another (faster) way e.g. via mds?
>
> Cheers,
> Lars
>
>
> Mon, 16 Dec 2019 17:03:41 +0000
> Stephan Mueller <[email protected]> ==> "[email protected]"
> <[email protected]>, "[email protected]" <[email protected]> :
> > Hi Lars,
> >
> > > Is there a mean to list all snapshots existing in a (subdir of)
> > > Cephfs?
> > > I can't use the find dommand to look for the ".snap" dirs.
> >
> > You can, but you can't search for the '.snap' directories, you have
to
>
> > append them to the directory like `find $cephFsDir/.snap` but I it's
> > better to use `ls` instead, to list all snapshots.
> >
> > >
> > > I'd like to remove certain (or all) snapshots within a CephFS. But
> > > how do I find them?
> > >
> >
> > I just created a gist for you that can do that:
> > https://gist.github.com/Devp00l/2473f5953d578f440fc71b3d602a9c23
> >
> > As you can see in the script, snapshots starting with an underscore
> > are filtered out as these directories belong to snapshots that were
> > created in upper directories and these underscore snapshots can't be
> > used for deletion.
> >
> > The deletion of a snapshot can be done by calling `rmdir`.
> >
> > But if you really want to manage CephFS snapshots easily take a look
> > at the dashboard, as we have integrated the snapshot and quota
> > management by now :)
> >
> > You can delete multiple snapshots of a directory or just create new
> > snapshots on a directory basis easily through the UI.
> >
> >
> > Stephan
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]