Use 2 e, em seguida, use MIRRORING para alta disponibilidade. Isto dá-lhe mais do que um cluster de SQL, porque lhe dá duas cópias dos dados.
Este é o único ponto fraco de um cluster SQL - se o banco de dados morre de uma forma que danifica o arquivo de banco de dados (e que ocorre - não exatamente com frequência, mas se você deseja alta disponibilidade não deseja isso), então o cluster falhará e o novo processo de inicialização do SQL .... não carregará o banco de dados ou falhará.
Com o espelhamento, o segundo servidor recolhe sua própria cópia dos dados.
Um terceiro (pequeno) servidor SQL como "testemunha" (para que haja 3 instâncias, torna o failover mais estável) é sugerido.
Pessoalmente, acho que (depois de passar alguns meses no suporte do MS SQL Server trabalhando para a Microsoft) que usar um SQL Cluster para alta disponibilidade na primeira linha de defesa é uma negligência grosseira. Em 3 meses, eu tive um caso por mês em que o failover falhou por várias razões (uma incluindo o sistema SAN em que os dados foram mantidos em falha). Isso realmente faz você apreciar a cópia de dados de vida dupla de uma instância de espelho.