Can I ‘Shrink’ My Exchange Database?

KB ID 0001706

Problem

Saw this asked in a forum today, and my response was;

It never gets smaller, if you delete things out of it, it just creates more ‘whitespace’ within the database, unless you;

a) Take it offline, and defragment it using eseutil.
b) Move the mailboxes out of it, to another database and delete it.

Which is true, but even Microsoft say you should not need to defragment a database! Before you do anything make sure you have a good backup of Exchange and the mailbox databases!

Defragment an Exchange Database

Stop! Why are you doing this, if it’s because you are running out of room, then migrating mailboxes out of a database into another database, on another piece of storage with more room is what you should be doing, and does not involve long periods of downtime!

If you have just deleted hundreds of GB from a mailbox database, and you simply want to compress the DB, and you have a BIG window for downtime, (allow 1 hour for every 9GB of database size). Then you are in about the only use case scenario I can think of to want to do this!

Before You start: This process creates a temporary mailbox database, (you need to tell it where), if you are pressed for room, I suggest you add another volume/drive and put it there. (Though in my example I have room in the same folder). Allow for the entire database’s existing size plus ten percent to be on the safe side.

Let’s have a look, and see how  much room we might be able to reclaim (whitespace);

[box]

Get-MailboxDatabase -Status | Select Name, DatabaseSize, AvailableNewMailboxSpace

[/box]

The database has to be dismounted before you can run Eseutil on it (downtime starts here).

[box]

Dismount –Database Database Name

Eseutil /d C:\Folder\DatabaseName.edb> /t T:\Folder\TempDB.edb>"

[/box]

When complete, mount the datastore again, (downtime ends here).

[box]

Mount-Database Database Name

[/box]

Hopefully you should see the whitespace has decreased.

Don’t forget to set off a full backup of the store as soon at it’s back online.

Move Mailboxes To Another Exchange Database (To Reclaim Space)

This is the much more elegant solution, create a shiny new database move everything  from the old database into the new one, and delete the old database.

Will This Impact My Users? Any user using their mailbox while it is getting moved wont be affected, until the move is complete then they will see a popup that looks like;

The Microsoft Exchange administrator has made a change that requires you quit and restart Outlook.

Cool eh! So lets start by creating a New Mailbox Database.

[box]

New-MailboxDatabase -Name New Database Name -EdbFilePath C:\Folder\DB-Name.edb -LogFolderPath C:\Folder\Folder\

[/box]

Make sure you follow the advice and restart the information store, (yes you can mount the new DB and proceed, but Exchange does not allocate the resources correctly if you do this).

[box]

Restart-Service MSExchangeIS

[/box]

Let’s move our ‘Normal’ mailboxes to the new DB.

[box]

Get-Mailbox -Resultsize Unlimited | New-MoveRequest -TargetDatabase Target Database Name

[/box]

Depending on how many (and how large) mailboxes there are this can take a while, (days for large databases!) When they’ve all completed you need to remove the  move requests, (if you have any failures, or speed issues use the search box above, I’ve had to cope with thousands of these things not working correctly in my time!)

Let’s assume we are all moved, so we want to remove the move requests.

[box]

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

[/box]

Now let’s see if we have any Arbitration Mailboxes, we do so let’s shift them;

[box]

Get-Mailbox -Database Source Database Name -Arbitration

Get-Mailbox -Database Source Database Name -Arbitration | New-MoveRequest -TargetDatabase Target Database Name

[/box]

Again, when complete, remove the move requests.

[box]

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

[/box]

Now let’s see if we have any Auditlog Mailboxes, we do so let’s shift them;

[box]

Get-Mailbox -Database Source Database Name -Auditlog

Get-Mailbox -Database Source Database Name -Auditlog | New-MoveRequest -TargetDatabase Target Database Name

Get-MoveRequest | Get-MoveRequestStatistics

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

[/box]

Now let’s see if we have any Archive Mailboxes, we do NOT so I will skip them, let’s check for Monitoring Mailboxes, we have those so let’s move them;

