Load balancing SMB print queues

To load balance SMB print queues, do the following:

  1. Open the Print Management console and create identical Follow-You queues on every DRE print server. The Follow-You queues on all DREs must have the same name (including share name), driver (name and version), permissions and configuration.
  2. Open the Registry Editor and add the following registry keys on each DRE:
    1. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters, and create the following keys:
      • REG_DWORD - DisableStrictNameChecking (set to 1)
      • REG_MULTI_SZ - OptionalNames. This is the name used to connect to the NLB appliance (e.g PrintLB). The name must resolve to the virtual service IP address (VIP).
      • REG_SZ - srvcomment. This is a description of the print server (e.g WIN2012 In PrintLB)
    2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa, and create the following:
      • REG_DWORD - DisableLoopbackCheck (set to 1)
    3. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print, and create the following:
      • REG_DWORD - DisableRpcTcp (set to 1)
  3. Create a simple batch file with a command to stop the EQ DRE service, and save the batch file to a local directory on each DRE.
  4. Go to Administrative Tools > Services and open the Print Spooler service and configure the Recovery options for the Print Spooler service to run the batch file upon failure.
  5. Open Task Manager and end the Print Spooler process (spoolsv.exe), and confirm that once the Print Spooler service has stopped, the EQ DRE service has also stopped. Repeat this process on each EQ DRE.
  6. On the NLB appliance, do the following: (consult your NLB appliance vendor for support):
    • Configure the Virtual Service IP Address (VIP) in the same subnet as the DRE server.
    • Set the Ports to 445, 135-139.
    • Set the Protocol to TCP.
    • Set the Load balancing Forwarding Method to Direct Routing (i.e. layer 4/direct routing/direct server return/N-Path).
    • Ensure the Persistent checkbox is selected. Affinity/Persistence/Stickiness must be enabled.
    • Set the Check Port for server/service online to 2938.
  7. On the DNS server, create a hostname and corresponding “Host (A)” record to match the previously created VIP. This must match the value created for REG_MULTI_SZ - OptionalNames (i.e. PrintLB). This is the hostname that end users connect to from their workstations to map to the Follow-You Queue (e.g. \\PrintLB\FollowYouPrinting).
  8. Add a printer on a client workstation using the newly created virtual name and the common print queue share name that resides on the DRE servers (e.g. \\PrintLB\EquitracFollowYou).
  9. Print a job to the newly added SMB print queue and verify that it processed successfully. The job is listed in the Equitrac Print Queue Viewer on the first DRE.
  10. On the DRE that was just printed through, stop the print spooler service, and verify that the EQDRE service also stops.
  11. On the client workstation, verify that the load balanced print queue is still online.
  12. Submit another print job and verify that it processed successfully. The job is listed in the Equitrac Print Queue Viewer on the second DRE.
    In order to verify which DRE the job is sent to, you may need to access the NLB appliance’s traffic logs.
  13. Start the print spooler service on the first DRE, and verify that the EQDRE service restarts.
  14. Log into a release device and verify both jobs are listed for release.