This well and truly falls into the “old dog learns new trick” category.
During a discussion last week about how NetWorker tracks dependencies (a topic near to my heart), someone mentioned a way to get NetWorker to quickly show dependencies between savesets using nsrim. This is something I’d never known about! Instead, in the past, I’d built my own scripts/utilities to let me display dependency trees for backup chains. It turns out all that effort was unnecessary.
The trick, it seems, is to get nsrim to run a check for a client in verbose mode, but so that you don’t modify what you’re looking at, you use the -n option to merely display information.
Here’s what the command and output looks like:
$ nsrim -nv -c abydos 62172:nsrim: nsrim has started at Sun May 10 16:55:56 2020. 86069:nsrim: Processing 1 clients abydos.turbamentis.int:/, 10 browsable cycle(s) 4234382534 3/07/20 f 165375 files 7086 MB browse 2237980231 3/08/20 i 145 files 178 MB browse 694562759 3/09/20 i 131 files 181 MB browse 3731325255 3/10/20 i 135 files 183 MB browse 2590560967 3/11/20 i 135 files 176 MB browse 1399465031 3/12/20 i 128 files 122 MB browse 275477959 3/13/20 i 135 files 131 MB browse 4251764551 3/14/20 f 165375 files 7085 MB browse 3077445831 3/15/20 i 2325 files 679 MB browse 1953458759 3/16/20 i 129 files 123 MB browse 795917255 3/17/20 i 139 files 182 MB browse 3933343047 3/18/20 i 137 files 174 MB browse 2809355975 3/19/20 i 131 files 177 MB browse 1668591687 3/20/20 i 66261 files 938 MB browse 645267910 3/21/20 f 165385 files 7088 MB browse 3799470918 3/22/20 i 145 files 179 MB browse 2625152199 3/23/20 i 134 files 181 MB browse 1501165127 3/24/20 i 132 files 184 MB browse 343623622 3/25/20 i 134 files 177 MB browse 3447494982 3/26/20 i 132 files 171 MB browse 2306730695 3/27/20 i 140 files 183 MB browse 3716103239 3/28/20 f 165385 files 7087 MB browse 2625670599 3/29/20 i 141 files 177 MB browse 1468129096 3/30/20 i 137 files 180 MB browse 3598921927 3/31/20 i 139 files 183 MB browse 2542043719 4/01/20 i 146 files 182 MB browse 1418056647 4/02/20 i 141 files 178 MB browse 243737928 4/03/20 i 140 files 181 MB browse 3347609287 4/04/20 f 165385 files 7085 MB browse 2072595685 4/05/20 i 6013 files 490 MB browse 1351177113 4/05/20 i 27 files 3965 KB browse 915002967 4/05/20 i 37 files 5891 KB browse 176837958 4/06/20 i 128 files 178 MB browse 3465226198 4/06/20 i 37 files 8654 KB browse 2391570775 4/07/20 i 136 files 188 MB browse 1116588759 4/08/20 i 136 files 185 MB browse 4237237335 4/09/20 i 143 files 180 MB browse 2928684836 4/10/20 i 134 files 124 MB browse 2375052763 4/10/20 i 26 files 9544 KB browse 1133625175 4/11/20 f 171130 files 7185 MB browse 4187164886 4/12/20 i 143 files 130 MB browse 2979291735 4/13/20 i 135 files 178 MB browse 1804973015 4/14/20 i 134 files 181 MB browse 664208727 4/15/20 i 128 files 127 MB browse 3734525655 4/16/20 i 132 files 130 MB browse 2509875287 4/17/20 i 132 files 179 MB browse 1302002139 4/18/20 f 171134 files 7186 MB browse 144460630 4/19/20 i 143 files 185 MB browse 3214777558 4/20/20 i 135 files 123 MB browse 2006904408 4/21/20 i 131 files 180 MB browse 815808470 4/22/20 i 130 files 182 MB browse 3902902614 4/23/20 i 129 files 128 MB browse 2644697815 4/24/20 i 139 files 180 MB browse 1470379094 4/25/20 f 171134 files 7186 MB browse 279283158 4/26/20 i 141 files 182 MB browse 3316045654 4/27/20 i 136 files 185 MB browse 2124949718 4/28/20 i 90546 files 1863 MB browse 1000962646 4/29/20 i 140 files 181 MB browse 3668626391 4/30/20 i 5878 files 787 MB browse 2477530458 5/01/20 i 141 files 179 MB browse 1303211735 5/02/20 f 171578 files 7200 MB browse 95338583 5/03/20 i 139 files 127 MB browse 3199209943 5/04/20 i 137 files 186 MB browse 2024891228 5/05/20 i 130 files 179 MB browse 817018071 5/06/20 i 136 files 182 MB browse 3853780567 5/07/20 i 138 files 184 MB browse 2662684631 5/08/20 i 133 files 187 MB browse 1505143127 5/09/20 f 171577 files 7198 MB browse 1861273 browsable files of 1861273 total, 84 GB recoverable of 84 GB total
I love the simplicity of this – that’s your dependency chain list just printed, one line after the other. The backups are listed in date order allowing you to readily see which backups depend on prior backups.
Remember, being able to map out dependency chains in NetWorker is a great way to answer that question, why aren’t my backups recycling? Other questions, too, but in particular for anyone who grew up with tape, understanding where long dependency chains were building up because of say, a failed full backup has always been an essential activity.
Hey, I’ve just had a new book published! You can check it out, here.
could have used this one instead of mminfo (*) when looking into an issue why nsrim was running 15+ hours, which seemed always to report nothing for one and the same client for hours on end before showing nsrim output again in the daemon.log, until found that this was a Database module client that did not have its full backup enabled but still had multiple transaction log backups every day, hence the chain ended up being hundreds of thousands of savesets and ever increasing, never expiring already expired data to keep the chain intact. That one client had more ssid’s than all other 2000+ clients combined, not even that much data really.
DB admins didn’t notice. We didn’t notice. Only the circumstantial evidence of nsrim taking forever to finish. Went under the radar for quiet some time.
So now will take into account how long nsrim runs as it might be an indication that something might be very wrong. Also will be looking into (possible ever increasing) amount of ssid’s of a client.
(*) mminfo for this client also took more than 15 minutes or so to run.