[box]

Get-Mailbox -Database Source Database Name -Archive

Get-Mailbox -Database Source Database Name -Monitoring

Get-Mailbox -Database Source Database Name -Monitoring | New-MoveRequest -TargetDatabase Target Database Name

[/box]

And clean those up as before.

[box]

Get-MoveRequest | Get-MoveRequestStatistics

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

[/box]

Finally let’s see if we have any Public Folder Mailboxes, we have one of those so let’s move that;

[box]

Get-Mailbox -Database Source Database Name -PublicFolder

Get-Mailbox -Database Source Database Name -PublicFolder | New-MoveRequest -TargetDatabase Target Database Name
[/box]

We now need to remove the ‘Source‘ Database but first we need to dismount it.

[box]

Dismount-Database OLD Database Name

Remove-MailboxDatabase -Identity OLD Database Name

[/box]

I get an error message saying I cant delete the database.

 

Related Articles, References, Credits, or External Links

NA

Event ID 3085

KB ID 0000129

Problem

Error – 1601 occurred while generating an outgoing replication message.  Type 0x4″

Solution

There’s corruption in your public folder store, I see this during Exchange 2003 to 2007 Migrations, quite often some folders will replicate fine and other will not, and there is no rhyme or reason as to why. Then you see this error in the event log, essentially a couple of corrupt messages/items are stopping an entire folder from replicating.

There’s going to be some downtime to your public folders (sorry)

1. On the Exchange 2003 Server, launch the Exchange System Manager > Drill down to the public folder store > Right click > Dismount > Yes.
2. Now you need to run the isinteg tool, it in the exchsrvr directory in the sub folder called “bin” > Start > Run > cmd {Enter} > cd “c:program filesexchsrvrbin” {enter}.

Note: The path to your bin folder might be different.

3. Take note of your exchange server name in the example below its CTC-EX2, execute the following command,

isinteg -s CTC-EX2 -fix -test alltests

4. Select the offline database that your public folders are in, (in the example below that’s 2).

5. Press Y {enter} to confirm.

4. This will perform 11 different tests, each one will tell you,

x number of errors
x number of warnings
x number of fix(es)
x number of rows <—- ignore this figure its not important.

5. Continue to execute the SAME command until one of two things happens,

a. You get 0 errors, 0 warnings, and 0 fix(es) for everything.
OR
b. You get the same result on one or more tests THREE TIMES IN A ROW.

6. When done, go back to the Exchange System Manager and re-mount the store, apply the cup of coffee rule and check replication.

Related Articles, References, Credits, or External Links

Credit to Debasis at Microsoft for his help.

Event ID 2937

KB ID 0000448 

Problem

Event ID 2937

Process edgetransport.exe () (PID=6156). Object [CN={mailbox database name},CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN={domain},CN=Microsoft Exchange,CN=Services,CN=Configuration,DC={domain},DC=com]. Property [PublicFolderDatabase] is set to value [{domain}.org/Configuration/Deleted Objects/Public Folder Store (EXCH2K3) DEL:b60ef8b9-09dd-41c5-9aec-af2a4cc4f33e], it is pointing to the Deleted Objects container in Active Directory. This property should be fixed as soon as possible.

In my case I had a mailbox database that was looking at a public folder database, that no longer existed. (It was on the old/removed Exchange 2003 server).

Solution

Disclaimer: OK this error comes in a lot of forms, and references lots of different processes other than edgetransport.exe. I tried all the stuff I found online to try and fix the problem. But non of them worked, (this error gets logged when the Exchange services start).

In the end I fixed it myself, and it was annoyingly easy.

1. Look in your error message to see the “Mail Database” that’s complaining, (In this example it’s called “Mailbox Database 1507786053”).

2. Launch Exchange system Manager > Organization Configuration > Mailbox > Database Management > Select the offending database > Right click > Properties > Client Settings.

3. Under “Default Public Folder Database” > Browse > Locate and select a live public folder database.

