{"id":5709,"date":"2015-10-27T15:56:57","date_gmt":"2015-10-27T05:56:57","guid":{"rendered":"http:\/\/nsrd.info\/blog\/?p=5709"},"modified":"2018-12-11T12:00:49","modified_gmt":"2018-12-11T02:00:49","slug":"multihost-consistent-backups-in-networker-9","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2015\/10\/27\/multihost-consistent-backups-in-networker-9\/","title":{"rendered":"Multihost consistent backups in NetWorker 9"},"content":{"rendered":"<p>NetWorker 9 introduces a new action&nbsp;that can be incorporated into workflows,&nbsp;<em>Check Connectivity<\/em>. You can use this <em>prior<\/em> to a backup action to confirm that you have connectivity to a host before starting the backup.&nbsp;Now, you may think this is a little odd, since NetWorker effectively checks connectivity as part of the backup process, but that&#8217;s if you&#8217;re looking at&nbsp;<em>Check Connectivity<\/em> on a per-host basis.&nbsp;Used optimally,&nbsp;<em>Check Connectivity<\/em>&nbsp;allows you to&nbsp;easily streamline the process of confirming that&nbsp;<em>all<\/em> hosts are available before&nbsp;starting the backup.<\/p>\n<p>This option is important when we consider multi-host applications and services within&nbsp;environments where it&#8217;s actually&nbsp;deemed critical that the backup either run for&nbsp;<em>everything<\/em> or&nbsp;<em>nothing<\/em>.&nbsp;That way you can&#8217;t (in theory) capture logically&nbsp;inconsistent backups of the environment \u2013 for example, getting a backup of an application server but not the database that runs in conjunction with it.<\/p>\n<p>In the example policy below I&#8217;ve created a simple workflow that does&nbsp;the following:<\/p>\n<ul>\n<li>Checks client connectivity<\/li>\n<li>If that&#8217;s successful:\n<ul>\n<li>Executes a backup of the hosts in question to the AFTD_Backup&nbsp;pool<\/li>\n<li>Clones those backups to the AFTD_Clone pool<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5710\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy-1024x315.png\" alt=\"Multihost Workflow and Policy\" width=\"695\" height=\"214\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy-1024x315.png 1024w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy-300x92.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy-900x277.png 900w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-and-Policy.png 1194w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><\/p>\n<p>I&#8217;ll step through the <i>check connectivity<\/i> activity so you can see what it looks like:<\/p>\n<figure id=\"attachment_5711\" aria-describedby=\"caption-attachment-5711\" style=\"width: 695px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-5711\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1-1024x658.png\" alt=\"Check Connectivity Action Screen 1\" width=\"695\" height=\"447\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1-1024x658.png 1024w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1-300x193.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1-900x578.png 900w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-1.png 1125w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><figcaption id=\"caption-attachment-5711\" class=\"wp-caption-text\">Check Connectivity Action Screen 1<\/figcaption><\/figure>\n<figure id=\"attachment_5712\" aria-describedby=\"caption-attachment-5712\" style=\"width: 623px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5712\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-2.png\" alt=\"Check Connectivity Action Screen 2\" width=\"623\" height=\"306\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-2.png 623w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-2-300x147.png 300w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/a><figcaption id=\"caption-attachment-5712\" class=\"wp-caption-text\">Check Connectivity Action Screen 2<\/figcaption><\/figure>\n<p>This is probably the most important option in the&nbsp;<em>check connectivity<\/em> action: &#8220;Succeed only after all clients succeed&#8221; \u2013 in other words, the action will fail if&nbsp;<em>any<\/em> of the clients&nbsp;we want to backup can&#8217;t be contacted.<\/p>\n<figure id=\"attachment_5713\" aria-describedby=\"caption-attachment-5713\" style=\"width: 695px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-5713\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3-1024x658.png\" alt=\"Check Connectivity Action Screen 3\" width=\"695\" height=\"447\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3-1024x658.png 1024w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3-300x193.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3-900x578.png 900w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-3.png 1125w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><figcaption id=\"caption-attachment-5713\" class=\"wp-caption-text\">Check Connectivity Action Screen 3<\/figcaption><\/figure>\n<figure id=\"attachment_5714\" aria-describedby=\"caption-attachment-5714\" style=\"width: 834px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5714\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-4.png\" alt=\"Check Connectivity Action Screen 4\" width=\"834\" height=\"507\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-4.png 834w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Action-4-300x182.png 300w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><\/a><figcaption id=\"caption-attachment-5714\" class=\"wp-caption-text\">Check Connectivity Action Screen 4<\/figcaption><\/figure>\n<p>It&#8217;s a pretty simple action, as you can see.<\/p>\n<p>Zooming in on a&nbsp;little on&nbsp;the&nbsp;workflow visualisation, you&#8217;ll see it in more detail here:<\/p>\n<figure id=\"attachment_5715\" aria-describedby=\"caption-attachment-5715\" style=\"width: 1003px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5715\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation.png\" alt=\"Multihost Workflow Visualisation\" width=\"1003\" height=\"82\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation.png 1003w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-300x25.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-900x74.png 900w\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" \/><\/a><figcaption id=\"caption-attachment-5715\" class=\"wp-caption-text\">Multihost Workflow Visualisation<\/figcaption><\/figure>\n<p>By the way, I&#8217;m loving the option to edit components of the&nbsp;workflow and actions from the visualisation, i.e.:<\/p>\n<figure id=\"attachment_5716\" aria-describedby=\"caption-attachment-5716\" style=\"width: 995px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-Pool-Edit.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5716\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-Pool-Edit.png\" alt=\"Multihost Workflow Visualisation Pool Edit\" width=\"995\" height=\"324\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-Pool-Edit.png 995w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-Pool-Edit-300x98.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Visualisation-Pool-Edit-900x293.png 900w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/a><figcaption id=\"caption-attachment-5716\" class=\"wp-caption-text\">Multihost Workflow Visualisation Pool Edit<\/figcaption><\/figure>\n<p>In order to test&nbsp;and demonstrate the&nbsp;<em>check connectivity<\/em>&nbsp;action, I configured 6&nbsp;backup clients:<\/p>\n<ul>\n<li>test01<\/li>\n<li>test02<\/li>\n<li>test03<\/li>\n<li>test04<\/li>\n<li>test05<\/li>\n<li>test06<\/li>\n<\/ul>\n<p>On the first test, I&nbsp;made sure NetWorker was running on all 6 clients, and&nbsp;the backup\/clone&nbsp;actions were permitted to execute after a successful&nbsp;connectivity test:<\/p>\n<figure id=\"attachment_5717\" aria-describedby=\"caption-attachment-5717\" style=\"width: 797px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Executing-Successfully.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5717\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Executing-Successfully.png\" alt=\"Multihost Workflow Executing Successfully\" width=\"797\" height=\"497\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Executing-Successfully.png 797w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Executing-Successfully-300x187.png 300w\" sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><\/a><figcaption id=\"caption-attachment-5717\" class=\"wp-caption-text\">Multihost Workflow Executing Successfully<\/figcaption><\/figure>\n<p>Now, after that finished, I shutdown the NetWorker services on one of the clients,&nbsp;<em>test06<\/em>, to see how this would impact the&nbsp;<em>check&nbsp;connectivity<\/em> action:<\/p>\n<figure id=\"attachment_5718\" aria-describedby=\"caption-attachment-5718\" style=\"width: 647px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Stopping-NetWorker-on-a-Client.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5718\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Stopping-NetWorker-on-a-Client.png\" alt=\"Stopping NetWorker on a Client\" width=\"647\" height=\"185\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Stopping-NetWorker-on-a-Client.png 647w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Stopping-NetWorker-on-a-Client-300x86.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/a><figcaption id=\"caption-attachment-5718\" class=\"wp-caption-text\">Stopping NetWorker on a Client<\/figcaption><\/figure>\n<p>With NetWorker stopped,&nbsp;the workflow failed&nbsp;as a result of the&nbsp;connectivity check failing for one of the hosts. The high level failure&nbsp;looked like this:<\/p>\n<figure id=\"attachment_5719\" aria-describedby=\"caption-attachment-5719\" style=\"width: 823px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Failure.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5719\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Failure.png\" alt=\"Multihost Workflow Failure\" width=\"823\" height=\"508\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Failure.png 823w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Failure-300x185.png 300w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/a><figcaption id=\"caption-attachment-5719\" class=\"wp-caption-text\">Multihost Workflow Failure<\/figcaption><\/figure>\n<p>Double-clicking on the&nbsp;<em>check connectivity<\/em> action results in the <i>Monitoring<\/i> view of NMC showed me the following:<\/p>\n<figure id=\"attachment_5720\" aria-describedby=\"caption-attachment-5720\" style=\"width: 361px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Error-Dialog.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5720\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Error-Dialog.png\" alt=\"Check Connectivity Error Dialog\" width=\"361\" height=\"758\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Error-Dialog.png 361w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Check-Connectivity-Error-Dialog-143x300.png 143w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/><\/a><figcaption id=\"caption-attachment-5720\" class=\"wp-caption-text\">Check Connectivity Error Dialog<\/figcaption><\/figure>\n<p>To see the messages in more detail I just copied and pasted it into Notepad, which revealed the full details of the connectivity testing:<\/p>\n<figure id=\"attachment_5721\" aria-describedby=\"caption-attachment-5721\" style=\"width: 937px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Check-Connectivity-Results.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5721\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Check-Connectivity-Results.png\" alt=\"Multihost Workflow Check Connectivity Results\" width=\"937\" height=\"754\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Check-Connectivity-Results.png 937w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Check-Connectivity-Results-300x241.png 300w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2015\/10\/Multihost-Workflow-Check-Connectivity-Results-900x724.png 900w\" sizes=\"auto, (max-width: 937px) 100vw, 937px\" \/><\/a><figcaption id=\"caption-attachment-5721\" class=\"wp-caption-text\">Multihost Workflow Check Connectivity Results<\/figcaption><\/figure>\n<p>And there you have it.&nbsp;For sure, I&#8217;ve done this sort of multi-host connectivity testing in the past using NetWorker 8 and 7 (actually, even using NetWorker 6), but it&#8217;s&nbsp;<em>always<\/em> required&nbsp;nesting savegroups where&nbsp;the parent&nbsp;savegroup executes a pre-command to&nbsp;check&nbsp;via <em>rpcinfo<\/em> the availability of each host in the child savegroup before&nbsp;using <em>nsradmin<\/em> to invoke the child savegroup. It&#8217;s&nbsp;a somewhat messy approach and requires executing at least&nbsp;<em>some<\/em> form of backup in the parent&nbsp;savegroup (otherwise NetWorker declares the parent group a failure).&nbsp;The new functionality is simple, straight forward and is easily incorporated into a workflow.<\/p>\n<p>If you have&nbsp;the&nbsp;requirement in your environment&nbsp;to&nbsp;ensure <em>all<\/em>&nbsp;or <em>no&nbsp;<\/em>clients in a group&nbsp;backup, this is an excellent reason to upgrade to NetWorker 9. If you&#8217;re already on NetWorker 9, keep an eye out for where you can incorporate this into your policies and workflows.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NetWorker 9 introduces a new action&nbsp;that can be incorporated into workflows,&nbsp;Check Connectivity. You can use this prior to a backup&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":[16],"tags":[138,1270,220,1249,757],"class_list":["post-5709","post","type-post","status-publish","format-standard","hentry","category-networker","tag-backup","tag-check-connectivity","tag-client","tag-networker","tag-probe"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-1u5","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5709","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=5709"}],"version-history":[{"count":3,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5709\/revisions"}],"predecessor-version":[{"id":7422,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/5709\/revisions\/7422"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=5709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=5709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=5709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}