Backup and Restore Exchange on VMware using NetBackup with GRT – Part1

Backup and Restore Exchange on VMware using NetBackup – Part1

In this blogging series we will explore how we can protect MS applications installed on VMware using NetBackup, this part will be the first and will explore how to configure NetBackup to protect Exchange 2013 installed on VMware ESXi 5.5

Although it might look straight forward, it is not that straight forward, you must understand some requirements and prerequisites in order to protect MS applications installed inside VMware VMs using Symantec NetBackup.

This lab will assume that you have:

  • 1 Domain Controller installed.
  • 1 Server running ESXi 5.5
  • 1 Server running Exchange 2013 installed on a VM on the ESXi host.
  • 1 Server running NetBackup Software for Windows (the configuration should be different on Linux installation).


So let us get started:


Symantec Netbackup 7.6.x can protect VMs and perform VM level backup using offloaded backups to VMware backup host, this backup method can accelerate backup and offload the backup load from the server.

Backups that are performed at the VM level are quiesced for VM consistent backup using VSS, additionally you can perform backup while the machine is running using VMware Snapshot technology.

Often times, MS gurus mix with using snapshots for VM protection and using Snapshots to perform backups, I believe that no one can explain it better than AbdulRasheed , he wrote a great article about it here

 So in summary, using snapshots for backups is not the same as using Snapshots to protect Exchange VM.

Now, although we can perform VM level backup at the host level without an agent installed on the ESXi or the VM by connecting vCenter directly, this backup method doesn’t support file level recovery for applications or GRT (you can perform regular file restore but not mailbox or database restore for SQL for example), so you will need to install Symantec NetBackup client on the Exchange or SQL VM in order to perform application aware backup.

Note: up to the date of publishing this article 13/4/2015, Symantec doesn’t support GRT for Exchange 2013, but GRT is supported for earlier versions either using VM policies or Exchange policies.

A word about SAN transport:

One element is to be aware of is the SAN transport option, traditionally if you backup a VM using the backup agent, you will transport the data over the IP network, but what if you have large data set…very large ones.

Then you can use the FC or SAN transport, where you can back up the data directly to the SAN over the SAN network (either to SAN storage or Tape Library).

In VMware, you can perform VM agentless or agent assisted backups and transport the data over FC which can give you increased speed up to 4 times, all what you need is to present the LUNs to the VMware backup host as offline LUNs and configure the policy to use SAN transport, nice haaa


  • Install the NetBackup Agent inside the VM
  • Install Symantec VSS provider
  • Install and configure NFS to browse backup images for GRT (for Exchange 2007/2010).

You can Refer to the documentation on how to perform the above steps.

NetBackup Configuration:

Assuming that you have everything configured including installing the Netbackup agent on the Exchange VM, you can start connecting to the vCenter:

08-04-2015 08-03-07
Add VMware Virtual Machine Server


Enter the FQDN of the vCenter server


Add the vCenter information and account with credentials to connect, and specify the backup host, in my case it is the master server:

08-04-2015 08-03-35

08-04-2015 08-04-05

one note: make sure to add the account using domain\username, because the GUI doesn’t accept


Now you can proceed with configuring a policy, so you can launch the policy configuration wizard:

08-04-2015 08-06-06

Specify a policy name

08-04-2015 08-06-18

In the Policy Storage select your storage destination, unless you have many of them and you want to load balance the backup jobs:

08-04-2015 08-06-38

In the virtual machine options, make sure to specify the VMware backup host, and enable the Exchange recovery.

08-04-2015 08-07-40

Note: in the primary VM identifier, you can select the VM host name, this requires the VM tools to be installed and DNS lookups (forward and reverse) are working, for the simplicity I like to choose VM Display name.

08-04-2015 08-18-38

In order to select a VM for application protection you must use query based to select the VM or you will get the error “Application Protection options for VMware policies are only valid when using the query option for virtual machine selection in the clients tab”, so you need to create a query in the VM selection to include the required VM

08-04-2015 09-25-31

In the backup selection, you must select full backups, you have to note that you can’t perform application level backups using incremental backups, backups of applications at the VM level must utilize full backups.

08-04-2015 09-24-46

Then specify the desired internal and retention and schedule.

08-04-2015 09-25-01


08-04-2015 09-25-13

If everything is configured correctly, you should start seeing the policy kicking in and snapshot is being taken and backups are being performed

08-04-2015 09-31-36

08-04-2015 09-32-33

08-04-2015 09-43-07

08-04-2015 09-43-35

Note regarding policy schedule:
if you right click on the policy and chose to run manual backup, the policy will kick in but the backup job will be equivalent to copy backups, meaning that no Exchange logs will be flushed, in order to perform application level backup, you will have to wait for the policy to kick in.

Policy Schedule and Policy Window

Another point that many NBU admins struggle with is the policy frequency, Window and retention, so let me elaborate on this:

Policy Frequency: is how often the policy will kick in, so in the above screenshot, the policy will start every week and this is equivalent to weekly backups.

Policy Window: is the window allowed for the policy to start, so depending on the configured policies, running policies and queued policies, a policy will start when the window comes, or wait until additional resources are freed if all the resources are not available (like a free tape for example).

If the window ended without available resources, the policy will not start and you will miss the backup window, once the policy start, it can exceed the policy window safely, policy window affects the policy start and will not end the policy.

In part 2 of this series we will see how we can perform a restore from the taken backup.


لو عايز تستعمل اس ام اس Notifications مع SCOM او اي تطبيق تاني ، خش برجلك اليمين

لو عايز تستعمل اس ام اس Notifications مع SCOM او اي تطبيق تاني ، خش برجلك اليمين

