Add a second SQL instance to an existing SQL2008 cluster?

  • I have inherited a clustered SQL 2008 installation running on Windows Server 2008 Enterprise (x64). All of the data and log files are stored on a three volumes on an iSCSI SAN.

    I now need to add a new named instance to the installation cluster and allow it to use the same three volumes as the existing instance.

    As I am new to clustering and SQL2008 any pointers would be very useful.

  • (Note: depending on the SAN vendor and implementation, "SAN Volume" may have different meanings. I am under the assumption that "SAN Volume" means "Mounted Windows disk partition/drive")

    The new named instance will be a separate clustered resource, with separate owned resources.

    now need to add a new named instance to the installation cluster and allow it to use the same three volumes as the existing instance.

    Windows clustering uses a 'shared-nothing' approach. Because the two instances are operating independantly, it is not possible for them to run individually on different hosts in the cluster. Under Windows clustering, it is not possible to have SAN volumes usably mounted to multiple servers at the same time.

    If the two instances are to operate independantly, they must separately own their clustered resources - including the disk resources (the mounted volumes from the SAN).

    If you wish to create another clustered instance, you must create separate SAN resources for it to control.

    You may either create a new instance on new, separate SAN volumes, or add databases to the existing instance to allow it to access the mounted SAN volumes controlled by that instance.

    Sorry, I don't have any resources handy; I'm going off experience before we ditched Windows clustering for a 3rd-party clustering/HA solution.

    Eddie Wuerch
    MCM: SQL

  • Why a new instance? You'll be really juggling memory between them. Why not add a database for the new app?

  • That was a good explanation. Good work..

    CEWII

  • Eddie, you are correct in your assumption, I do mean mounted volume.

    The setup I have inherited has databases for an application written in-house in the default SQL instance and I need to add Sharepoint databases to the database server. Rather than using the same SQL instance I would like to add an additional SQL instance dedicated to Sharepoint to allow me to allocate resources between the instances.

    I am quite new to clustering and I am not sure whether you can have multiple SQL instances in the same cluster, e.g. databox\App and databox\Sharepoint. I had hoped that I would be able to have two SQL instances and that they could both mount the same SAN volumes. The instances do not need to operate as separate clusters.

  • The single most important sentence in that response was "The instances do not need to operate as separate clusters". Run them together..

    CEWII

  • CEWII, Is it possible to run two SQL instances under the same clustered application? I have been told that each instance has to be exposed as a separate clustered application.

  • I believe you can install a second instance in the same "group" as the existing instance, but it will be failed over too if the default instance gets failed over. And it will share the same resources. I have not actually ever implemented it this way. And what I meant in my previous post was to use the first instance. and not add a second..

    CEWII

  • The setup I have inherited has databases for an application written in-house in the default SQL instance and I need to add Sharepoint databases to the database server. Rather than using the same SQL instance I would like to add an additional SQL instance dedicated to Sharepoint to allow me to allocate resources between the instances.

    If you intend to use a separate instance for performance reason's, you would also want your backend residing on their own volumes to avoid disk contention and optimize your SAN I/O. I honestly don't think there is a way to add multiple SQL resources (SQL Name, IP, services, etc.) within the same Cluster group. Best practice is to not have two installs utilizing the same LUNS for their (data, log, system/tempdb) files.

    Also, please take into account that if you intend to have the secondary instance for your Sharepoint backend, additional application installs may be required (SDK, MOSS, etc.), which may impact your initial install. You will also need to consider installing an additional Cluster Group for your Microsoft Distributed Transaction Coordinator (MSDTC), that's if it hasn't already been applied.

    =s=

    Drake Teran

  • Hello,

    I am also preparing to add a second instance to a currently existing SS2K8 SP1 cluster. I have separate SAN, IP, and Cluster Name, I am just looking for the correct steps to go through to actually build the cluster (installation steps).

    Thanks

  • If you have a new question, please start your own thread rather than piggy backing.

    The installation steps for the cluster are on the Windows and SQL Server sites at Microsoft.

    http://technet.microsoft.com/en-us/library/aa996568.aspx

    https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=490420

  • Thanks, for all your responses. I have, unfortunately, been told to "just use the same instance" to save time. I will update this thread if I get to try the multiple instance cluster scenario.

  • You can use the same Windows Cluster but you will have to create another cluster group and inside that, put all the resources for your new application, including a new disk resource.

    NEVER mix stuff on an existing SQL failover cluster group, horrible design and if the whole group fails over, the other stuff will failover to the other node as well.

    If your application does not need to be isolated, you can create another database inside the existing SQL failover instance. But be aware of the limitations, like sharing security and downtime issues ...

  • How would you go about installing the 2nd instance on the existing cluster in a new group with it's own resources? I have an existing 2008 cluster with the default instance, I have new disks, IP, and name, but it seems my only options are to add a new cluster or a new stand alone instance. What hoops do I have to jump through to add an instance to the cluster? Has anyone actually tried this? Is it possible?

  • Adding a second instance with separate resources to a cluster is a standard operation so...to the last post...nothing unusual or difficult.

    To the original post...your end configuration would be exactly the same as an A/A cluster that had a failed node...both instances running on the same server. So...the big question...why would you want to do that ... leave a totally unused 'passive' node burning datacenter resources...have two SQL instances duking it out for resources on the active node? I presume you can set the preferred node to be the same for both instances with 'allow failback' enabled...maybe...that should get you what you asked for.

    The net of this is to deploy the second instance as though you are building an A/A cluster, set your min/max memory accordingly, then fail the second instance over to the first node. Don't ever tell anyone I told you how to do this please.

Viewing 15 posts - 1 through 14 (of 14 total)

You must be logged in to reply to this topic. Login to reply