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:frans@dtu.dk]
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 <taeuber(a)bbaw.de>
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 <frans(a)dtu.dk> ==> Marc Roos <M.Roos(a)f1-outsourcing.eu>eu>,
taeuber <taeuber(a)bbaw.de> :
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 <M.Roos(a)f1-outsourcing.eu>
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: ceph-users(a)ceph.io
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 <taeuber(a)bbaw.de>
Sent: 17 December 2019 12:32:34
To: Stephan Mueller
Cc: ceph-users(a)ceph.io
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 <smueller(a)suse.com> ==> "taeuber(a)bbaw.de"
<taeuber(a)bbaw.de>de>, "ceph-users(a)ceph.io" <ceph-users(a)ceph.io> :
> 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