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 publish Exchange 2013 using VMware NSX load balancer/Firewall part2 – SSL Offloading

How to publish Exchange 2013 using VMware NSX load balancer/Firewall part2 – SSL Offloading

In part 1, we have have seen the very basic steps to load balance Exchange 2013 using VMware NSX.

in this part, we will take a look on how to configure SSL offloading on NSX, the major steps are:

– Export certificate to base64 format using openssl and import them into Edge server.

– Configure the application profile to listen on SSL requests.

– Modify the pool to listen on port 80.

– Configure SSL offloading on Exchange 2013.

– Test the configuration.


So let us start:

Export the certificate base64 format:

In order to install the certificate on NSX, you must have the certificate in base64 format, NSX doesn’t allow you to import .cer or PFX format, in order to do that you will need to use openssl to export the private key and the certificate contents.

This step will assume that you generated the SSL certificate on Exchange 2013 and used internal Microsoft CA (or commerical CA) and have the CA in pfx format (I used internal MS CA and used wild card certificate):

  1. Install Openssl from here you can use the light version.
  2. once installed download and configure the configuration file, use the steps here
  3. once installed, copy the PFX certificate and root CA certificate to a folder, and use the following command to export the certificate contents and private key  openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
  4. Run the following command to export the certificate: openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
  5. Run the following command to remove the passphrase from the private key: openssl rsa -in key.pem -out server.key 

repeat only step 3 for the root CA certificate, now you will have 3 files, root CA pem, certificate content key and private key, now open the NSX edge and install the certificate, first root CA


then the Exchange certificate



Once installed, you can modify the application profile to use the imported certificate and offload the SSL from Exchange server:


confirm the CA is selected:


Modify the pool to use port 80 instead of port 443:


Enable acceleration on the virtual server and you are ready to go:



Now you are ready to enable SSL offloading on the Exchange server, you can follow the steps from this article:

Once enabled, you can test and verify the configuration:




In part 3, we will look into more advanced features like transparency and cookies based presistence…