{"id":5923,"date":"2016-06-27T14:50:09","date_gmt":"2016-06-27T04:50:09","guid":{"rendered":"http:\/\/nsrd.info\/blog\/?p=5923"},"modified":"2018-12-11T10:53:38","modified_gmt":"2018-12-11T00:53:38","slug":"basics-linux-file-level-recovery-from-vmware-image-level-backups","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2016\/06\/27\/basics-linux-file-level-recovery-from-vmware-image-level-backups\/","title":{"rendered":"Basics \u2013 Linux File Level Recovery from VMware Image Level Backups"},"content":{"rendered":"<p>NetWorker 9 introduced a new, pure HTML5 web interface for the File Level Recovery interface for VBA, which works much the same way as the v8.x FLR, just without&nbsp;Flash.<\/p>\n<p><a href=\"https:\/\/nsrd.info\/blog\/2016\/06\/27\/basics-linux-file-level-recovery-from-vmware-image-level-backups\/file-cabinets-inside-the-screen-of-laptop-computer-laptop-and-f\/\" rel=\"attachment wp-att-5924\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5924\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders.jpg\" alt=\"VBA FLR\" width=\"900\" height=\"900\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders.jpg 900w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-150x150.jpg 150w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-300x300.jpg 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-768x768.jpg 768w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-144x144.jpg 144w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-96x96.jpg 96w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-24x24.jpg 24w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-36x36.jpg 36w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-48x48.jpg 48w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2016\/06\/bigStock-Files-and-Folders-64x64.jpg 64w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p>However, it also introduced&nbsp;<em>nsrvbaflr<\/em>, a command line utility that comes with the base&nbsp;NetWorker client install, which can be used on Linux or Windows virtual machines to execute file level recovery from VMware image level backups.<\/p>\n<p>Hang on, I hear you say \u2013&nbsp;VMware image level backups are meant to be&nbsp;<em>clientless<\/em>, so does that mean I have to start installing the client software just for FLR? Well, actually \u2013 no.<\/p>\n<p>A NetWorker Linux client install will include the&nbsp;<em>nsrvbaflr<\/em> utility in <strong>\/usr\/sbin<\/strong>, and this is a&nbsp;<em>standalone<\/em> binary. It&nbsp;doesn&#8217;t rely on any other binaries or libraries, so&nbsp;in order to use it on a Linux&nbsp;VMware instance, all you have to do is copy the binary across from a&nbsp;compatible client install. Since my NetWorker server (<strong>orilla<\/strong>) is a Linux host itself, that&#8217;s&nbsp;as simple as:<\/p>\n<pre>[Mon Jun 27 14:23:16]\n[\u2022 ~ \u2022]\npmdg@ganymede \n$<strong> ssh root@orilla<\/strong>\nroot@orilla's password: <em>&lt;&lt;password&gt;&gt;<\/em>\nLast login: Mon Jun 27 12:25:45 2016 from krynn.turbamentis.int\n[root@orilla ~]# <strong>scp \/usr\/sbin\/nsrvbaflr root@krell:\/root<\/strong>\nroot@krell's password: \nnsrvbaflr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100% &nbsp; &nbsp; &nbsp; &nbsp; 5655KB &nbsp; &nbsp; &nbsp;5.5MB\/s &nbsp; &nbsp;00:00<\/pre>\n<p>With the binary copied across FLR is only a step away.<\/p>\n<p>The <em>nsrvbaflr<\/em> utility can be run in interactive or non-interactive mode. I wanted to try it out in interactive mode, so the session started off like this:<\/p>\n<pre>[root@krell tmp]# <strong>nsrvbaflr<\/strong>\n-bash: nsrvbaflr: command not found\n[root@krell tmp]# <strong>\/root\/nsrvbaflr<\/strong>\nVBA hostname|IP: <strong>archon.turbamentis.int<\/strong>\n Successfully connected to VBA: (archon.turbamentis.int)\nvmware-flr&gt; <strong>locallogin<\/strong>\n Username: <strong>root<\/strong>\n Password: <em>&lt;&lt;password&gt;&gt;<\/em><\/pre>\n<p>I then had a bit of an exercise in debugging. You see, I&#8217;d finally rebuilt my home lab recently and part of that involved spinning up a whole bunch of individual virtual machines running CentOS 6.x to takeover functions previously&nbsp;collapsed to a single machine. So I&#8217;ve got&nbsp;independent Mail, Wiki and DNS\/DHCP servers, and of course I accepted the defaults on most of those systems leaving me with&nbsp;<em>ext4<\/em> filesystems, which the <strong>base<\/strong> VBA appliance can&#8217;t handle. This, of course, I&#8217;d forgotten. So of course, when I then tried out any command that would access the filesystem of&nbsp;a backup, I had this happen:<\/p>\n<pre>vmware-flr&gt; <strong>cd root<\/strong>\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n Backup browse request failed. Reason: (Unknown)\nvmware-flr&gt; <strong>pwd<\/strong>\n Backup working folder: Backup root\nvmware-flr&gt; <strong>ls<\/strong>\n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n Backup browse request failed. Reason: (Unknown)<\/pre>\n<p>After a little while wearing a thinking cap again, I remembered the&nbsp;<em>ext4<\/em> limitation, so I quickly provisioned a VBA Proxy within my home lab. (If you review the documentation for NetWorker VMware Integration, this is fairly clearly spelt out. Dolt that I was, I forgot.) Once that proxy was deployed, things went a whole lot more smoothly:<\/p>\n<pre>[root@krell tmp]# <strong>\/root\/nsrvbaflr<\/strong>\nVBA hostname|IP: <strong>archon.turbamentis.int<\/strong>\n Successfully connected to VBA: (archon.turbamentis.int)\nvmware-flr&gt; <strong>locallogin<\/strong>\n Username: <strong>root<\/strong>\n Password: <em>&lt;&lt;password&gt;&gt;<\/em>\n Successfully logged into client: (\/caprica.turbamentis.int\/VirtualMachines\/krell)\nvmware-flr&gt; <strong>backups<\/strong>\n Backups for client: \/caprica.turbamentis.int\/VirtualMachines\/krell\n Backup number: 54 Date: 2016\/06\/27 01:56 PM\n Backup number: 53 Date: 2016\/06\/27 02:00 AM\n Backup number: 52 Date: 2016\/06\/26 02:00 AM\n Backup number: 51 Date: 2016\/06\/25 02:01 AM\n Backup number: 50 Date: 2016\/06\/24 02:00 AM\n Backup number: 49 Date: 2016\/06\/23 02:01 AM\n Backup number: 48 Date: 2016\/06\/22 02:00 AM\n Backup number: 47 Date: 2016\/06\/21 02:01 AM\n Backup number: 46 Date: 2016\/06\/20 02:01 AM\n Backup number: 45 Date: 2016\/06\/19 02:01 AM\n Backup number: 44 Date: 2016\/06\/18 02:01 AM\n Backup number: 43 Date: 2016\/06\/17 02:01 AM\n Backup number: 42 Date: 2016\/06\/16 02:01 AM\n Backup number: 41 Date: 2016\/06\/15 02:01 AM\n Backup number: 40 Date: 2016\/06\/14 02:00 AM\n Backup number: 39 Date: 2016\/06\/13 02:01 AM\n Backup number: 38 Date: 2016\/06\/12 02:01 AM\n Backup number: 37 Date: 2016\/06\/11 02:01 AM\n Backup number: 36 Date: 2016\/06\/10 02:00 AM\n Backup number: 35 Date: 2016\/06\/09 02:01 AM\n Backup number: 34 Date: 2016\/06\/08 02:01 AM\n Backup number: 33 Date: 2016\/06\/07 02:01 AM\n Backup number: 32 Date: 2016\/06\/06 02:01 AM\n Backup number: 31 Date: 2016\/06\/05 02:01 AM\n Backup number: 30 Date: 2016\/06\/04 02:01 AM\n Backup number: 29 Date: 2016\/06\/03 02:01 AM\n Backup number: 28 Date: 2016\/06\/02 09:05 AM\n Backup number: 27 Date: 2016\/06\/02 02:01 AM\n Backup number: 26 Date: 2016\/06\/01 02:01 AM\n Backup number: 25 Date: 2016\/05\/31 02:01 AM\n Backup number: 24 Date: 2016\/05\/30 02:01 AM\n Backup number: 23 Date: 2016\/05\/29 02:01 AM\n Backup number: 22 Date: 2016\/05\/28 03:08 PM\n Backup number: 21 Date: 2016\/05\/28 02:00 AM\nvmware-flr&gt; <strong>backup 53<\/strong>\n Backup: (53) selected.\nvmware-flr&gt; <strong>cd root<\/strong>\n. . . . . . . . . . . . . . . . . . \nvmware-flr&gt; <strong>ls<\/strong>\n Folder: root\n Folder: .ssh 4 KB 2016\/06\/02 09:08 PM\n Folder: bin 4 KB 2016\/06\/07 11:09 PM\n File: .bash_history 4.9 KB 2016\/07\/20 07:58 AM\n File: .bash_logout 18 B 2009\/06\/20 10:45 AM\n File: .bash_profile 176 B 2009\/06\/20 10:45 AM\n File: .bashrc 176 B 2004\/10\/23 03:59 AM\n File: .cshrc 100 B 2004\/10\/23 03:59 AM\n File: .tcshrc 129 B 2005\/01\/03 09:42 PM\n File: anaconda-ks.cfg 1.5 KB 2016\/06\/02 08:25 PM\n File: install.log 26.7 KB 2016\/06\/02 08:25 PM\n File: install.log.syslog 7.4 KB 2016\/06\/02 08:24 PM\n\n2 Folder(s)\n 9 File(s)\nvmware-flr&gt; <strong>add install.log<\/strong>\n Path: (root\/install.log) successfully added to the recover queue.\nvmware-flr&gt; <strong>targetpath<\/strong>\n Enter \".\" to set working folder: () as the target path or enter an absoulte path.\n path: <strong>tmp<\/strong>\n Target path successfully set to: (\/tmp)\nvmware-flr&gt; <strong>queue<\/strong>\n Recover queue: root\/install.log\nvmware-flr&gt; <strong>status<\/strong>\n VBA host:               archon.turbamentis.int\n VBA version:            1.5.0.159_7.2.60.20_2.5.0.719\n Local user:             root\n Source client FQN:      \/caprica.turbamentis.int\/VirtualMachines\/krell\n Selected backup:        Backup #: 53 Date: 2016\/06\/27 02:00 AM\n Backup working folder:  \/root\n Recover queue:          root\/install.log\n Target client FQN:      \/caprica.turbamentis.int\/VirtualMachines\/krell\n Target working folder:  Client root\n Target path:            \/tmp\nvmware-flr&gt; <strong>recover<\/strong>\n. \n The restore request has been successfully issued to the VBA.\nvmware-flr&gt; <strong>quit<\/strong>\n[root@krell tmp]# <strong>ls \/tmp\/install.log<\/strong>\n\/tmp\/install.log<\/pre>\n<p>That&#8217;s how simple FLR is from VMware image level backups under NetWorker 9. The same limitations for FLR in terms of the number of files and folders, etc., apply to&nbsp;command line as much as they do the web interface, so keep that in mind when you&#8217;re using it. Beyond that, this makes it straight-forward to&nbsp;perform FLR for Linux hosts without needing to&nbsp;launch X11.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NetWorker 9 introduced a new, pure HTML5 web interface for the File Level Recovery interface for VBA, which works much&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[15,16,19,1213],"tags":[1264,1313,1314,1263,1248,1269,1087],"class_list":["post-5923","post","type-post","status-publish","format-standard","hentry","category-linux","category-networker","category-recovery","category-vba","tag-file-level-recovery","tag-flr","tag-granular","tag-image-level-backup","tag-linux","tag-networker-9","tag-vmware"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-1xx","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/comments?post=5923"}],"version-history":[{"count":3,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5923\/revisions"}],"predecessor-version":[{"id":7410,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5923\/revisions\/7410"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=5923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=5923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=5923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}