How can i setup load balanced IIS web server or IIS web farm using website panel or how can i create redundancy for IIS for my website panel users

Answered How can i setup load balanced IIS web server or IIS web farm using website panel or how can i create redundancy for IIS for my website panel users

  • Thursday, July 05, 2012 4:49 PM
     
     

    Hi There,

    Simple question.

    How can i setup load balanced IIS web server or IIS web farm using website panel or how can i create redundancy for IIS for my website panel users.

    I want to be able to have some sort of failover if one webserver goes down.  I know there are several different methods such as Windows Load Balancer using a cluster or using IIS 7.5 to replicate website and farm management.  Or i could use Double Take to create a cluster as well.

    But I want to know what is the best approach for Website Panel or future development so i know which direction to take.

    As for exchange and SQL the clustering and DAG, they work fine with website panel.

    Any help is greatly appreciated.

    P.S.  i am installing a new environment from scratch using wsp v1.2.2.1 - i am hoping to get sharepoint foundation 2010 to work since it did not work on v1.2.0 which no one on the forum seemed to be able to help (accept paid support through Dmitri who is no longer part of WSP project).


    MattLok


    • Edited by mattlok Thursday, July 05, 2012 4:52 PM
    •  

All Replies

  • Friday, July 06, 2012 12:05 AM
     
     

    Hello,

    From my experience with WSP i don't think there are features like that out of the box, i checked it out too some time ago, we ended up using ESXi for failover keeping up a mirror of the virtual machines on a different cluster and if one of them is in trouble the other one kicks in, the main problem i can see is that WSP servers bind to local IIS resources and use the local file system for storing spaces.

    I would like too to know any idea on how to introduce redundancy using WSP.

  • Friday, July 06, 2012 2:57 AM
     
     

    Hi Andrea

    Well maybe this can help shed some light

    http://serverfault.com/questions/127409/iis-configuration-synchronization-for-web-server-farm

    http://learn.iis.net/page.aspx/453/configuring-a-web-farm-using-iis-shared-configuration/

    http://learn.iis.net/page.aspx/264/shared-configuration/

    these articles are as far as i got.

    the idea i had in mind last year was to to use the iis 7.5 web farm shared configurations across all the front end webservers that use www and ftp services

    then for the hosted data (stuff in the wwwroot) you would use domain level DFS replication services on a seperate file server cluster.

    however, at the time, exchange 2010 had just came out with sp1 and everyone at WSP threw their hands in the air and said that the sp1 broke wsp and work arounds were made, then wsp made accomodations to the sp1 /hosting switch (which really failed on a hosting management level and user level).  Now it's reverted back again.

    so my fear at the time, was implementing this giant solution only to find out that

    a) WSP comes out with a module to support farm server

    b) the whole solution breaks because of the next upgrade (such as sp1 for windows 2008 r2 broke the ftp component for WSP) -- correct me if i am wrong but the idea of wsp is for us to use it for a business providing web hosting solutions using MS technology.

    can't afford the downtime or issues when running a web hosting business.


    MattLok


    • Edited by mattlok Friday, July 06, 2012 2:58 AM
    •  
  • Friday, July 06, 2012 5:54 AM
    Moderator
     
     Answered

    Hello,

    First of all PLEASE DO NOT USE WEB FARM FRAMEWORK!!

    It is really THE worst for any host.. why? because if you got 2 - 3 people uploading lets say joomla.. Webfarm gets out of sync and stops syncing all together (without actually stopping the out of sync server --> This leaves half your people with a dead website and the other one somewhat working).

    It's one out of many issues we encountered.. also the High I/O doesn't make it great (it seems to check all files for any changes every 30 seconds or so.. leaving the cpu quite bussy).

    The best loadbalanced setup i made was:

    1) Shared IIS Config

    2) Paralelmounted partition (that is connected to a Storage device like iscsi)

    3) Loadbalancer (hardware or something like zen-loadbalancer works perfect).

    All together that solution is a bit of hard work.. specially the storage part in combination with things like php. but once you know how to do it.. it is really worth while (it never failed us so far!)

    For websitepanel it really doesn't matter what you use -- Websitepanel is just a website.. meaning just like any other site.. you can loadbalance it easily.. just make sure the users (preferably with Active Directory) are equal on all systems and that the SQL database is NOT local.

    Regards,

    Marco


    Key4ce - IT professionals: www.key4ce.eu

  • Friday, July 06, 2012 7:15 AM
     
     

    Well, that is really good to know.

    We already run iscsi for our virtualization cluster for failover.  we already use Juniper for our load-balancers.

    We might try the shared IIS config.

    Currently we are using Hosting Controller so their Control Panel already has the shared IIS, but their interface is too complicated for our users.

    WSP seems much easier from our pilot project for user.

    But going big scale is question mark.  Well i like your approach and we will probably try it out.

    Thx for sharing the experience.

    Sorry about the other thread but we pretty dead set on what we experienced and what we can replicate on the issue


    MattLok

  • Friday, July 06, 2012 7:25 AM
    Moderator
     
     

    Just remember a parallel partition. as Iscsi doesn't load the same files on both servers by default which is required for the IIS Shared config (else one server doesn't have the files the other got).

    you can also chose for DFS replication and so on (though it is similar technology Webfarm is using.. making i/o and cpu quite high so i prefer to pick the more difficult road of parallel mounting).

    Either way.. it's quite simple BESIDES the storage.. the storage gave us quite a headache before we had it sorted with php modules and so on.

    The other thread is fine, every contribution is a contribution it might work for some, it might not.. but atleast they got the information freely available :-) (thats what counts)


    Key4ce - IT professionals: www.key4ce.eu

  • Monday, July 09, 2012 8:19 AM
    Moderator
     
     

    I haven't implemented this scenario, just share some of my ideas. I agree that things will become tricky if you encounter any issue in a web farm framework environment. However, most of these issues are due to improper settings. Application provisioning is complicated, elegant configurations may prevent most of the issues and help increase performances. But I have to agree, if op has no experience in Web Farm Framework, shared configuration could be the best practice.

    Thanks.


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com. Microsoft One Code Framework

  • Monday, July 09, 2012 11:53 AM
    Moderator
     
     

    Hmm Lloyd, i must say i'm not an expert with webfarm framework (but i did try to configure it as best i could with manuals and so on).

    But we never got passed the crashing of Webfarm (getting out of sync)  when you upload much files at once (high i/o)

    Can you shed some light on that issue and/or what configuration i have missed on this topic?

    the replication was on a 1Gbit , where internet is on another 1Gbit line.. both got striped raid, so on.. so they should of been fully equipped to replicate without any issue but they never did on high file load.. specially many many small files (few kb's) like uploading several joomla's at once (from different sources)


    Key4ce - IT professionals: www.key4ce.eu

  • Tuesday, July 10, 2012 1:17 AM
    Moderator
     
     

    I'll try to help, however, this is not the most proper place for raising/discussing this question. Could you please provide more details of your issue(e.g error information, you web farm configurations) vai opening a thread in Web Farms forums? Once you've posted there, I will also forward your issue to some experts to see if they can help.

    Thanks.


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com. Microsoft One Code Framework

  • Wednesday, July 11, 2012 9:24 AM
    Moderator
     
     

    Well i currently am perfectly happy with a paralel mount + Shared config (works marvellous).

    However i can setup a test environment again after my holiday and "make it crash" again.

    In the end the issue is quite simple: if you change / update / add alot of files at once the server gets out of sync (stopping syncing one of the servers). leaving files part on one part on the other (split brain)  depending how the upload was set ofcourse.


    Key4ce - IT professionals: www.key4ce.eu

  • Wednesday, July 11, 2012 5:08 PM
     
     

    Hi,

    Why not just a shared IIS configuration and content on a remote fileshare offered by a clustered file server ?

  • Wednesday, July 11, 2012 5:51 PM
    Moderator
     
     

    That would be what we are doing with a parallel mounted Filesystem using iscsi.

    Network paths & NFS isn't working with many addons (like php)

    NFS.. well the problem for that would be perms .. doesn't play nice with a shared hosting server :-)

    Network paths won't be found by some "essential addon's" that we use.

    Iscsi by it self isn't active and up2date on both servers. To see changes on an NTFS file system you have to disconnect - and connect to see things updated by the other server.

    ISCSI with a Parallel filesystem allows you to update 1 file on 1 server and the other server sees the file instantly (required for a loadbalanced shared hosting system) :-)

    If i'm missing something ofcourse i'm open for suggestions.. but these where just "our findings" when acomplishing this dreadful task :-)


    Key4ce - IT professionals: www.key4ce.eu

  • Thursday, July 12, 2012 6:52 PM
     
     

    What about a windows file cluster hosting the content ? All webfarm nodes would point to the same share/same content location.

    If you want to have the content safeguard on a secundary location you can always replicate that. Otherwise I dont see a reason or need for a parallel file system.

  • Thursday, July 12, 2012 7:09 PM
    Moderator
     
     

    The problem is this: you can not use network paths for addon's like php. It will refuse to function on there. (if you mount it as a disk it doesn't work neither)

    For IIS and asp.net it works, php, and some others refuse to function (i believe the biggest problem was php pear)

    The only way we managed to get it working was with iscsi (for network related disks).

    But ofcourse feel free to test things out as best you can, this was just our (my companies) expirience with all different technologies we tested :-)


    Key4ce - IT professionals: www.key4ce.eu

  • Tuesday, July 24, 2012 1:11 PM
     
     

    Hi M. Tiggelaar

    Would you be able to explain your setup a bit more?

    I have tried something similar few months ago but failed. And need to try again.

    What I did was domain controller with WSP on it, linux based load balancer and two web servers connected to it (every one connected to iscsi). I set up shared IIS config and created simple script replicating IIS between domain controller and web servers (just because not everything in IIS can be done through shared config - for example stop / start of the website).

    As far as I remember I had problem with access rights when connecting via web server. Rather that domain/user I saw connections localserver/user. Did you come across this problem?

    Any more tips for this type of setup? 

    I can see IIS Webfarm Support in new WSP beta, but nothing more neither on the website nor on forum. Do not see many obvious changes in WSP after installing beta on dev server.

  • Tuesday, July 24, 2012 1:20 PM
    Moderator
     
     

    Hello,

    First of all, make sure you ISCSI is a parallel mountable partition (so both servers have the "files" at hand without reloading anything).

    If thats already setup like that:

    Make sure you use Active Directory (or thats what we did).

    Then setup WSP server to create Active Directory accounts (then it no longer uses any local user).

    and make sure the server it self is added in WSP under the loadbalanced IP :-)

    this should do the trick. however be careful with PHP --> This took us a while to configure properly to work with iscsi ;-)

    and, do you mind sharing the script you created? as that sounds quite interesting :-)

    As far as the webfarm support.. i'm not sure (i did try to get some more information about it but - none been passed through) but as i already mentioned: i'm really not a fan of webfarm to start with

    Regards,

    Marco


    Key4ce - IT professionals: www.key4ce.eu

  • Tuesday, July 24, 2012 1:49 PM
     
     

    Thanks for quick answer Marco.

    One more question: does it matter what system you are using on your storage device? I am going to use OpenE - and I believe just need to install GPFS on all servers and install connected iscsi drive using this system?

    Regarding scripts:

    looks like I have lost domain controller part of it...

    Basically using AppCmd I was creating two files: stoppedsites.xml and startedsites.xml reading it from IIS. That was happening every 10 minutes.

    On web server side, every 10 minutes it was reading those files and stopping sites which were stopped on DC but not on WebServer and started sites which were started on DC but stopped on WS

    %systemroot%\system32\inetsrv\AppCmd stop site /in < \\pathtothefile\stoppedsites.xml
    %systemroot%\system32\inetsrv\AppCmd start site /in < \\pathtothefile\startedsites.xml

    I had to do the same with ODBC's:

    Export:

    regedit /e c:\windows\pathtothefile\odbc.reg HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

    Import:

    regedit /s c:\windows\pathtothefile\scripts\odbc.reg

  • Tuesday, July 24, 2012 2:00 PM
    Moderator
     
     

    The system it self on the storage device doesn't matter. although i can recommend to get a loadbalanced/ failover storage system (with Block level Replication). for the obviouse part of making things fully redundant :-)

    the Partition (like FAT, NTFS, XFS, etc etc) does matter as by default normal partition types can not be mounted and up 2 date in 2 places (so if you for example make your iscsi disk into ntfs --> even though it's mounted in 2 places --> both servers do not see the file changes from eachother untill you reload).

    that being said: GPFS looks like a good choise for the Partition :-)

    Thanks for the update on the scripts, seems like something fun to play with once i'm back from holliday haha :-)


    Key4ce - IT professionals: www.key4ce.eu

  • Thursday, July 26, 2012 1:17 AM
     
     
    webfarm can't be that flaky or it would be completely useless to everyone and defeat its own purpose if it just fell over whenever large amounts of files were uploaded, there must be some solution to that issue. Did you try asking on the microsoft forum for webfarm framework ?

    Snake

  • Thursday, July 26, 2012 8:21 AM
    Moderator
     
     

    Everyone has their own experiences, for me Webfarm was just not that great.. but then again most file replication systems aren't that great (in my opinion)

    if you put them side by side with a block level replicator --> the block level atleast in my experience always wins.

    Which automatically results into my choices.

    Webfarm framework was just a bad experience for us however it might work for others. it never hurts to try and see if it fits your situation :-)

    But when you use/ setup web farm, make sure you test it with alot of file changes etc (performance testing). as that was just not going that well with our tests

    also if the Primary is down --> file changes on secondary will be "undone" once primary comes back up.. another thing we didn't like about webfarm :-)


    Key4ce - IT professionals: www.key4ce.eu

  • Saturday, August 04, 2012 7:24 AM
     
     

    Hi M. Tiggelaar,

    I am just wondering if you have any information RE Cost of setting up GPFS, also do you know if GPFS is readily available for any system other than an IBM Machine. 

  • Saturday, August 04, 2012 9:37 AM
    Moderator
     
     

    Hello,

    I have very little information about that but:

    http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=/com.ibm.cluster.gpfs.doc/gpfs_faqs/gpfsclustersfaq.html

    this link should give you all the information you need :-)

    Regards,

    Marco


    Key4ce - IT professionals: www.key4ce.eu

  • Monday, August 06, 2012 12:18 PM
     
     

    Thanks for getting back to me so quickly Marco,

    I was un-aware of the fact that I had to pay for GPFS. I am looking for a quite cost effective way of doing the setup. Similar to Ptr78.

    May I ask are you using another Parallel File System ? 


  • Thursday, August 09, 2012 5:34 PM
    Moderator
     
     

    Sorry for this late reply.. was on holliday so.. really not behind pc's that much :-)

    but i normally use ocfs2 or GFS where possible.

    The problem is that for windows it's more tricky to do BUT ocfs should be installable on windows.

    Please note that finding a right file system for windows which doesn't cost alot is very difficult and requires alot of googeling.

    Regards,

    Marco


    Key4ce - IT professionals: www.key4ce.eu

  • Thursday, August 09, 2012 6:44 PM
     
     
    seems like it would just be easier to use SCVMM or similar to duplicate the VM and keep that in sync with failover rather than running file syncing on a PFS

    Snake

  • Friday, August 10, 2012 6:33 AM
    Moderator
     
     

    That depends how you do it.. VM Failover (or something similar) has the downsides with maintenance and updates (VM Failover still has to reboot --> Nothing to take over the rebooting VM up on normal)

    Also Failover is different then Loadbalancing where i prefer loadbalancing.. failover always seems like such a waste of resources.

    but it all depends how much effort you want to put in there and which way fits your environment.

    One thing is for sure though: loadbalancing is alot more difficult then failover and will take quite some time before you got it fully up and running perfectly. 

    The more easy way would be MS failover. just requires a shared disk like iscsi --> MS Failover and some IIS configuration script you can pull off MS KB's. Duo to Failover the iscsi disk automatically loads the new content created by the previous server --> There for you skip the need of the paralel file system :-) (if you want a Failover that is)


    Key4ce - IT professionals: www.key4ce.eu