Monday, 21 May 2012

Three-Tier SharePoint 2010 Architecture

Uninterrupted SharePoint 2010 Farm
-  Scalable SharePoint Farm 
-  wfe cluster scalable upto 32 nodes
-  High availability SharePoint 2010 Farm
-  SharePoint 2010 Fail-over Farm

I had a great time during the migration process from MOSS 2007 (2-Tier) to SharePoint 2010 (3-Tier) architectural transition.
..migration was completed in April 2012.

Three-Tier SharePoint 2010 Architecture
Three-Tier SharePoint 2010 Architecture
network diagram showing 3-Tier SharePoint 2010 Farm: web front-end layer, application layer and database layer. The above architecture was successfully designed, tested and implemented by me.
The above scenario is scalable and highly available systems reliably provides an acceptable level of service with minimal downtime and finally easy to manage & maintain during patch management schedules.

Our aim was to:
* verify that each web request (http port 80) were distributed automatically to the available cluster WFE servers. .yes that’s how it works..!
* Shutdown WFE02 and make sure there is minimal downtime and automatic load distribution.. yes in case of abrupt failure of 1 web front end node, clients notices fraction of seconds delay in web response time however redundancy works magnificently as expected..! we will have sufficient time to plan and rebuild the failed server in such scenarios.
* Shutdown application layer and see if the intranet works uninterrupted... yes intranet works still uninterrupted..! coz.. 'Microsoft SharePoint Foundation Web Application' service runs only on WFE servers. Two other services which we enabled on wfe servers are: i) 'Search Query and Site Settings Service ' and ii) 'SharePoint Server Search' services.
* Shutdown Active SQL server and see if the Passive SQL server takes over or not.. yes it works..!
* Performance was superb..!

Three-Tier SharePoint 2010 Architecture 
showing uninterrupted farm in the event of multiple failures
Three-Tier SharePoint 2010 Architecture

network diagram showing 3-Tier SharePoint 2010 Farm with fail-over scenarios

microsoft reference

I have explained in my blog quick clustering steps for SQL 2008 R2 cluster and fail-over farm including best practices.

next steps:
our next step is to setup disaster recovery site and setup a test and development intranet environment.
so we have to scrap the existing disaster recovery intranet site and upgrade the architecture from 32bit to 64 bit OS.. from Server 2003 to Server 2008 R2 Enterprise and SQL 2005 32bit to SQL 2008 R2 64bit Enterprise edition environment and then upgrade Microsoft Office SharePoint Server (MOSS 2007) to SharePoint 2010. And finally start real-time replication from production farm to the disaster recovery farm.

currently we are using DocAve from AvePoint for real-time replication of SharePoint portal.
we can also achieve this directly from SQL DB replication technology, either via log-shipping or mirroring. however we will test this as the current databases are huge. ..I will shortly scribble the procedure while accomplishing this task

where can you find saved documents which was directly edited from email attachments?

retrieve missing saved documents:

If you open email attachment and then edit that file directly and save it, the file by default stores under temporary cached location.

for windows 7: locate the file at C:\Users\{authenticated username}\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook\

for XP: C:\Documents and Settings\{authenticated username}\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook\

Check the file by sorting the date. It should be there.

Best Practice: SharePoint 2010 - Take advantage of using Network Load Balancing (NLB)

Enhance performance of the application tier (WFE) servers by fine tuning NLB

You can specify that a filtering mode apply to a numerical range of ports. You do this by defining a port rule with a set of configuration parameters that define the filtering mode. Each rule consists of the following configuration parameters:
The virtual IP address that the rule should be applied.
The TCP or UDP port range for which this rule should be applied.
The protocols for which this rule should apply, including TCP, UDP, or both.
The filtering mode that specifies how the cluster handles traffic described by the port range and protocols. In addition, you can select one of three options for client affinity: None, Single, and Class C. Single and Class C are used to ensure that all network traffic from a particular client be directed to the same cluster host. In order to allow Network Load Balancing to properly handle IP fragments, you should avoid using None when selecting UDP or Both for your protocol setting. Also the rules entered on each host in the cluster must have matching cluster IP addresses, port ranges, protocol types, and filtering modes.


Network Load Balancing references the dedicated IP address only when a single network adapter is used to handle both client-to-cluster traffic and other network traffic that must go specifically to the dedicated IP address. Network Load Balancing ensures that all traffic to the dedicated IP address is unaffected by the Network Load Balancing current configuration, including:
When this host is running as part of the cluster
When Network Load Balancing is disabled due to parameter errors in the registry

