Attach TempDB disk to vmware SRM protected VM

My company has to use SRM, becouse our network provider can’t serve dark fiber between two data centers. We use 2x1Gbps iSCSI connection 😦 and unfortunately this is not a dedicated connection to storage replication. So that is the point we use SRM 🙂

We have many sql servers whitch has I/O intensive TempDB. This is not problem when u use fast connection whith low latency. However you will get poor values from your system. The easy way to discover that when u check DAVG, KAVG and GAVG metrics in ESXTOP. (Deatiels about this metrics from Duncan Epping: http://www.yellow-bricks.com/esxtop/)

But this is not an article about storage performance, so we can go back our main story.

We have decided not to replicate tempdb of sql servers between two data center. We created a new LUN to TempDB, and moved dedicated tempdb vmdk to that LUN by Storage vMotion without downtime.

Fortunetly we have good storage systems (EMC VNX Series) both DC, and we were able to clone the dedicated TempDB LUN (eg.: SQL_TempDB_DC1). We created local mirror, and after that lun became syncron state, we fractured that. After the fracture we got a full copy of tempdb LUN, and vmdk. In my opinion it schuld be an other way (not tested!!!) when u create a remote mirror from TempDB LUN from DC1 to DC2, after that freacture the mirror and rename LUN.

On the other DC we created an other TempDB LUN eg.: SQL_TempDB_DC2 and copied the vmdk from SQL_TempDB_DC1 LUN to SQL_TempDB_DC2 LUN.

In this time our production VM is still online 🙂

So now we have to solve when we will create a site change by SRM, we can’t add manually to SQL server the TempDB vmdk. I found two good blog article about this subject. One from VMware and other vExpress blog.

I would like to share with u my experiences about this topic:

Don’ forget prepare your PowerCLI environment. 

Set-ExecutionPolicy RemoteSigned

http://blogs.vmware.com/PowerCLI/2011/06/back-to-basics-part-1-installing-powercli.html 

Use or upgrade to vmware SRM 5.5.1.4 exept u would like to see similar logs 🙂

016-05-24T15:15:58.427+02:00 [03488 info ‘Recovery’ ctxID=3758ee53 opID=CC6320B0-0000065B] [recovery-plan-5253.recovery-plan-5253.prePowerOnCallouts-protected-vm-112250-PRE-0] Executing command c:\windows\syswow64\windowspowershell\v1.0\powershell.exe -file C:\script\sql_tempdb.PS1
2016-05-24T15:15:58.427+02:00 [03488 verbose ‘Recovery’ ctxID=3758ee53 opID=CC6320B0-0000065B] COMMAND LINE ENVIRONMENT SETTINGS::
2016-05-24T15:15:58.428+02:00 [03488 verbose ‘SysCommandWin32’ ctxID=3758ee53 opID=CC6320B0-0000065B] Starting process: “c:\windows\syswow64\windowspowershell\v1.0\powershell.exe” -file C:\script\sql_tempdb.PS1
2016-05-24T15:24:08.225+02:00 [03488 info ‘RemoteDR’ connID=dr-user-70ab opID=4945e54] [PCM] Received NULL results from PropertyCollector::WaitForUpdatesEx due to timeout of 900 seconds
2016-05-24T15:25:55.732+02:00 [03488 error ‘SoapAdapter.HTTPService’] Failed to read request; stream: <SSL(<io_obj p:0x0000000006cc2b08, h:3620, <TCP ‘192.168.xxx.xxx:8095’>, <TCP ‘192.168.xxx.xxx:62880’>>)>, error: class Vmacore::SystemException(An established connection was aborted by the software in your host machine)
2016-05-24T15:30:55.743+02:00 [03488 error ‘SoapAdapter.HTTPService’] Failed to read request; stream: <SSL(<io_obj p:0x000000000ca04668, h:3432, <TCP ‘192.168.xxx.xxx:8095’>, <TCP ‘192.168.xxx.xxx:55497’>>)>, error: class Vmacore::SystemException(An established connection was aborted by the software in your host machine)
2016-05-24T15:30:58.446+02:00 [03488 info ‘Recovery’ ctxID=3758ee53] Command c:\windows\syswow64\windowspowershell\v1.0\powershell.exe execution exceeded timeout limit of 900 seconds

https://kb.vmware.com/kb/2076112

Set ProxyPolicy to PowerCLI

I got this error message, when i try to run the script on vCenter server:

Connect-VIServer : 2016-05-24 Connect-VIServer Could not connect using the requested protocol. The PowerCLI connect https protocol by default.

Set-PowerCLIConfiguration -ProxyPolicy NoProxy -Confirm:$false
add-pssnapin VMware.VimAutomation.Core
Connect-VIServer -Server VCNETER.FQDN.DOM -Protocol https -WarningAction SilentlyContinue
New-HardDisk -VM “SQL” -Persistence IndependentPersistent -DiskPath “[SRMTEST_TMPDB_DC2] sql/SQL_1.vmdk” 2>”C:\script\error.log”

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2011395

I hope this article will help to you!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s