We currently have an issue with one of our SQL 2008 R2 Clusters. The cluster contains 2 virtual nodes with 2 SQL instances, and both of the nodes are identical in terms of build and updates/hotfixes etc. (The only difference is that the primary node has more memory and processors allocated to it, as the second node is just kept as a passive node).
The issue is that when all the resource groups are running on the primary node, the disk performance seems very poor. For example, when the databases are backed up (whether to another server or even to a local drive) it runs slowly, as the read/write performance is so slow. Also, even when just copying and pasting files between drives on the server it is very slow, so it does not appear to be just a SQL issue.
Initially it appeared there was an issue with the disks, but when the cluster is failed over to the secondary node the read/write performance is suddenly fine, so it seems the issue is with the primary node.
We have removed, rebuilt and re-added the node to the cluster but the issue remains. I'm not quite sure where to go next....any thoughts?
Both nodes should have same RAM and CPU, specially on a two node Cluster. Yes, you can use different CPU and RAM specs, but on my personal experience and for a two node Cluster, that's not recommended.
Having more RAM will give you a boost in performance . The node with more RAM, will do less paging to disk, which makes the server faster and won't feel so slow. Also, if that node has a faster CPU, will also processes stuff faster.
Schedule a downtime window, if you can, and run SQLIO. Follow the instructions on this link, given by Brent Ozar: http://www.brentozar.com/archive/2008/09/finding-your-san-bottlenecks-with-sqlio/
Put same amount on RAM on both nodes ... check again ...