4. Then restart Exchange services (Or reboot).

 

Related Articles, References, Credits, or External Links

NA

Sharing Files from Ubuntu to Windows

KB ID 0000412

Problem

If you have only a few files to share, you might want to consider using Dropbox, however if you want to share your files over the network then you need to install samba and configure it.

Solution

 

Related Articles, References, Credits, or External Links

Special Thanks to Morbuis1 Over at the Ubuntu Forms for the help.

Samba Install Error

 

Outlook Error – ‘One or more users cannot be added to the folder access list. Non-local users cannot be given rights on this server’

KB ID 0000560 

Problem

Outlook will show you this error if you attempt to grant rights to a “distribution group” on an object for example, a public folder, or for calendar permissions.

You would think that converting the “Universal Distribution Group” to a “Universal Security Group” would solve this problem, but it does not.

Note: You may also see the following error, “an error occurred. Exception: Cannot use {Group_Name} as a security principal, Parameter name: secuirtyPrincipal.

Solution

1. First (I’m assuming) you ARE trying to add a security group that you have converted using the Active Directory Users and computers snap in like so, you will see I’ve got a Universal Distribution Group called “TestGroup”

2. To convert to a Universal Security Group simply change the group type and apply. (Note you will need to refresh the view in Exchange System Manager, before it reflects the correct group type as below).

3. But you will see, even though the type of group is correct you still see this error. (The more eagle eyed among you will see there’s a small error icon on the group type).

Why this has happened.

This has been a known problem since Exchange 2007. Essentially there’s an active directory attribute called “msExchRecipientDisplayType” that does not get changed properly when you convert the group using the GUI interface.

How to Fix it

Exchange 2007

Run the following Powershell command in the Exchange Management Shell;

[box]Set-Distributiongroup –identity {group name}[/box]

Exchange 2010

If you run that command on Exchange 2010, you will see the error (shown above)

“Members can’t remove themselves from security groups. Please set the group to Closed for requests to leave.”

You need to run the following Powershell command, in the Exchange Management Shell instead;

[box]Set-Distributiongroup–identity {group name} –MemberDepartRestriction Closed[/box]

Related Articles, References, Credits, or External Links

How to Create a Distribution Group in Exchange 2010 / 2007

Exchange – Uninstall Error – Public Folder Database

KB ID 0000227

Problem

While trying to uninstall Exchange 2007 you see the following error.

“Uninstall cannot continue: Database ‘Public Folder Database’: The public folder database “server namestorage groupdatabase” contains folder replicas. Before deleting the public folder database remove the folders or remove the replicas to another public folder database.”

WARNINIG: The following procedure assumes you want the Public Folders GONE – make sure any information you require within them is either backed up or moved to another server.

Solution

1. Click Start > All Programs > Microsoft Exchange Server 2007 > Exchange Management Shell.

2. Issue the following command, (Replace {name of server} with your own server name).

[box]Get-PublicFolder -Server {name of server} “\” -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server {name of server} -Recurse -ErrorAction:SilentlyContinue[/box]

3. Enter Y for yes if Prompted. (enter your own server name).

4. Issue the following command, (Replace {name of server} with your own server name).

 

[box]Get-PublicFolder -Server {name of server} “Non_Ipm_Subtree” -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server {name of server} -Recurse -ErrorAction:SilentlyContinue[/box]

5. Enter Y for Yes if prompted.

6. Re-attempt the uninstall.

or in EXTREME situations (sometimes it refuses to delete no matter what you do) run ADSIedit and remove it from CN=Configuration,CN=Services, CN=Microsoft Exchange, CN={organisation name i.e First Organisation}, CN=Administrative Groups, CN={Administrative Group name}, CN=Servers, CN={servername}, CN=Information Store, CN={Storage Group Name}, CN={Public Folder Database Name} THEN REBOOT

Related Articles, References, Credits, or External Links

NA

Exchange 2007 CCR to Exchange 2010 HA Migration with (HA Proxy)

KB ID 0000525 

