VMware Site Recovery Manager with EMC RecoverPoint SRA – Server Migration (32-bit to 64-bit OS)

August 26th, 2010

Followed this KB article on migrating an existing SRM instance to a new server. A few hiccups, however.

This SRM implementation was using EMC RecoverPoint. To get the RecoverPoint SRA installed, SRM had to already be installed. However, couldn’t install SRM because it’s services would not start since the existing database it was connecting to expected the SRA to be available. Resolution was along the lines of the following:

*Make sure you have a backup copy of the database or use a temporary database (I used backup/restore method as opposed to a temp DB)*

  1. Make sure the Site Recovery Manager Server service on the old server is stopped.
  2. Backup the known good copy of the database
  3. Run the SRM installer on the new 64-bit server, when prompted select the DSN (you created a 32-bit DSN, right?) to the existing database (choose to maintain the contents / do not overwrite)
  4. Complete the installer
  5. This is where it got funky. The Site Recovery Manager Server service fails to start so checked the logs located at %ALLUSERSPROFILE%\Application Data\VMware\VMware vCenter Site Recovery Manager\Logs (open the current .log file)
  6. The prompt at the installer will have the Retry and Cancel options. If you choose Cancel it will rollback the install and leave the database in an unhealthy state – this is where our backup is going to come in handy.
  7. Once the rollback completes, start the install again and complete the exact same steps (this time it will not prompt you about overwriting the existing database as it doesn’t believe the database has vaild data). Allow the install to go through – it will finish this successfully this time.
  8. Now, install the EMC RecoverPoint SRA. It will install successfully since SRM is now installed.
  9. Uninstall SRM (just step through the uninstaller, don’t check the box about removing the database contents – not that it will matter as we will be restoring our known good copy anyway).
  10. Restore the backup of the database choosing to overwrite the database.
  11. Install SRM and this time it will prompt regarding the existing database – select to use the existing database.
  12. The installer will still fail this time as well, but checked the log this time and found the following:
  13. [2010-08-26 15:34:40.560 03192 verbose 'PrimarySanProvider'] Loading Array Manager 'array-manager-4353' from DB object
    [2010-08-26 15:34:40.560 03192 warning 'DrServiceInstance'] Initializing service content: (dr.san.fault.ManagementSystemNotFound) {
       dynamicType = ,
       faultCause = (vmodl.MethodFault) null,
       name = "C:/Program Files/VMware/VMware vCenter Site Recovery Manager/scripts/SAN/array-type-recoverpoint",
       msg = "",
    }
    [2010-08-26 15:34:40.560 03192 error 'App'] Application error: dr.san.fault.ManagementSystemNotFound. Shutting down ...
    [2010-08-26 15:34:40.560 01788 info 'App'] [serviceWin32,421] vmware-dr service stopped
  14. The problem here is that the old server was 32-bit windows and therefore installed everything to C:\Program Files\… but our new server is 64-bit and SRM installs to C:\Program Files (x86)\…
  15. The array manager script path is actually stored in the database. Find the table [pds_arraymanagere] and update the field [scriptpath] to reflect the correct (x86) directory.
  16. Hit Retry and the service should start correctly.

Still needed to re-pair the sites in SRM but this was the biggest hurdle in migrating the server. Also, reading that process back, the whole thing could have been done in a few different ways.Anyway, this was a bit of a worst case scenario but ultimately it worked out well.
Note: This KB article does exist, bubt it is for two specific scenarios as hihlighted in the article, not this situation

Popularity: 32% [?]

Deploying Applications Using BlackBerry Enterprise Server

August 20th, 2010

Good quick reference guide here [bluhaloit.wordpress.com].

Make sure you have the latest / up-to-date versions of Device.xml & Vendor.xml on your BES (will fix “Device not supported” issues). See here [blackberry.com] for current XML files for BES 4.x and 5.x

Popularity: 4% [?]

Exchange 2007 Mailbox Quota Notification

August 12th, 2010

Powershell script to check mailboxes that are at or close to quota and send the mailbox an email to advise:

$smtpserver = ""
$replyemailadd = ""
$mailboxserver = ""
$users = Get-MailBoxStatistics -Server $mailboxserver | where {"IssueWarning","ProhibitSend","MailboxDisabled" -contains $_.StorageLimitStatus} 

foreach ($objItem in $users)
{
$mailbox1 = $objItem.displayName + " item count: " + $objItem.itemcount + ", using " + $objItem.totalitemsize.value.ToMB() + "MB`n"
$mailbox2 = get-mailboxfolderstatistics $objItem.displayName | ft FolderPath, ItemsInFolder, @{Label="FolderSize(MB)";expression={$_.FolderSize.ToMB()} } -auto | Out-String
$mailbox3 = "Please contact ... if you have any questions regarding your mailbox quota.`n"
$messagesubject = "Quota Warning for " + $objItem.displayName + ", Size " + $objItem.totalitemsize.value.ToMB() + "MB used"
$mailboxfinal = $mailbox1 + $mailbox2 + $mailbox3

$temp = get-mailbox -identity $objItem.DisplayName

$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($replyemailadd, $temp.PrimarySmtpAddress,$messagesubject,$mailboxfinal)
}

Popularity: 5% [?]

Finding Old Snapshots – VMware vSphere PowerCLI

July 6th, 2010

Because it’s a pain to check all VM’s for outstanding snapshots from the VI Client, this script is useful for listing any VM’s that have outstanding snapshots and when they were created. Referenced mostly from here [vSphere PowerCLI Blog]

Connect-VIServer vcenter-server.domain.com
$vms = Get-VM
$mybool = $False
foreach ($vm in $vms){
$snap = Get-Snapshot -VM $vm
if ($snap){
$mybool = $True
Write-Host "VM Name: " $vm.Name " Snapshot Name: " $snap.Name " Created: " $snap.Created
}
}
exit

In the above code the $mybool variable is used to keep track if any VM’s have snapshots or not. The purpose of this code was to send an email if any VM’s had snapshots. So, you could replace Write-Host with a string variable and write the output to that then send it via email to alert someone. You can also use the $snap.Size property to determine how big the VM’s snapshots have grown which is a good indicator on how long it will take to commit them back the the parent disk, if that is your aim.

Popularity: 27% [?]

Windows PowerShell Send Email

July 6th, 2010

This is posted in heaps of places online (this post is pretty useful – includes details on message format and attachments), so mainly for my own reference:

$emailFrom = "[email protected]"
$emailTo = "[email protected]"
$subject = "Subject"
$body = "Some text"
$smtpServer = "mail-server.domain.com"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

Popularity: 6% [?]