- How many failover clustered nodes can you have?, and
- if you add more and more nodes, is it going to slow down?
This tables about Features Supported by the Editions of SQL Server 2008 R2 states the number of failover clustering nodes supported by Sandard Edition is 2, but for Enterprise its Operating system maximum (and Windows Server 2003 supports a maximum of 8 failover cluster nodes. Windows Server 2008 supports a maximum of 16 failover cluster nodes.)
Actually --> You don't get load balancing and could potentially have a performance degradation with more and more nodes. The hit wouldn't come straight away at day 1 necessarily (though that depends on how you are sharing out the shared storage and any potential performance concerns there) but you could potentially see a hit in a multi-instance clustering situation (active/active) where you have multiple nodes fail to the same node. That one machine would then be handling the work of multiple instances of SQL Server.
The link provided by DaniSQL should answer the "how many" question.
If I remember correctly, with Standard edition you can have only 2 nodes, and with Enterprise you can have 3 or more. I don't offhand know the upper limit.
Whether or not the performance is negatively affected depends a bit on your configuration, but the short answer is No. In any cluster you are sharing a common drive between multiple hosts. Since only one server is accessing the live data at a time, it doesn't matter how many hosts you have - additional hosts only add redundancy for fail-over.
However, if you have a multiple active node configuration (for example, A-A-A-P), then you have 3 nodes each dedicated to specific SQL instances. Since these servers are now load-balancing across multiple hosts, you actually get a significant increase in performance.
Also, if I remember licensing correctly, you only need to license SQL on the active nodes.
DISCLAIMER: Always talk to your software rep for proper licensing!
SQL Server clustering just sits on top of Windows clustering. So you'd be limited to the number of nodes supported in your particular cluster which depends on your OS version and other factors. Here's KB Article 288778 describing the different maximums.
Are you asking about performance degradation of the SQL Service or about the speed of the failover operations in the cluster? If you're asking about the SQL service, I assume the answer is no. Any given instance is still only running on a single node at a time regardless of the total nodes in the cluster. I can't really speak to the failover operation speed since I've only ever managed clusters of 2 nodes.