Problem

Today, I am pleased to say we have the work of guest poster Hesan Javed, who runs through an Exchange 2007 CCR to Exchange 2010 HA Migration.

Solution

Steps Required.

Exchange 2007 HUBCAS Upgrade to SP3

Exchange 2007 Mailbox Upgrade to SP3

Installing Exchange 2010 SP1 HUBCAS after Upgrading Exchange 2007 to SP3

Uninstalling Exchange 2007 from the Passive node in the Cluster

Installing Exchange 2010 SP1 Mailbox Server

Migrating from Exchange 2007 to Exchange 2010

Implementing DAG (Database Availability Group)

Installing HAProxy in VMware Environment

Hello and Welcome to All who are reading this page. Many administrators out there are looking for guides to migrate their current CCR (Exchange 2007) environment to High Availability in Exchange 2010 SP1. In this article of mine, I will be covering the complete migration steps from Exchange 2007 Environment to Exchange 2010 environment with Existing Hardware. At the end, I will be showing how to configure the Exchange 2010 CAS Array with the help of the free Load Balancer (HAPROXY). Even though a good article is present on their website, I thought that if you will find everything in one place will be a bit stress release.

First of all, a brilliant article series is written by Mr. Henrik Walther about how to implement the CCR Cluster which can be found here, please go through this article series and you will be able to implement and understand the CCR operation. The HAProxy free OVF  for the VMware Environment can be found here, download this and extract the zip file, it will give you two files, one will be with the name (Exchange 2010 HAProxy Virtual Load Balancer.ovf) and the second file will be with the name of (Exchange 2010 HAProxy Virtual Load Balancer.vmdk). Once extracted you have to import these files into your VMware Infrastructure I will show you how.

My whole Lab Environment is based on VMware ESXi 5.0, so if you would like to have your environment with VMware as well, you can download the Free version of ESXi 5.0 available on the VMware download site. You will have to register once (free registration) and download the .iso file. A license key will be emailed to your provided email address.

First of all let me show you my Environment

This is my current environment, with 2 ESXi hosts and 4 VM’s. Let me tell you the Roles installed on each machine.

  1. FSDC – Active Directory Server (Windows 2008 SP2)
  2. FSHCN1 – HUB Transport and Client Access Server. (Windows 2008 SP2)
  3. FSMBXN1 and FSMBXN2 – The Mailbox Servers. (CCR CLUSTER). (Windows 2008 SP2)

I will be upgrading the existing environment to Exchange 2010, but now you will think that I don’t have a second Exchange 2010 HUBCAS Server, so how will I maintain the HUBCAS uptime. We need to add a new virtual machine in our environment with Windows 2008 R2 SP1, join it to the domain, and we will install the HUBCAS Role of Exchange 2010 SP1 on this VM.

Before installing the role of Exchange 2010 HUBCAS we have to prepare the active directory by issuing following commands.

[box]Setup /preparead[/box]

To run this command you mount the DVD of Exchange 2010 on the Domain controller or our newly created EX2010HCN1 VM. I ran it on the EX2010HCN1 machine and the output is as follows:

As you can see, that the status is failed, it failed because, this machine is not a domain controller and to update the schema it needs the ldifide.exe which can only be achieved by adding the feature RSAT-ADDS as shown in the powershell below.

After you have installed the required role and restarted the machine, run the command again and this time it should complete. Once this is done, now is the time to run the setup for Exchange 2010 HUBCAS Server installation on our Windows 2008 R2 machine. But before you can start the Exchange 2010 Installation you have to (MUST) upgrade all the Exchange 2007 Servers to SP2 at least, in my case I will be upgrading all the Servers to SP3. So lets have a look at the process of upgrading the Exchange 2007 Servers to SP3. But I will be writing about some errors also which I faced during the Upgrade. These errors are very common and many times my Colleagues also face them so I thought of listing them down.

Exchange 2007 HUBCAS Upgrade to SP3

