Archive

Posts Tagged ‘ipv6’

Oracle RAC, de momento, no es compatible con IPv6

18 de marzo de 2012 Deja un comentario

Pues eso.

Andaba yo preocupada últimamente debido a que empiezan a escasearnos las IPs en algunas de las subredes que conforman nuestra infraestructura y me puse a investigar sobre la posibilidad de abordar una migración a IPv6. En su día, cuando hicimos el diseño de subredes, contábamos con un puñadito de aplicaciones y el dimensionamiento de las subredes nos pareció exageradamente grande. Cinco años después, estamos a punto de morir de éxito, vista la cantidad de aplicaciones (nuevas y migradas de otros CPD de la organización) que nuestros clientes quieren traernos.

La falta de IPs libres en algunas de nuestras subredes con máscara 25 es algo que está a la vuelta de la esquina y me preguntaba si podía IPv6 ser la solución a nuestros problemas. Al fin y al cabo, nuestros compañeros de Redes ya andan con el tema y están preparados para poner alguna aplicación en modo piloto sobre IPv6.

En principio, la capa de aplicaciones, apoyada en apache+tomcat o jboss, no debería ofrecer problemas pero ¿qué hay de la capa de datos? En nuestro caso, la capa de datos se apoya mayoritariamente sobre clústeres de Oracle. Aunque intentaré hablar aquí con más detenemiento del tema, la configuración de las interfaces de red es un aspecto crítico de los clústeres de Oracle y algo me decía que la cosa no iba a ser tan sencilla.

Echándole un vistazo en la web de Oracle a Oracle Database 11g release 2 (new features), encontramos lo siguiente:

1.5.4 IPv6 Support

The following sections describe improvements in IPv6 networking support.

1.5.4.1 Complete IPv6 Support for JDBC Thin Clients

JDBC supports Internet Protocol Version 6 (IPv6) style addresses in the JDBC URL and machine names that resolve to IPv6 addresses. For example:

2001:0db8:0000:0000:0000:0000:0000:0001
1080:0:0:0:8:800:200C:417A

A JDBC URL would look like the following:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=[2001:0db8:0000:0000:0000:0000:0000:0001]) (PORT=5521))
(CONNECT_DATA=(SERVICE_NAME=boston.us.example.com)))

This feature provides Java interoperability with IPv6.

1.5.4.2 Complete IPv6 Support for JVM and Java Debuggers

IPv6 now provides support for the database resident Java virtual machine.

This allows Java applications running in the database to connect to and accept connections from both IPv4 and IPv6 hosts.

Parece indicar, pues, que la versión 2 de Oracle 11g incorpora por fin soporte para IPv6. En las notas de soporte sobre los nuevos drivers JDBC de Oracle 11g r2 nos advierten de que para activar el soporte para IPv6 será necesario parametrizar correctamente la máquina virtual java:

Internet Protocol Version 6 Support (IPv6)

This release of Oracle JDBC drivers supports Internet Protocol Version 6 (IPv6) addresses. For more information refer to “Internet Protocol Version 6 Support”.

Note:

All the new System classes that are required for IPv6 support are loaded when Java is enabled during database initialization. So, if your application does not have any IPv6 addressing, then you do not need to change your code to use IPv6 functionality. However, if your application has either IPv6 only or both IPv6 and IPv4 addressing, then you should set the java.net.preferIPv6Addresses system property in the command line. This enables the Oracle JVM to load appropriate libraries. These libraries are loaded once and cannot be reloaded without restarting the Java process.

Por lo que respecta al lado cliente la cosa está clara, pero ¿qué hay del lado servidor? ¿Es posible instalar una base de datos Oracle sobre un servidor que sólo tenga habilitado IPv6? La respuesta es: “depende”. Este white paper de septiembre de 2011 (PDF), Oracle Database and IPv6 Statement of Direction, matiza el asunto:

  • Desde la release 2 de Oracle 11g es posible la instalación de bases de datos sobre servidores sólo con IPv6.
  • No obstante, esto está soportado sólo para instalaciones stand alone, nada de clústeres con Oracle RAC ni, por supuesto, clusterware. Se pospone a versiones posteriores el soporte de IPv6 para entornos Oracle RAC.
  • Tampoco hay soporte para ASM sobre Windows. No menciona Linux, así que entiendo que sí es posible utilizar ASM en instalaciones stand alone sobre Linux con IPv6.

Parece que a las dificultades intrínsecas de migrar desde IPv4 a IPv6 tendremos que sumar que, a día de hoy, es incompatible con toda nuestra infraestructura de clústeres. Habrá que estudiar, pues, otras soluciones a nuestra escasez de IPs. Apache’s virtual hosts, you’re welcome!!

Categorías:Oracle Etiquetas: , , ,