من يومين ، كان في بوست على القائمة البريدية بطلب ارسال رسالة اس ام اس في حالة فشل الباكاب ، طبعا مفيش حاجة بتعمل كده مباشرة و عليك استعمال تطبيق مع اس ام اس جيتواي او ويب سيرفس علشان تقدر تبعت اس ام اس

طبعا في طريقة اخرى و هي انه تستعمل موبايل رخيص او مودم يو اس بي ، الفكرة انه كل الموبايلات اليومين دول بتوصل يو اس بي ، و حقيقة ملقيتش كود بيبعت اس ام اس عن طريق الموبايلات المتوصلة يو اس بي الا لو اتحولت على

COM Port

علشان تقدر تستعمل ال

AT Commands

و لذا فكرت انه اعمل ويب سيرفس على الموبايل تستقبل الريكويست و تبعت اس ام اس ، كنت بفكر اكتب الكود من اوله بس لقيت الريدي تطبيق متاح بيعمل كده و عليه السورس كود ، ممكن تحمل التطبيق على الاندرويد من هنا

اللي ممكن تحمله على الموبايل و بيعمل ويب سيرفس ممكن تكونكت على ويب سيرفس فيه و تبعت اس ام اس

اللي اتبقا بقا انه اعمل كود اقدر ابعت بيه الرسالة كويب ريكويست على السيرفر ، و هنا كانت العملية سهلة جدا اكتب كود سي شارب يعمل الموضوع ده ، انت ممكن تكتب كود باورشيل او في بي زي ما انت عايز

الكود هنا و ممكن تحمل البرنامج كامل من على الصفحة دي

البرنامج كونسول علشان تقدر تستعمله ككوماند لاين ، بيستقبل 3 متغيرات ، اي بي الموبايل ، رقم التيليفون و الرسالة بالشكل ده

SendHTTPSMS.exe 111111111 Backup_error


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Net;

using System.IO;

namespace SendHTTPSMS


    class Program


        static void Main(string[] args)


            // this is what we are sending

         //   string post_data = “foo=bar&baz=oof”;

            // this is where we will send it

            string server = args[0];

            string Phone = args[1];

            string message = args[2];

            string uri = “http://” + server + “:18080/?phone=” + Phone + “&message=” + message;

            // create a request

            HttpWebRequest request = (HttpWebRequest)

            WebRequest.Create(uri); request.KeepAlive = false;

            request.ProtocolVersion = HttpVersion.Version10;

            request.Method = “POST”;

            // turn our request string into a byte stream

            byte[] postBytes = Encoding.ASCII.GetBytes(uri);

            // this is important – make sure you specify type this way

            request.ContentType = “application/x-www-form-urlencoded”;

            request.ContentLength = postBytes.Length;

            Stream requestStream = request.GetRequestStream();

            // now send it

            requestStream.Write(postBytes, 0, postBytes.Length);






دور على


افتكر انه ممكن تنضم لقائمتنا البريدية و تناقش اخر مواضيع التكنولوجيا و تسأل و حنجاوبك بارسال رسالة على


How to pre-seed DFS replication with Windows Backup – step by step

How to pre-seed DFS replication with Windows Backup – step by step

So, I was looking for how to configure pre-seed for DFS replica with Windows Backups and apparently there is how to do the actual configuration end to end.

Additionally, messing with DFS could corrupt your data (and that is exactly what happened during my labs), I had to try different paths until I got it correctly.

the Scenarios is that you have a Windows 2008 R2 server running DFS, and you want to migrate to Windows 2012 R2 Server running DFS and do the seed using Windows Backup. so here are the steps.

– You will have your DRS up and running, if you want a guide on how to Install and configure DFS, here is a nice guide

– now add the Windows Server 2012 R2 to the DFS name space:


– Once added, add the server to the folder replica, but don’t enable replication:


now you have the new server added to the DFS replication group, now you want to seed it with the engineering folder from Windows backup, you will need to follow the steps here:

the backup/restore operation is straight forward, once completed, you want to enable replication, so go and enable the folder for replication:


now replication will run and check through the existing files and use them as seeds.

The DFS Replication service stopped replication on the replicated folder at local path C:\Share Folders\Engineering.

Additional Information:

Error: 9098 (A tombstoned content set deletion has been scheduled)

Additional context of the error:

Replicated Folder Name: Engineering

Replicated Folder ID: FB9C20FD-CC9E-4074-8918-0C75BD78B59F

Replication Group Name: QFCRARG

Replication Group ID: 5DB55A49-530E-44D7-A450-CF8B20A35B4C

Member ID: DA2CFB0A-C80F-4D6F-8A40-1CD5FA32BE5F

also you might face:

The DFS Replication service detected and discarded an inconsistent volume configuration.

Additional Information:

Error: 11 (Member object is not present)

Volume: 0F330AFB-89A4-11E4-93ED-806E6F6E6963

Volume Path: C:

Object ID: FF9EF3E2-345E-4C41-BB43-14B6003940F0

Object Type: DfsrMember



The DFS Replication service failed to communicate with partner DFS1 for replication group QFCRARG. The partner did not recognize the connection or the replication group configuration.

Partner DNS Address:

Optional data if available:

Partner WINS Address: DFS1

Partner IP Address:

The service will retry the connection periodically.

Additional Information:

Error: 9026 (The connection is invalid)

Connection ID: D7BDB46F-AAE2-4B29-A1DC-B9AC5DC1D1D4

Replication Group ID: 5DB55A49-530E-44D7-A450-CF8B20A35B4C


all the above means that the DFS is having issues with working with the restored data as seeds, you will have to delete the restored data, remove the servers from replication group, wait for replication and then redo the steps.


one very important tip, even when my lab was using single DC in a single site, there was some replication delay, DFS doesn’t pickup the settings/changes immediately, so you will have to be a bit slower when adding/removing members to/out of your DFS.