So now we have to install SP3 on our Exchange 2007 HUBCAS Server. This can take up to 1 hour, depending on the machine you are working on. In my case it took about an hour.

NOTE: Once the installation is completed, you might get an error on the Finalization part; the error could be on MSExchange Transport Service not coming to running state. (This happens mostly when you did not disable IPv6 at the beginning of the Exchange 2007 Installation). Good technique would be to follow the guide from Microsoft to Disable IPv6 or this, behavior is normal, you just have to restart the machine and the service will come to the running state. It just needs some time to discover the exchange environment. (As it is said, many problems from Microsoft are resolved after a reboot).

Exchange 2007 Mailbox Upgrade to SP3

Before we start upgrading our Mailbox Servers, we have to make sure that the Clustered Mailbox is on the active node (FSMBXN1) in the cluster, as we will start working with Passive Node (FSMBXN2) Upgrade. This is to be done, because you don’t want your management to call you and start complaining about the Email services unavailability. Any normal IT Admin like me would just double click the setup.exe file and think that the upgrade can be done like that, (I am not sure about if it could be done through GUI), but the only way that I found out is through the command prompt.

Open the command prompt and type the drive letter name where the SP3 is extracted, in my case (d:) and press enter. The prompt will change and now you should be in your drive. Once there you should run the following command:

[box]Setup.com /Mode: Upgrade[/box]

The end result will be like this: (FSMBXN2-Passive Upgraded to SP3)

Now is the time to shut down the Cluster. This can be achieved by going on the Passive Node (FSMBXN2) which was just upgraded and issuing the following command from the exchange PowerShell:

[box]Stop-ClusteredMailboxServer –id “YOURCMSNAME” –StopReason “SP3 Upgrade Activity”[/box]

You can get the name of your CMS name by typing the following command:

[box]Get-clusteredmailboxserverstatus[/box]

Once you run the Stop Command you will get a message to confirm to perform the action, just enter Y and press Enter.

After Stopping the CMS on the node, we have to move it to the Upgraded Node (FSMBXN2) (in offline mode Don’t bring it online, it should come online automatically). To move the CMS from one Node to the other Node we have to run the following command:

[box]Move-ClusteredMailboxServer –id “YOURCMSNAME” -TargetNode ”Nodename” – move comment “SP3 Activity”[/box]

Press Yes at the warning.

Now, our CMS is on the Upgraded Node (FSMBXN2) and we have to upgrade our CMS we can achieve this by issuing the following Command:

[box]Setup /UpgradeCMS[/box]

In my environment it took around 15 minutes and after this the Cluster was online on FSMBXN2. Now we have to upgrade the Second node (FSMBXN1) which was active. Again I issued the same command (Setup /mode:upgrade). It upgraded my node and then after the upgrade I had an error.

Note: During the upgrade of the second node in CCR your upgrade might fail and you will get error like this:

Don’t worry, just close the exchange management console if you have that opened and the exchange management shell as well and then re-run the upgrade. If after closing the exchange management console and the Shell, you still get the error you have two options here:

  • Either move the Quorum Owner by command to the Upgraded Node.
  • Or restart the machine that you are about to upgrade, this restart will automatically move the Quorum owner to the upgraded Node. (Easy and effective).

Installing Exchange 2010 SP1 HUBCAS after Upgrading Exchange 2007 to SP3

Insert the Exchange 2010 DVD into DVD drive. When the DVD Auto Plays , click Run Setup.exe under Install or run program. If Auto Play is disabled, navigate to the root of the DVD and run Setup.exe. Alternatively, browse to the location of your Exchange 2010 installation files and run Setup.exe. On the Introduction page, click next.

On the License Agreement page, review the license terms. select I accept the terms in the license agreement, next.

On the Error Reporting page, select Yes / No (as required) to enable the Exchange Error Reporting feature, next.

On the Installation Type page, select Custom Exchange Server Installation. (Note: For Exchange 2010 SP1, you can select to automatically install all required Windows roles and features for this server). You can also change the installation path for Exchange 2010, click Browse, locate the target folder, and then click OK. Click Next.