Typically, both the dedicated IP address and the cluster IP address, entered during setup in the Network Load Balancing Properties dialog box, must also be entered in the Internet Protocol (TCP/IP) Properties dialog box. Make sure that the addresses are the same in both places (in fact cluster ip address is automatically added to all cluster servers at the time of NLB convergence)


Multicast support is not enabled by default. To enable it, see Enable multicast support. However, if you do not enable multicast support, you are advised to consider using at least two network adapters (with one network adapter dedicated to handling client-to-cluster traffic) in order to achieve optimum performance and the full range of networking functionality. For more information, see Multiple network adapters and Optimizing network performance

following article specifies the IIS response to Load-Balanced Application Pool Behaviours
following article specifies the Best Practices used for configuring NLB.

Sunday, 20 May 2012

Network Load Balancing at its best for SharePoint 2010

Configuring NLB for SharePoint 2010 

The concept behind Network Load Balancing is pretty simple: Each server in a Load Balancing Cluster is configured with a 'virtual' IP address. This IP address is configured on all the servers that are participating in the load balancing 'cluster' (a loose term that's unrelated to the Microsoft Cluster Service). Whenever a request is made on this virtual IP a network driver on each of these machines intercepts the request for the IP address and re-routes the request to one of the machines in the Load Balancing Cluster based on rules that you can configure for each of the servers in the cluster. Microsoft this process Network Load Balancing (NLB). Figure 1 shows how the process works graphically.
A network load balancing cluster routes requests to a single virtual IP to available servers in the load balancing cluster. Note that each machine is self-sufficient and runs independent of the others duplicating all of the resources on each server. The database sits on a separate box(es) accessible by all servers.

actually no need to configure a heart-beat adapter address for NLB. Single adapter is enough with an IP address on each server which can be part of your server LAN address. Importantly make sure that if your network switch is multicast enabled then the NLB Cluster mode needs to be in multicast mode or else the communication will be interrupted. If multicast is not enabled on switch, opt for unicast cluster mode in NLB.

out of umpteen blogs I referred, let me share few of the helpful blogs which I felt had acted upon and suited our infrastructure without much hassles.. 


- make sure you configure port rules on NLB for better performance.
- configure perfmon to verify the load on each cluster web front end servers.

Best Practice: SharePoint 2010
Three-Tier-SharePoint-2010-Architecture 

Configuring User Profile Service Application in SharePoint Server 2010

we referred the below blog for sorting issues related to user profile sync and configuring directory service connections to import AD users. 

http://blogs.msdn.com/b/alimaz/archive/2009/11/09/configuring-user-profile-service-application-in-sharepoint-server-2010.aspx


I successfully implemented Three-Tier SharePoint 2010 Architecture
..no hassles.. we could swiftly achieve the upgrade from MOSS2007 to SharePoint 2010 in April 2012.

Quick Fix: user profile service application error in SharePoint 2010


SharePoint 2010: User Profiles - You receive an error - "An unexpected error has occurred." when you try to browse to the page to Manage a newly created User Profile Service Application
You create a new User Profile Service Application and try browsing to the Manage link for the User Profile Service Application, this page might fail with the following error,

Sharepoint 2010 User profile service application error could be resolved by updating the below hotfix.

we could fix the above nature of error by applying the below hot fix of SharePoint 2010.
----------------------------------------------------------
KB Article Number(s): 2597150
Language: All (Global)
Platform: x64

Database attach method to upgrade to a new farm

ADDCONTENTDB


stsadm -o addcontentdb -url  http://intranet  -databasename wss_content_hr -databaseserver yoursqlservername\instancename

if you have multiple subsites then you can very well include all of those stsadm database attach command in a batch file and execute it at one stretch.
ex:
save the below in a execute.bat file:
'----
stsadm -o addcontentdb -url http://intranet -databasename wss_content_hr -databaseserver yoursqlservername\instancename >> result.txt


stsadm -o addcontentdb -url  http://intranet/sites/hr -databasename wss_content_hr -databaseserver yoursqlservername\instancename >> result.txt


stsadm -o addcontentdb -url  http://intranet/sites/it -databasename wss_content_hr -databaseserver yoursqlservername\instancename >> result.txt

'----
the above file execute.bat once executed will append result.txt with the upgrade status.