{"id":4606,"date":"2009-09-21T05:36:14","date_gmt":"2009-09-20T19:36:14","guid":{"rendered":"http:\/\/nsrd.wordpress.com\/?p=997"},"modified":"2018-12-12T15:39:54","modified_gmt":"2018-12-12T05:39:54","slug":"basics-directed-recoveries","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2009\/09\/21\/basics-directed-recoveries\/","title":{"rendered":"Basics &#8211; Directed Recoveries"},"content":{"rendered":"<p>Periodically people who are new to NetWorker will lament that it doesn&#8217;t support &#8220;push&#8221; recoveries. That is, a recovery run on the server that pushes data out to the client.<\/p>\n<p>This supposed lack of support comes down to NetWorker using an alternate nomenclature for the term, and making it more generic. In NetWorker, you have two distinct styles of recovery:<\/p>\n<ul>\n<li>A <em>local<\/em> recovery (run on the machine where the backup was taken)<\/li>\n<li>A <em>directed<\/em> recovery<\/li>\n<\/ul>\n<p>In actual fact, a local recovery is effectively just a &#8220;special case&#8221; of a directed recovery. So let&#8217;s look at what a directed recovery involves.<\/p>\n<p>For directed recoveries, we need to think of 3 different <em>types<\/em> of client. These are:<\/p>\n<ul>\n<li>The <strong>source<\/strong> client \u2013 the host from where the original backup was taken.<\/li>\n<li>The <strong>destination<\/strong> client \u2013 the host to where the recovery will be written.<\/li>\n<li>The <strong>control<\/strong> client \u2013 the host that runs the recovery.<\/li>\n<\/ul>\n<p>You can hopefully see from the above how a local recovery is just a special case of a directed recovery &#8211; it&#8217;s just a directed recovery where the source, destination and control clients are the original source client.<\/p>\n<p>(Similarly, a push recovery, in terms of workgroup backup products, is one where the control client is the backup server, and the source\/destination clients are different to the backup server.)<\/p>\n<p>As you can imagine, in order to perform directed recoveries, you need some special permissions; this prevents any user on any host from recovering data from another machine. There are two ways that one can have permission to do directed recoveries:<\/p>\n<ul>\n<li>Any member of the NetWorker administrator user group can conduct a directed recovery without any additional setup.<\/li>\n<li>Users configured in the &#8216;Remote Access&#8217; properties for a client can access that client either as a source or destination client in a directed recovery.<\/li>\n<\/ul>\n<p>As an example, let&#8217;s consider a 2-way directed recovery, where our destination and control clients are the same host, and the source client is another machine. Our destination\/control client is called &#8216;cyclops&#8217;, and our source client is called &#8216;medusa&#8217;.<\/p>\n<p>In this case, without running as a member of the NetWorker administrator group, we need to configure the &#8216;Remote Access&#8217; field on <em>medusa<\/em> to permit the appropriate user on <em>cyclops<\/em> to have access to its data. Within the client properties for &#8216;medusa&#8217;, the remote access field resembles the following:<\/p>\n<figure id=\"attachment_1041\" aria-describedby=\"caption-attachment-1041\" style=\"width: 416px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1041\" title=\"Remote Access properties for directed recoveries\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/remote-access.png\" alt=\"Remote Access properties for directed recoveries\" width=\"416\" height=\"236\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2009\/09\/remote-access.png 416w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2009\/09\/remote-access-300x170.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><figcaption id=\"caption-attachment-1041\" class=\"wp-caption-text\">Remote Access properties for directed recoveries<\/figcaption><\/figure>\n<p>Note that users can be specified either in the old method (as per the above), or in the newer standard. (The above user specification, in the new standard, would be &#8220;user=preston,host=cyclops&#8221;).<\/p>\n<p>Once this has been setup, the recovery program can be run on the client <em>cyclops<\/em>. You can always see whether permissions are working for directed recoveries right from the outset of a recovery, as the recovery program will list, in the &#8220;Select Source&#8221; dialog, all hosts that the client has permission to access data from:<\/p>\n<figure id=\"attachment_1042\" aria-describedby=\"caption-attachment-1042\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1042\" title=\"Selecting source client in directed recovery\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/select-source.png\" alt=\"Selecting source client in directed recovery\" width=\"500\" height=\"398\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2009\/09\/select-source.png 519w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2009\/09\/select-source-300x239.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2009\/09\/select-source-376x300.png 376w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption id=\"caption-attachment-1042\" class=\"wp-caption-text\">Selecting source client in directed recovery<\/figcaption><\/figure>\n<p>Thus, in order start a directed recovery once permissions are setup, all you have to do is change the source client from the current host (cyclops) to the client you want to recover from (in this case, medusa), and you&#8217;re already well progressed down the directed recovery path.<\/p>\n<p>Having selected the client we want to recover from, we can then select the client we want to recover to:<\/p>\n<figure id=\"attachment_1044\" aria-describedby=\"caption-attachment-1044\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1044\" title=\"Selecting target client in directed recovery\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/select-destination.png\" alt=\"Selecting target client in directed recovery\" width=\"500\" height=\"399\"><figcaption id=\"caption-attachment-1044\" class=\"wp-caption-text\">Selecting target client in directed recovery<\/figcaption><\/figure>\n<p>With that done, we can now browse the source client for files we want to recover, selecting them the same way we would select files from a local client:<\/p>\n<figure id=\"attachment_1045\" aria-describedby=\"caption-attachment-1045\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1045\" title=\"Selecting files for directed recovery\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/select-files.png\" alt=\"Selecting files for directed recovery\" width=\"500\" height=\"325\"><figcaption id=\"caption-attachment-1045\" class=\"wp-caption-text\">Selecting files for directed recovery<\/figcaption><\/figure>\n<p>Note that at the bottom of the window we can see in the status area a statement indicating that we&#8217;re recovering <em>from<\/em> medusa <em>to<\/em> cyclops.<\/p>\n<p>Now, once you&#8217;ve selected files to recover, remember that in directed recoveries it&#8217;s usually a very, very good idea to change where you want to recover <em>to<\/em> on the destination &#8211; often you don&#8217;t want it to be the same as the original backup location on the source. To do this of course, use the &#8220;Recover Options&#8221; item in the &#8220;Options&#8221; menu:<\/p>\n<figure id=\"attachment_1046\" aria-describedby=\"caption-attachment-1046\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1046\" title=\"Relocating files for directed recovery\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/relocate-recovery.png\" alt=\"Relocating files for directed recovery\" width=\"500\" height=\"326\"><figcaption id=\"caption-attachment-1046\" class=\"wp-caption-text\">Relocating files for directed recovery<\/figcaption><\/figure>\n<p>With that done, you can start the recovery. Here&#8217;s the recovery details from our example case:<\/p>\n<figure id=\"attachment_1047\" aria-describedby=\"caption-attachment-1047\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1047\" title=\"Directed recovery complete\" src=\"http:\/\/nsrd.files.wordpress.com\/2009\/09\/recovery-done.png\" alt=\"Directed recovery complete\" width=\"500\" height=\"326\"><figcaption id=\"caption-attachment-1047\" class=\"wp-caption-text\">Directed recovery complete<\/figcaption><\/figure>\n<p>There you go, that&#8217;s all there is to it; as you can see, a directed recovery is really no more difficult than a regular recovery in NetWorker.<\/p>\n<p>To close off though, here&#8217;s some tips:<\/p>\n<ol>\n<li>Cross platform directed recoveries are no longer supported in NetWorker (they were, for a time, in NetWorker 6, but posed too much of a security issue). While the <em>control<\/em> client may be of a different platform, you must ensure that your source and destination clients are of the same platform type \u2013 Unix\/Linux to Unix\/Linux, and Windows to Windows.<\/li>\n<li>All 3 of the source, destination and control clients must be defined clients within NetWorker. While previously this was not required, in more recent versions of NetWorker it has been introduced to increase the security of directed recoveries.<\/li>\n<li>Watch out for special savesets, particularly with Windows. Don&#8217;t try, for instance, to run a directed recovery from the backup server of a clients&#8217; SYSTEM FILES: saveset back out to the client. I believe these days NetWorker warns you, but in previous cases it would <em>overwrite<\/em> the control clients&#8217; SYSTEM FILES: saveset with the one being recovered, since these special savesets didn&#8217;t support directed recovery.<\/li>\n<li>Be sure to decide in advance, for directed recoveries, how to handle duplicate files (i.e., files already existing on the target) when the control and target clients aren&#8217;t the same host \u2013 NetWorker won&#8217;t allow interactive prompting for duplicate files when the control and target clients are different.<\/li>\n<li>In Unix environments, directed recoveries are a great way of getting out of particularly sticky situations \u2013 e.g., someone accidentally clobbering the \/etc\/passwd or \/etc\/shadow file. Push the recovery back out to the client in question to restore access.<\/li>\n<li>When using directed recoveries for binaries, make sure the source and destination clients are the same operating system type and bitness.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Periodically people who are new to NetWorker will lament that it doesn&#8217;t support &#8220;push&#8221; recoveries. That is, a recovery run&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":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6,16],"tags":[261,323,788,1252],"class_list":["post-4606","post","type-post","status-publish","format-standard","hentry","category-basics","category-networker","tag-cross-platform","tag-directed-recovery","tag-recover","tag-recovery"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-1ci","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/4606","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=4606"}],"version-history":[{"count":1,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/4606\/revisions"}],"predecessor-version":[{"id":7612,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/4606\/revisions\/7612"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=4606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=4606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=4606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}