On the Server Role Selection page, select Client Access Role, and Hub Transport Role click Next. The Management Tools , which installs the Exchange Management Console and Exchange Management Shell, will also be selected and installed.

Now, as our Exchange 2007 Environment is with SP3, and we have installed our Exchange 2010 HUBCAS Server in the environment, is the time to Uninstall the Exchange 2007 SP3 from the Passive Node and Evict this node from the Cluster and install a fresh Windows 2008 R2 on this Machine.

Uninstalling Exchange 2007 from the Passive node in the Cluster

For the purpose of this Uninstallation I have moved the Cluster on FSMBXN1 and our Passive node is FSMBXN2.

Uninstallation Steps are pretty much easy. You have to go to Control Panel  > Program and Features > Click Exchange 2007 and Click Uninstall. Uncheck all the items installed and after some time the Un-Installation will be complete.

On the maintenance page click Next.

On the Server Role Selection page, uncheck the Passive Clustered Mailbox Role and Management Tools, and Click Next and then click Uninstall. The uninstallation will take some time and at the end this is what you will get

Now we have to stop the cluster service and remove the Node from the Cluster (We have to do this from the Failover Cluster Manager). And then we can format the machine and install windows 2008 R2 on that.

Right-Click the node and first stop the cluster service and Right-Click again on the same node and click Evict. Than you can format the Machine and install Windows 2008 R2. Prepare the Newly formatted machine with all the Updates required for the installation of Exchange 2010 SP1. The updates required are as follows:

Installing Exchange 2010 SP1 Mailbox Server

We uninstalled Exchange 2007 from FSMBXN2 and formatted that Server with Windows 2008 R2. Now is the time to install Exchange 2010 Sp1 Mailbox Server. The steps are pretty simple:

  1. Put the Exchange 2010 SP1 DVD in the Server.
  2. Run the Setup
  3. Accept the License Agreement.
  4. Select the only the Mailbox Role to be installed.
  5. It will take around 20 to 30 minutes for the Installation (depending on the Machine you are working on).
  6. Once done just click finish and Restart the Server.

Migrating from Exchange 2007 to Exchange 2010

To start the migration, we have to move the mailboxes from Exchange 2007 to Exchange 2010. This can be achieved from the following steps:

  1. Go to Recipient Configuration
  2. Click Mailbox, on the right hand side you will see the list of users.
  3. Right Click the users one by one or Select all the users with Ctrl-A and then Right Click and select local move request.
  4. When you will click local move request, you will be given option for the mailboxes where to move. Select the Mailbox which resides on Exchange 2010 Sp1. And go through the rest of the options.
  5. If you feel that there might be some corrupted messages in the mailbox, you can set the count for the corrupted messages.

Once the mailbox move has been completed we have to do move the Offline Address Book Generation to this New Exchange 2010 Server. To do this:

  1. Go to Organization Configuration.
  2. Click Mailbox and on the right hand side you will see the tab for Offline Address Book.
  3. You will see, Offline Address book listed there. Right Click on the address book and select Move.
  4. Once you click Move, you will be given the options for Servers that you want to move the generation on. Select the Exchange 2010 Server.
  5. After moving click Update.

Once the generation has been shifted to Exchange 2010 Server, now is the time to Replicate you Public Folders if any to Exchange 2010 Servers. To do this:

  1. Click Tool book in Exchange 2010 Management Console.
  2. Double Click Public Folder Management Console and follow the pictures below.
  3. After clicking the connect server type the Name of the Exchange 2007 CCR Cluster (FSMBX1) and click connect.
  4. Once connected you will be on a page like below:

As I am not having public folders, my only concern is the Schedule + Free Busy information to be replicated to Exchange 2010. To do this Right click on the Folder being shown in the right hand console and click Properties, you will be brought to the page below:

Click on the Replication Tab and click ADD and then select the Exchange 2010 Mailbox Server Name:

It’s better if you follow the rest of the Article from here.

