Server Farm Pre-req's? RRS feed

  • Question

  • User95758299 posted


     I have set up three VM's to kick the tires with WFF2.0 Beta, and I am having a few issues. Here is a overview of my environment:

    All servers are VM's (Windows Server 2008 R2 Enterprise), all are fully updated, joined to a domain, activated, and have access to the Internet.

    1. Controller server -  Basic IIS install + ARR v2.0 and WFF2.0 Beta (installed using WebPI)

    2. Content Server 1 (Primary) - Basic IIS install, setup default website to answer ARR healthchecks

    3. Content Server  2 (Secondary) - Basic Windows install (No IIS or anything)

     I created a WebFarm (using a Domain Admin account) following the directions in this article: http://learn.iis.net/page.aspx/919/setting-up-a-server-farm-with-the-web-farm-framework-20-beta-for-iis-7/ , and added both content servers to the farm as indicated above, both servers were able to join the farm without issue. However, when the Provisioning takes over, the Web Farm Agent is installed on both Content servers, but the UI shows several errors:

    Error TestFarm ContentServer1 Failed to run operation 'QueryInstalledProducts'.  Failed to run method 'Microsoft.Web.Farm.GetInstalledProductsRemoteMethod' on server 'ContentServer1'.  Remote agent (URL http://ContentServer1:8173/WEBFARMAGENTSERVICE/) could not be contacted.  Make sure the remote agent service is installed and started on the target computer.

     Both content servers are soon marked Unhealthy (even though Content Server 1 will pass the ARR healthcheck). So my question is this: aside from configuring the Primary server with Modules/software/certificates/content/etc., is there any Web Deploy related configuration that needs to take place? I tried setting up a new Listener URL on port 8173, but that didn't help.

    I do have the Remote Management Service installed on Content 1, with a custom certificate (using default port 8172). When I try to start the Web Farm Agent Service I get the following error:

      Error 0x800706d9: There are no more endpoints available from the endpoint mapper


    Any ideas what I am doing wrong? I was looking at this article (http://ruslany.net/2010/07/web-farm-framework-2-0-overview/#more-829) which indicates that the Provisioning service will install Web Deploy on the Content Servers, do I need to do this myself (and create the Listener URL)? If so, what are the implications for using web deploy via either IIS Manager or VS 2010 to deploy applications if I change the default Listener URL? 

    Sunday, August 8, 2010 2:17 AM

All replies

  • User95758299 posted

     Sorry, I forgot to mention that I disabled both Windows Firewall and UAC on all three servers.

    Sunday, August 8, 2010 2:31 AM
  • User-267369003 posted

    The error (of the Web Farm Agent Service) seems to indicate that the dependent service RPCSS wasn't started. We're looking at this now and will get back to you shortly. 

    Monday, August 9, 2010 1:06 PM
  • User95758299 posted
    Thanks for the reply. Here is what I have done since, I configured Content Server 2 exactly as Server 1 with a basic IIS install, and setup the default website for ARR health checks (which pass for both servers). I was looking at the Content Servers event viewer, and I came across the following error for the WebFarmAgentService:

    Service cannot be started. System.Runtime.InteropServices.COMException (0x800706D9): Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9.
       at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
       at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
       at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
       at System.Activator.CreateInstance(Type type, Boolean nonPublic)
       at Microsoft.Web.Farm.FireWallHelper.AddPortToAllowList(String name, Int32 portNumber)
       at Microsoft.Web.Farm.WebFarmAgentService.OnStart(String[] args)
       at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

    When I try to start the service manually, I get the following:

    Windows could not start the Web Farm Agent Service on Local Computer.

    Error 0x800706d9: There are no more endpoints available from the endpoint mapper.
    Monday, August 9, 2010 1:24 PM
  • User-267369003 posted
    That is so odd. We're failing to call into the Firewall APIs, which we use to enable a rule to allow our agent to listen. We've tried this on domain joined machines and it worked for us. Can you verify that RPCSS and MPSSVC are started. The former almost definitely is but its worth checking. The latter is the firewall service. We haven't had much luck reproing this here. We might have to directly contact you to figure it out. If you don't mind, can you send mail to balam.at.microsoft.com to start the conversation.
    Tuesday, August 10, 2010 2:50 AM
  • User-521322579 posted
    Hi, I had the same issue and fixed it by starting the Windows Firewall Service on the Server Farm node (server). This however is not ideal as we have an external firewall and disable the service by default. Any ideas on what could be causing this or how to resolve it?
    Tuesday, August 10, 2010 6:31 AM
  • User95758299 posted

    I sent you an email at balam.at.microsoft.com, but I also wanted to post here that the Firewall Service was the key. Once I started it up, added the required rules, and rebooted everything started working perfectly.

    Tuesday, August 10, 2010 11:39 AM