exoshop Posted May 16, 2011 Posted May 16, 2011 Hi All, I'm looking to change the way or website is handled. Right now, it is running on 2 machines (Dell 2850 Xeon DC, 8Go Ram 6x36Go 15k HDD (2x Raid1 4x Raid 10). 1 machine is running Win2008R2 IIS7.5, php, AV and a FTP server, the other machine is running on Win2008R2, AV (Forefront) and MySQL 5.5. A third one (Dell 1950) is in standby in case of a failure. I also have a small DNS-323 for backups. Everything goes through a Cisco 1541 router. I'm looking to have a more secure and reliable setup and to include an Exchange server on top of this setup. I was thinking of having a load-balancing setup with 4 Dell 2950 QC with 8Go ram. I just don't know if it's viable with 4 machines. Our website generates approx 1To of traffic per month and the Exchange server would have a max of 25 mailboxes. I'm good with configuring 2 servers but I never tried load-balancing. I'm confident that I can learn to do it, just don't know where to begin. What setup would you guys suggest? Hope my questions make sense. Thanks, Tommy Quote
ICTCity Posted May 16, 2011 Posted May 16, 2011 Hi All, I'm looking to change the way or website is handled. Right now, it is running on 2 machines (Dell 2850 Xeon DC, 8Go Ram 6x36Go 15k HDD (2x Raid1 4x Raid 10). 1 machine is running Win2008R2 IIS7.5, php, AV and a FTP server, the other machine is running on Win2008R2, AV (Forefront) and MySQL 5.5. A third one (Dell 1950) is in standby in case of a failure. I also have a small DNS-323 for backups. Everything goes through a Cisco 1541 router. I'm looking to have a more secure and reliable setup and to include an Exchange server on top of this setup. I was thinking of having a load-balancing setup with 4 Dell 2950 QC with 8Go ram. I just don't know if it's viable with 4 machines. Our website generates approx 1To of traffic per month and the Exchange server would have a max of 25 mailboxes. I'm good with configuring 2 servers but I never tried load-balancing. I'm confident that I can learn to do it, just don't know where to begin. What setup would you guys suggest? Hope my questions make sense. Thanks, Tommy Hi there, First of all let's clarify some topics: LOAD BALANCING is the art of CHECK WHICH OBJECT (server) HAS MORE RESOURCES AVAILABLE. Microsoft cannot do this, not in the way you want. Don't confuse LB (load balancing) with ROUND ROBIN (RR), RR just send request RANDOMLY to a pool of server. This means that if one of those servers fails, the broker (the component who has to "forward" the traffic) doesn't know anything about this. Just after a while (this is not easy, the THEORY says: once the heartbeat (usually a ping) is broken after 5 attempts, the node is automatically taken offline from the pool), but BEFORE this happens, requests made to this server are lost. Now, before going further, let me know what you want to do: 1) failover clustering (microsoft cluster, two or more servers with identical hardware which are replicated eachother) this scenario is also know as FAULT TOLERANT. 2) CDR (continuos data replication) for exchange, basically you install two times Exchange server (2007 and above) and you don't need clustering from MS. 3) MySql LB/RR You COULD create a failover cluster with round robin. Remember the network part, have 100 servers in a cluster with just one router is meaningless. Let me know! Quote -------------------------------------------------------- Tu peux aussi crire en franais. Du kannst auch auf Deutsch schreiben. Puoi scrivere anche in italiano. --------------------------------------------------------
exoshop Posted May 16, 2011 Author Posted May 16, 2011 Hi there, First of all let's clarify some topics: LOAD BALANCING is the art of CHECK WHICH OBJECT (server) HAS MORE RESOURCES AVAILABLE. Microsoft cannot do this, not in the way you want. Don't confuse LB (load balancing) with ROUND ROBIN (RR), RR just send request RANDOMLY to a pool of server. This means that if one of those servers fails, the broker (the component who has to "forward" the traffic) doesn't know anything about this. Just after a while (this is not easy, the THEORY says: once the heartbeat (usually a ping) is broken after 5 attempts, the node is automatically taken offline from the pool), but BEFORE this happens, requests made to this server are lost. Now, before going further, let me know what you want to do: 1) failover clustering (microsoft cluster, two or more servers with identical hardware which are replicated eachother) this scenario is also know as FAULT TOLERANT. 2) CDR (continuos data replication) for exchange, basically you install two times Exchange server (2007 and above) and you don't need clustering from MS. 3) MySql LB/RR You COULD create a failover cluster with round robin. Remember the network part, have 100 servers in a cluster with just one router is meaningless. Let me know! Hi! Thanks for your reply! Humm... I'm not sure what would be best for me. Failover clustering seems to be the best option if I want the website to be 99% up. I'm just wondering about MySQL performance. Would a SAN or NAS benefits. Right now, my website files are on the machine running IIS, on a diffrent RAID array than Windows. Also, is it possible to have a virtual server running on top of two real server ? The question I should ask What setup would you build if you were to have an Exchange/ISS with php and MySQL and you want to be safe if a server goes down for maintenance/failure, without the website going down. I thought about the router too, that'll be my next step. Best regards Quote
ICTCity Posted May 16, 2011 Posted May 16, 2011 Everything depends on how much you want to spend. Virtualizing and using a shared storage is good thing for many reason, but pay attention: - when you virtualize, you can create a pool with N servers (let's say 2), you attacch a shared storage (SAN). You create 3 VM (1 for IIS, 1 for exchange, 1 for SQL), this is just an example. Now your VMs are running on the SERVER1 which is the POOL's master, the second server is waiting for jobs (actually it can do something...). The SERVER1 fails (hardware problem), your Virtual System (let's say XenServer), move the VMs on the other server. You are up & running. This is the scenario evaluated by many people, BUT WAIT, what about a windows failure? I mean, something get corrupted, you can restart the VM but you have a bluescreen... what's next? Your SAN / HA / FT is almost unuseful. Here we have to use other technologies, for example clustering, CDR (exchange) or others, but all this technologies should be applied togheter. From my experiece, I used Citrix's products. Take a look here: http://www.citrix.com/English/ps2/products/product.asp?contentID=21679&ntref=prod_top Also check access gateway. Let me know. Quote -------------------------------------------------------- Tu peux aussi crire en franais. Du kannst auch auf Deutsch schreiben. Puoi scrivere anche in italiano. --------------------------------------------------------
exoshop Posted May 18, 2011 Author Posted May 18, 2011 Everything depends on how much you want to spend. Virtualizing and using a shared storage is good thing for many reason, but pay attention: - when you virtualize, you can create a pool with N servers (let's say 2), you attacch a shared storage (SAN). You create 3 VM (1 for IIS, 1 for exchange, 1 for SQL), this is just an example. Now your VMs are running on the SERVER1 which is the POOL's master, the second server is waiting for jobs (actually it can do something...). The SERVER1 fails (hardware problem), your Virtual System (let's say XenServer), move the VMs on the other server. You are up & running. This is the scenario evaluated by many people, BUT WAIT, what about a windows failure? I mean, something get corrupted, you can restart the VM but you have a bluescreen... what's next? Your SAN / HA / FT is almost unuseful. Here we have to use other technologies, for example clustering, CDR (exchange) or others, but all this technologies should be applied togheter. From my experiece, I used Citrix's products. Take a look here: http://www.citrix.com/English/ps2/products/product.asp?contentID=21679&ntref=prod_top Also check access gateway. Let me know. Too many options, I'm kind of a little confused. So would it be possible to have 2 clusters with each 2 servers. On top of each cluster, you create 2 VMs (cluster 1 (VM1:DNS - VM2:Exchange) Cluster 2 (VM1:IIS - VM2:MySQL) ? Quote
ICTCity Posted May 18, 2011 Posted May 18, 2011 You are confused because this topic is not easy. Let's make some examples: =================SCENARIO A================= 1 POOL (like a cluster...) In this Pool you have Server A and Server B. On Server A you are running 3 VMs: VMa: DNS VMb: Exchange & MySQL VMc: IIS On Server B you will run 3 VMs too: VMa: DNS (secondary) VMb: Exchange (CDR) & MySQL (replica) VMc: IIS (secondary / replica) THIS IS NOT a Load Balancing scenario, with this you can have some kind of redundancy with just of some manual work in case of disaster. =================SCENARIO A================= =================SCENARIO B================= 1 POOL (like a cluster...) In this Pool you have Server A and Server B. On Server A you are running 3 VMs: VMa: DNS VMb: Exchange & MySQL VMc: IIS Before the installation has been made on a LOCAL STORAGE (the server itself), in this case we can use a SHARED STORAGE (iSCSI or FC). All the VMs have their C:\ drive and any other disk on the shared storage (attached via iSCSI or FC). Server B is doing anything, it is just a member of the same POOL, waiting for a disaster. If the disater occurs (I mean, the SERVER A fails), all the VMs are restarted on the other server (SERVER B). This is better than before, because if you install VMs on the local storage, they CANNOT BE moved across POOL. Is this the best solution? NO. In fact, if you have a trouble on the shared storage, everything is down! This means you have to replicate your storage too (for example using HP P4000 SAN, or more expensive NetApp products starting from 2040 series). In other words, you have to buy 2 phisical storage (SAN). =================SCENARIO B================= =================SCENARIO C================= Use Windows Cluster, this is not a bad idea, BUT PAY ATTENTION. Windows Cluster may be painful if you cannot find the right hardware. Let's say you have a working cluster for 3 years, after this time, you RAID controller is gone on one server. No problem, there's the other server up & running, but you notice that this RAID controller is no more produced. What can you do? You have to find a compatible one! You could use Hyper - V too, but from what I've heard, it isn't really at the level of Xen or VmWare. =================SCENARIO C================= Of course you can combine Scenario A & B, VMs running on shared storage, SERVER A running 3 "officials" VMs, SERVER B running replica VMs (on the shared or local storage). But you have to be sure your server B has almost the double of the power of server A, because in case of disaster, your "officials" VMs from SERVER A are moved to SERVER B which is running replica VMs. I hope you don't find this boring... I just want to make sure you are understanding some possibilities you have! Cheers Quote -------------------------------------------------------- Tu peux aussi crire en franais. Du kannst auch auf Deutsch schreiben. Puoi scrivere anche in italiano. --------------------------------------------------------
exoshop Posted May 19, 2011 Author Posted May 19, 2011 Not boring at all! Your explanations are pretty clear. I'm stating to get the picture and better decide which scenario fits me best! Thanks! Quote
ICTCity Posted May 19, 2011 Posted May 19, 2011 Not boring at all! Your explanations are pretty clear. I'm stating to get the picture and better decide which scenario fits me best! Thanks! No problem, if you need to discuss about other scenarios, let me know! Quote -------------------------------------------------------- Tu peux aussi crire en franais. Du kannst auch auf Deutsch schreiben. Puoi scrivere anche in italiano. --------------------------------------------------------
Recommended Posts