Now I am assuming that our Exchange Mailboxes have been migrated from 2007 to 2010 and are working fine. Now is the time to uninstall Exchange 2007 from our environment. So let’s do that. To uninstall Exchange 2007 from our Environment we have to go to our node FSMBXN1 and open the command prompt and issue the following command:

[box]Setup /mode:uninstall [/box]

or be specific as shown in the command prompt below

This will take some time and you will be getting the result as follows:

Now, our uninstallation is complete and we can carry on to un-join the Server from the domain and format it. Once your new machine with Windows 2008 R2 is up and running we have to rename the machine as you like, join it to the domain and install all the necessary updates for the installation of Exchange 2010 SP1 and at the end install Exchange 2010 SP1 Mailbox role.

Now let me give you a brief of my Exchange 2010 Environment.

I have the following servers having Exchange 2010 Installed:

  1. EX2010FSHCN1 (IP = 192.168.0.7)
  2. EX2010FSHCN2 (Will be added later)
  3. EX2010FSMBXN1 (Public=192.168.0.8 and Private=11.11.11.1)
  4. EX2010FSMBXN2 (Public=192.168.0.9 and Private=11.11.11.2)
  5. HAPROXY (Management IP=192.168.0.12 and Load Balanced IP=192.168.0.13)

Implementing DAG (Database Availability Group)

As we have finished installing Exchange 2010 SP1 Mailbox Role on the Second node as well, now is the time to create DAG (Database Availability Group). A good article from Mr. Henrik Walther is present at this Site. Follow this article and you will have complete and better understand how DAG can be Implemented and Managed.

I will just be covering the steps of creating the DAG:

  1. Under Organization configuration go to Mailbox.
  2. When you have selected mailbox, on your right hand side, you will see, Database Availability Group Tab. Select this TAB.
  3. Then you will see the option of New DAG on extreme right hand side. Click this.
  4. When you will click the option, you have to type the Name of the DAG. Not necessary to type the Witness server and witness directory, as the setup will automatically locate a HUBCAS Server and create the Directory in that. You can make sure of this, by going to the properties of your newly created DAG.
  5. Now, we need to assign a Static IP Address for the DAG. This can be done by going to the properties of DAG and click the IP Address Tab and click ADD and type the IP address that you want to use for DAG.
  6. Once that is done, you have to close the EMC or go back to Database TAB and refresh. Once refreshed, you have to add a Database Copy to the Second Member for the High Availability.
  7. To add a database copy to the second server in the DAG, you have to right click the Database for which you want a second copy, and click Add Database Copy. The wizard will ask you for the Target Server, click browse and then select the server where you want the copy to be created.
  8. The wizard will take some time to create the copy and once that is done, you are up with your Exchange Mailbox Servers and your mailboxes are on Full availability.

Installing HAProxy in VMware Environment

In the beginning of the article I have mentioned the links from where you can download the OVF file for VMware. If you have downloaded that, now is the time to add that OVF file into VMware Environment and finish our job. Usually Client Access Servers High Availability is obtained by NLB (Network Load Balancing), But if we deploy HAProxy in our Environment, we don’t have to create the CAS Array based on NLB. We just have to deploy the CAS Servers in our Environment and Add the IP Addresses of all the  CAS Servers in the HAProxy Management and HAProxy will automatically load balance the CAS Servers.

After downloading the HAProxy OVF file, open the VSpehre Client and connect to the ESXI Server where you want to import the VM. I have a VMware High Availability Cluster in my environment so I will be deploying the OVF in the cluster. Of Corse in the cluster also you have to choose on which ESXi Server I should be hosting the Machine.

Click File -> Deploy OVF Template:

When you will click OVF Template

  1. You have to browse to the location on your local machine where you have extracted the Zip file.
  2. Once you are at the location click Next, Accept the license agreement and click Next.
  3. Type the name of the Virtual Machine and click the Server where you want the Machine to be placed.
  4. Then in one step it will ask you where to keep the VM files, you have select the Datastore where you want the VM to be. It will be better if you place it in a Volume accessible by all the hosts in a Cluster.
  5. Select the Disk Format of the Storage, i selected  thin format.
  6. Click next and you are done.

