Clustering SQL and Scale-Out

  • I'm hoping to get some assistance from the experts here in regards to clustering SQL server with an active/active setup.

    We currently have load-balanced web servers that access data on a single SQL server. We would like to move up to a two server SQL cluster where numerous independent databases currently served up on a single instance of SQL on a single server would be split up to two separate servers each running their own instance of SQL. The SQL servers would provide failover protection for eachother through MSCS. We would also be doing some log shipping to a third server periodical to serve as a 'manual' emergency failover option in the event that the shared disk array fails.

    I have read several of the articles on this site and understand the concepts of clustering SQL. Most of my questions right now are more hardware related which I hope is not too far off base for this forum. Our current preferred supplier for all our computing needs is DELL.

    What's the most bang for the buck right now as far as clustering shared disk arrays? SCSI, NAS, SAN ?

    Being a new company we're of course leaning towards a solution that is cheapest until we really get going. My initial thoughts are that we would go with some sort of SCSI solution for now as our storage space needs are well below the maximum disk space that a 14-disk array can provide. Unless it's more cost effective to go with NAS or SAN.

    Does the SCSI disk array get configured as a single bus which both systems connect to, but the MSCS handles who can access any partition at anytime? So the SCSI connection between the server and disk array is just a single SCSI connection from a dedicated SCSI controller in the server correct?

    Anyone have any further recommendations as far as where to go for hardware design issues? I'm sure the vendor can provide some help but I'd prefer to get an unbiased opinion.

    Thanks in advance for your help

  • Well, I would go with two servers attached to external scsi array. Its cheaper than SAN and faster than any real NAS you are gonna buy. You will need to go with a generic setup or something from HP or Dell. Compaq only sells one cluster solution that is scsi based. You can also go with a fibre channel shelf if you have to go with compaq. The array can be single bus or dual bus. Just remember that most cluster array cards have a cluster mode where one card is passive i.e. disable bootable bios. i

  • So can the drives/partitions that each server has primary access to and will have their SQL databases stored on be on the same bus of the scsi array?

    If they can be on the same bus then I may plan on getting a split bus array and only use one bus for the 2 servers and save the second bus for additional clustered server pairs

  • If you go with an external scsi solution you will want a array that has one bus so both machines can see all of the drives and share them. You will not be able to use a split bus in the way you think. In a split bus configuration you only have one port in on ether side of the array that a single server can plug into. Termination happens on the array. It's hard to explain if you haven't seen a scsi cluster before. It's not if they can be on the same bus but they have to be on the same bus. It would go something like this servera ---> array ---> serverb they would all three be on the same bus. in a split bus its like so servera ---> array <--- serverb. servera and b do not talk to each other through the array so there is no cluster. I would call Dell and ask a sales rep to talk to a TSR technical sales rep about what you want. If you feel that they don't know enough request that you talk to someone in clustering support. It's not hard to setup and Dell has pretty good server tech support.

    Wes

  • Thanks a lot Wes.

    So a single bus on a single array for an active/active setup. So could a physical disk be broken into 2 logical drives (F/G) and servera would access logical drive F while serverb would access logical drive G? Does the clustering control go down to logical drive level or can only one server access a physical disk at a time?

    Sorry if it's a dumb question. I just saw in one forum elsewhere that active/active SQL clustering requires multiple drive arrays.

    Any recommendations on Cluster-aware SCSI controllers. DELL seems to push PERC3/DC more. QLogic? Adaptec?

  • One "problem" with MSCS is that Microsoft will not support a "non-certified" configuration and that means that you're going to have to buy the vendor's "cluster package" if you want that support, because that's what they get certified.

    This can be annoying, for instance DELL (I own a DELL MSCS cluster) make you buy a "cluster kit" for $100 or so to get a certified package. This "kit" comprises a crossover ethernet cable and a manual so the total cost is around $5.

    Having said which, my DELL configuration works fine. Two PowerEdge 2500s with PERC2 for RAID 1 on the interal system disks and PERC3 for the external RAID arrays. You can put two PowerVaults per PERC3/DC and can put something like 8 PERC3s per machine, so you get a huge amount of SCSI3/Ultra160 storage.

  • Steve,

    This is kind of verbose --- I hope it helps.

    Yes. All you need is one PowerVault. You can group the storage on a PV into a single RAID monolithic set or into multiple independent RAID sets.

    However, you need at least one independent RAID set for each independent resource group on the cluster. For an active/active server (each node is "hot" with a virtual server instance) you're going to need a bunch of RAID sets because each virtual server has to have its own resource group. All this may not all fit into a single PV box, depending on how much storage you need. Make sure you buy a PV with dual controller cards, not a single controller and termination. (You have to change a jumper on the cards to tell the PV its working in a cluster rather than as a "split backplane" configuration.)

    For the servers I would use a PERC2/Di inside to put the OS onto a hardware RAID 1 (Mirror) set. You cannot install the OS onto a software RAID set because the OS needs to be running before FTDISK.SYS can build the RAID set. Plus it is SLOW. You don't want to page into software RAID.

    I would use the PERC3/DC for your external storage. (You need to change one PERC3 to have SCSI ID 6 on the shared bus.)

    This is what I'd do for the storage on active/active.

    1xRAID 1 pair of disks for the Quorum + other Cluster Group apps you may feel like having.

    2xRAID 1 pairs of disks for the SQL logs (one for each hot node)

    2xRAID 5 sets of disks for the SQL data (again, one for each hot node).

    You can put 14 disks into a PV220S (you loose two SCSI ids for the two controllers). You're using six for three RAID 1 sets, leaving two sets of four for the remaining two RAID 5 sets. If that gets you the storage you need, you only need one PV. Otherwise, you'll need to add another.

    Where your active/active system is running, it will look normally look something like this:

    \\CLUSTER1

    Operating System on drive C: on internal PERC2 as RAID 1

    Cluster Group: Quorum on drive Q: on external PERC3 as RAID 1

    Virtual Server 1: Logs on drive L: on external PERC3 as RAID 1

    Virtual Server 1: Data on drive D: on external PERC3 as RAID 5

    \\CLUSTER2

    Operating System on drive C: on internal PERC2 as RAID 1

    Virtual Server 2: Logs on drive M: on external PERC3 as RAID 1

    Virtual Server 2: Data on drive E: on external PERC3 as RAID 5

    However, it would be possible for VS2 to failover onto \\CLUSTER1 or for the Quorum and VS1 to failover onto \\CLUSTER2. Make sure you have enough RAM to run both virtual servers on a single node.

    At this level, the "shared nothing" model means that each separate shared RAID set is accessible to only one physical machine at any one time. This means that when a virtual server failsover the resurrected instance (on the other node) does not seamlessly continue where it left off but actually rolls back the interrupted transaction. That's why they call it "high availability" rather than "fault tolerant."

    Best wishes,

    Graham

    p.s. I'll also post this.

  • p.p.s. One important point to highlight is that in the active/active configuration the two virtual servers are *not* sharing the same database. You need to build a federated database using distributed views to accomplish that.

  • I *cannot* vouch for this product, but look at http://www.incepto.com to see if this more closely matches what you want?

    Simon

    UK

Viewing 9 posts - 1 through 8 (of 8 total)

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