IPv6, Windows Server 2008 (RTM and R2), and Failover Clustering
There has been a lot of discussion lately among MVPs around “Should/can I disable IPv6 on Windows Server 2008 (RTM or R2) for servers that will act as failover clustering nodes?” Obviously this affects any products such as SQL Server or Exchange that will be then clustered on top of a Windows Server 2008 failover cluster.
In the sake of full disclosure, I have been recommending to many customers who were going to cluster over the past year or so to disable IPv6 if they were not using it. There was no definitive statement one way or the other and in all of my use and testing, I’ve seen no issues with doing so. While I didn’t say to disable IPv6 in my book Pro SQL Server 2008 Failover Clustering, since I have been telling people to consider it, I had to “fess up”.
Due to the MVP discussions, a PM from the Windows clustering team chimed in and they recommend that unless there is a strong reason to disable IPv6, you should not do so. Why? The following three points come directly from the PM:
In all of our current troubleshooting and investigation of [Windows Server] 2008 and [Windows Server] 2008 R2 networking issues which may have been caused by IPv6, it has turned out that disabling it has not directly solved any problems. These issues were resolved by disabling related networking components, such as Teredo or TCP Offload.
By default, all clusters will communicate between nodes over IPv6. If that is not available on network interfaces, then the cluster will try to communicate using 6-to-4 tunnels. If IPv6 is completely unavailable in this environment, the nodes will then communicate by IPv4. So yes, it is possible to disable either IPv4 or IPv6 and still have the cluster function correctly.
We recommend keeping IPv6 on as this is the default configuration, which means that it is the most thoroughly tested and stable configuration. IPv4, by itself, certainly will work, but we don’t recommend disabling IPv6 unless there is a good reason to do so.
So there you have the definitive “word” on the topic. As of the writing of this blog post, there is no official SQL Server statement on the “should I disable IPv6” topic (and if there is one at some point, I’ll update this post), but since a SQL Server failover cluster is built on top of Windows Server 2008, I strongly suggest you follow the recommendation above for IPv6: don’t disable it. I know this will be my recommendation going forward in further talks/presentations, training, and consulting I do.