Migrate to new iSCSI storage SQL

Posted on 2010-08-18
Medium Priority
Last Modified: 2013-11-14
We currently have a Windows\SQL cluster running on a few lefthad NAS iSCSI storage devices
We just bought EMC storage, and need a plan on how to transfer the sql database,
shares, and etc. From the old lefthand devices to the new EMC storage via ISCSI

We need to decomission the old lefthand devices and have the cluster use the new EMC device.
How do I go about doing this, while reducing errors, and minimizing impact to users.
Will we need to break the Cluster>
How you resetup the cluster with new storage
What about the Quroum Disk
Then copying data/database/folders from one iSCSI storage to the other.
Question by:bntech
LVL 29

Expert Comment

ID: 33472288

SQL and Windows simply references the disk based on the partition label such as C:\, D:\, E:\, F:\ etc.

Can you present the new LUNs to the servers whilst keeping the old LUNs available? This might require another iSCSI adapter if you have independant SAN fabrics. If you can do that I will setup the new LUNs shut the applications down in a maintenance period copy the data from the old LUNs to the new ones and then change the disk label for the old LUNs and make the new LUNs use the original labels. Then restart the cluster and applications and they should not notice the change.

So eg.
Quorum - disk Q:\
SQL Data files - disk F:\
SQL Log files - disk G:\

Create new LUNs as disk R:\, J:\ and K:\, shutdown the apps, copy Q:\ to R:\, copy F:\ to J:\ and copy G:\ to K:\ then make the orignal QF and K disks labels T, L and M and make the new LUNs labels back to Q:\, F:\ and G:\ and restart the cluster and application services.

The downside to this is you need application downtime to copy all the files and you should use something like Secure Copy to ensure the permissions, etc all get copied.

LVL 56

Expert Comment

by:Handy Holder
ID: 33473717
Clustering doesn't use disk letters, it requires the disk signature to be the same. Easiest way is to break the cluster and re-create it with the new resources. Loads of documents on Technet about it, for example http://support.microsoft.com/kb/305793/en-us (but you try to find dumpcfg)

Expert Comment

ID: 33485304
It's been a while since I've done MSCS for SQL, but if memory serves me, couldn't you just ADD additional resources (from your NEW iSCSI SAN) to the cluster resource pool, then move the databases: Just do a sp_detach_db , move the data/logs to the new iSCSI drives, then sp_attach_db
http://support.microsoft.com/kb/224071.  I know it is a bit more complex for the system databases but there is a link in that article for doing that as well.

Then you WOULD have to move the quorum drive, but here's an article http://support.microsoft.com/kb/280353 (this is for 2000/2003, not sure which version of Windows you are clustering with)

Once you are all done you could remove the old drives from the resource pool of the cluster.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 33628808
So if I understand correctly
I can add new iSCSI targets to the server (new SAN)
Add disk to cluster as new resource pool or existing?
Copy the data.
Then what
Remove previous disk from resource group
How do I move the qourum disk over and remove the old qourum disk

The windows version is Win 2003
Sorry just now getting around to this, so sorry for the delays.

Author Comment

ID: 33628870
Better yet,
I am planning on not using the cluster as it is now.
How can I dismantle the cluster and make it a standalone server again, with the new ISCSI taget.
Keep in mind SQL is installed in cluster mode,
And I need to keep sql running on the primary server.
Is the only way to uninstall \ re-install?
I was wanting to decomission the second node. I also dont believe the second node will be able to see the new ISCSI disk anyways (not 100% sure on this) its in a remote location.

Expert Comment

ID: 33629634
Aaah.  I think you would just go through the process to "remove" the 2nd node from the cluster.

I'm not sure about how you "decommission" the cluster.  I think you would either have to operate in a "1 node cluster" or reinstall SQL to get it to be configured as a non-clustered node.

Author Comment

ID: 33630013
Thanks teledata for your comment.

If I chose to go the route of Adding the new ISCSI storage to the cluster. (Both nodes)
How do I go about making sure that SQL \ Data\logs operate as it was before.
Lets say that the cluster currently has the following drives
q: quorum
D: Data
L: logs
Sql is installed in the cluster
If I attach new storage it would assign different drive letters. as it sees new drives. These would be formatted and added to the machine.
Do I stop sql services,
Copy the data
Change drive letters so the new drivers are now Q: D: and :l respectively.
Then restart sql\cluster services?
What about the quorum -- Does it work like that
Or should I add the new storage
let it make new drive letters example  M N and O:
then copy the data
then what do i do for the cluster \ sql piece so that it points to the new drive letters

I want to mimimize downtime, and understand that there will be a disruption in services.
I just need to move all the ISCSI drives from one SAN to a new SAN
Quorum, data, logs and all.
I am confused on the best way to do this, while maintaining cluster and data integrety

Thanks for your help and comments

Author Comment

ID: 33639398
Any Thoughts?

Accepted Solution

teledata-consulting earned 2000 total points
ID: 33641256
Lemme dust off my MSCS thinking cap... ;-)  I would prefer "adding" new volumes to the existing resource groups first, and tried

 I think the easiest thing to do would be to add the new iSCSI volumes as new drives to both cluster nodes, add those drives to the "SQL Resource Group", add Disk M to the Quorum Resource Group.

Then in SQL Server Move the databases.  The trickiest part is moving the system and master (Master, Model, MSDB) databases:
The steps are outlined here:

Once you have it back and running, migrate the user databases by doing a "Detach database" then copy the files to the new volumes
then "attach database". (It just removes the "pointers" in SQL to the database mdf and ldf files, then attach lets you simply browse to the new locations and it puts them back into SQL.)

Verify functionality

Remove the old D,L drives from the SQL Resource Group, remove Q from the Quorum Resource Group.

Verify functionality... Deprecate the old storage...

I hope someone with more recent MSCS experience can weigh in here, because It has been a while since I've worked with MSCS....

Author Comment

ID: 33727446
If memory serves me correct, when you setup shared storage to the cluster in the beginning, you do one node at a time, while the other node is offline. then bring the other node online and add to the cluster.
Will we have to do similar steps when adding new shared disk to the cluster.
Setup server connection to iSCSI NAS, map drives, add to cluster?

Expert Comment

ID: 33727719
Yes, you would add resources (drives) to the cluster just as you always would (one node at a time)...


Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
This shares a stored procedure to retrieve permissions for a given user on the current database or across all databases on a server.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…
Suggested Courses

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question