Once the machine is imported you can power it on.

Once you start the machine you have to login with Username (root) and Password (setup). Login and configure the Management IP address, give the password for the user (admin). Give a load balanced IP Address and give the IP Address for the First CAS Server in the Site. Later when you will add more CAS Server you can add the IP Addresses of those CAS Servers as well.

Related Articles, References, Credits, or External Links

Download Hesan’s Outstanding article in .pdf format.

Migrating from Exchange 2007 to Exchange 2010 Sp1

Public Folder Migration Exchange 2003 to 2010

KB ID 0000426 

Problem

I’ve already written at length about migrating from Exchange 2003 to 2010, I was doing a migration this week and migrating the public folders was proving to be a pain.

If you have multiple public folders within public folders then setting up replication can be a nightmare, as the replication settings don’t get passed down to the child object.

Normally you could use PFDAdmin and this would do it for you, or use the Exchange ExFolder tool, or even the powershell scripts included with Exchange 2010 (like AddReplicatoPFRecursive.ps1). But sadly all these failed for me today.

To use the Exchange 2010 Scripts click here.

In the end, with the aid of third line support at Microsoft, it was fixed using a feature of Exchange 2003 that I NEVER KNEW was there 🙂

Solution

1. The bad news is you still have to add the new Exchange 2010 server as a replica on the top level folder. (Right click > Properties > Replication Tab > Add > Add in the new server > Set the interval to always run > priority to urgent (unless you have a LOT! then choose Normal) > Apply.

Update: Eagle eyed visitor Brian Morphey, mailed me to point out that in my diagram all the folders are under the Exchange 2010 Administrative group, How did they get there? You need to use Exchange system Manager to create a public folder group in the new administrative group then simply DRAG the public folder group from the old admin group to the new one.

2. Right click the folder again > All Tasks > Manage Settings.

3. Select “Modify lists of replica servers” > Next.

4. Add servers > Next.

5. Add in BOTH the 2003 server AND the 2010 server > Next.

6. Finish.

7. It will now run through all the sub folders and apply the same replication settings on all of them, this can take a while depending on the number of folders.

8. Go to the Exchange 2010 Server and open the Public Folder Management console, right click Public Folder {your server name} > Update Hierarchy.

9. Repeat the above, but this time select “Refresh”.

10. Finally to speed things along, you can right click each folder and select “Update Content”.

11. Now wait! It can take a while till replication is complete.

Removing Public Folder Replicas

Once All the data has replicated across you can remove the 2003 replica by doing the reverse.

1. Right click the public folder > All Tasks > Manage Settings > Next > Modify List of replica servers > Next.

2. Remove servers> Next > Tick the server you want to REMOVE the replica from > Next.

3. Finish > Depending on the amount of data it may take a while.

Migrating Public Folders with Exchange 2010 Scripts

Step 1 Set up Public Folder Replication to Exchange 2010

On the Exchange 2010 Server open the Exchange Management Shell and execute the following three commands;

[box]
CD “C:Program FilesMicrosoftExchange ServerV14Scripts”
.AddReplicaToPFRecursive.ps1 -TopPublicFolder “” -ServerToAdd “EX-2010.petenetlive.com”

Update-PublicFolderHierarchy -Server “EX-2010.petenetlive.com”
[/box]

Step 2 Once the Replication Has occurred

Warning: Check that replication is complete before you do this!

Check replication with a “Get-PublicFolderStatistics ” command, once you are happy, run the following two commands;

[box]CD “C:Program FilesMicrosoftExchange ServerV14Scripts”
.MoveAllReplicas.ps1 -Server “EX-2003.petenetlive.com” -NewServer “EX-2010.petenetlive.com”[/box]

Related Articles, References, Credits, or External Links

Thanks to Brian Morphey for the feedback.