Every single device on the internet, whether it be a laptop computer, cell phone, camera, or even your TV has an IP address. The total number of Internet Protocol version 4 (IPv4) addresses is over 4 billion, which is far less than the total number of mobile devices in the world. As more and more appliances and devices come online everyday (as shown in the figure below), connecting them to the internet using IPv4 addresses might not be an option, because these addresses have already run out. To support the growing needs of our customers, we are happy to announce IPv6 support in Couchbase Server 5.5.

Figure 1 : Growth of devices and IPv6

First defined in 1996, Internet Protocol Version 6 (IPv6) is the most current version of the Internet Protocol (IP), and incorporates many features that address several IPv4 challenges. Among the many challenges, it can support accommodating over 340 undecillion addresses — more than enough to handle the world’s current IP needs.

Enabling IPv6 in Couchbase

By default, when Couchbase Server starts up it uses IPv4. To enable IPv6 in Couchbase Server 5.5 and above, here are a few steps for the linux platform. (Note that based on your OS platform, the steps might be slightly different.)

Repeat the following steps for each node of the cluster :

  1. Install Couchbase Server
  2. Stop the couchbase-server service.
  3. In /opt/couchbase/etc/couchbase/static_config, set ipv6 to true.
  4. Delete /opt/couchbase/var/lib/couchbase/config/config.dat.
  5. Restart the couchbase-server service: this starts Couchbase Server in IPv6 mode. To check, point the browser at http://[::1]:8091, which is the IPv6 address and port number on which Couchbase Server should be running.
Note: In a clustered setup, IPv6 is enabled only when IPv6 is enabled on all the nodes

How do you know if IPv6 is working?

For now, you can check the logs and see if IPv6 addresses are there:

As shown in the figure above, you will see machine addresses in IPv6 format.

Upgrading an IPv4 cluster to IPv6

Given the complex nature of managing both an IPv4 and an IPv6 environment in general, most users are going to start a-new instead of upgrading in-place.  In the event that you need to upgrade/migrate your data from an existing cluster, we recommend using our Cross Datacenter Replication feature:

  1. The source cluster must have dual stack support at the OS-level
  2. Upgrade the source cluster to Couchbase Server 5.5
  3. Create a new cluster with IPv6 enabled and configured, as above.  Note that this cluster needs to be sized appropriately for the workload, but does not need to be identical to the source cluster.
  4. Create a cluster reference and replication stream from the source to the destination cluster. 
  5. Monitor the XDCR queue from the source until all mutations are replicated to the destination cluster.
  6. Reconfigure the application to start accessing the destination cluster.
  7. Once all applications are moved, the source cluster can be decommissioned.
Note: IPv4 and IPv6 clusters cannot be paired for bi-directional XDCR replication. For bi-directional replication, both clusters need to be IPv4 or IPv6.

Get going with IPv6

It’s time to get going with IPv6!  Try the IPv6 feature out in Couchbase Server 5.5 developer build and give us your feedback. What are you waiting for? Head over to the Couchbase Downloads page and try out the Couchbase 5.5 release – along with all the other new features in Couchbase Server 5.5. Review the documentation for Couchbase IPv6 feature here. Let us know what you think, we want to hear from you.

Note:  To use 5.5 Developer Build, you need to do a fresh install. The developer build release must only be used in a non-production setting. We consider Developer Build releases to have some rough edges and bugs.

Posted by Perry Krug

Perry Krug is an Architect in the Office of the CTO focused on customer solutions. He has been with Couchbase for over 8 years and has been working with high-performance caching and database systems for over 12 years.

Leave a reply