Pregunta

Tenemos una aplicación empresarial que básicamente se ejecuta en una pila independiente del sistema operativo (tomcat+java+mysql), pero siempre la hemos ejecutado en redhat o centos.

Hay un cliente que insiste en ejecutarlo en opensolaris por sus propios motivos (un costoso acuerdo de soporte con todo incluido con Sun).

¿Qué tan dolorosa puede ser tal migración?Tenemos muchos archivos de configuración y scripts de soporte como:

  • apache
  • conector apache/tomcat
  • interacción de correo electrónico con postfix
  • inicio/parada del servicio personalizado
  • un par de trabajos cron (copia de seguridad, monitoreo)
  • diferentes usuarios y permisos (java, mysql, correo electrónico, copia de seguridad...)

Nuestro proceso de compilación genera un archivo .tar.gz con nuestro código comercial + algunos scripts de shell que editan todos los archivos de configuración del sistema operativo.

Cualquier experiencia previa sobre esto.

¿Fue útil?

Solución

Los mayores problemas estarán con la opciones no POSIX (no estándar) se ha utilizado para las herramientas GNU previstas en Linux que no están en los comandos estándar de Solaris. Usted puede decidir que portar las herramientas pertinentes a partir del conjunto de GNU es más simple que la modificación de su sistema. Si ha entrelazó el código con rutas absolutas para los comandos (/usr/bin/ls) pero decide utilizar las versiones GNU lugar, usted tiene que encontrar una manera de fijar esos. Sería extremadamente cauteloso sobre la sustitución de las versiones de OpenSolaris con las versiones GNU; usted no sabe cuando se rompería algo que el sistema se basa en. Por lo tanto, debería poner las órdenes de GNU en un directorio independiente - probablemente no /usr/local porque eso es para los propietarios de máquinas para rellenar, no como una aplicación traficante - y se encargará de que para ser utilizado en lugar de los comandos del sistema. (Nota:. En Solaris, /bin es un enlace simbólico a /usr/bin; supongo que lo mismo es cierto de OpenSolaris). Que yo sepa, Postfix no es estándar en OpenSolaris, por lo que tendría que asegurarse de que obtiene que instaló, también

Todo esto es factible - no hay nada insalvable. Pero mucho depende de su base de código.

Otros consejos

Corremos tanto, aunque no usamos OpenSolaris como servidores web.

Lo bueno:

  • OpenSolaris viene con las herramientas GNU, así, obtener su camino correcto y que está bien.

  • La mayoría de las cosas simplemente generar y ejecutar muy bien.

El no tan bueno:

  • Asegúrese de que ha instalado y está utilizando bash. De lo contrario todos aquellos bash que está utilizando que no se estaban usando morderá que pensaste.

  • Asegúrese de que usted no está utilizando rutas no modificables a / usr / bin o / bin. Estas herramientas no son los de GNU y por lo tanto tienen diferentes opciones. Utilice / usr / GNU como se mencionó anteriormente.

  • Usted no tiene la enorme cantidad de paquetes que se pueden instalar directamente hacia afuera como lo hace con yum o apt. Sí, usted tiene un gestor de paquetes, es simplemente no tan bien poblada. Como resultado, usted probablemente va a instalar los paquetes a mano. Se debe instalar, que es sólo un poco más de trabajo para sus administradores de sistemas.

  • ¿Está seguro de que OpenSolaris funciona bien en su hardware? Vale la pena un cheque. Es posible que algunos de los controladores de hardware no están tan bien probados.

De lo contrario nos encontramos con OpenSolaris de ser agradable. Tiene un montón de buenas ideas.

¿Has mirado en Nexenta - http://www.nexenta.org/os Es la kernel de OpenSolaris con un espacio de usuario de Ubuntu.

OpenSolaris ya incluye todas las utilidades GNU, simplemente apunte sus scripts a /usr/gnu/bin

La instalación de Postfix no debería presentar ningún problema, y ​​Apache/MySQL están presentes en una instalación básica de OpenSolaris (en verdad, el material Cool Web Stack lo hace tan fácil de administrar como WAMP/Instant Rails).Más allá de lo cual, los manifiestos SMF (SMF es un reemplazo para los scripts rc, algo así como el launchd de OSX, aunque todavía puedes usar scripts de inicio normales) pueden hacerte la vida más fácil, ya que especificar las dependencias y el orden de ejecución es algo mejor (se iniciará/recursivamente). detener también todos los servicios dependientes).

Tomcat ciertamente funciona, aunque todos los que conozco en OpenSolaris usan GlassFish.YMMV, pero implementar un .war es prácticamente igual en todas partes.

Puede que no sea un mal primer paso implementar en una zona de la marca LX (piense en las cárceles de FreeBSD o Linux vServer para comparar), ya que las zonas de la marca LX pueden ejecutar archivos binarios de Linux y están explícitamente basadas en CentOS/RHEL.

Aparte de eso, OpenSolaris es un Xen dom0 desde b77 o algo así, y poner CentOS/RHEL en un domU es muy simple, si es una opción.

También obtienes todas las ventajas de Solaris (DTrace, ZFS, virtualización de red [a través de CrossBow], etc.).¿Quién sabe?¡Puede que incluso te guste!Java es Java, por lo que eso no debería plantear ningún problema.

  • es probable que tenga que volver a escribir una gran parte de las secuencias de comandos (creación de usuarios, el lanzamiento del servicio), ya que es probablemente diferente en CentOS y OpenSolaris.

  • según lo escrito anteriormente, pregunte a su cliente para instalar las herramientas de GNU por lo que tendrá menos trabajo para volver a escribir sus guiones.

  • os archivos de configuración pueden también no estar en el mismo formato, tendrá que comprobar.

  • el archivo tar.gz debe ser extraíble sin dificultad, pero de nuevo que tendrá menos sorpresas si utiliza herramientas GNU. algunos OS UNIX tienen alquitrán con algunas limitaciones

  

Cualquier experiencia previa en este sentido.

(quizás un poco offtopic)

empaquetar y distribuir nuestra aplicación / unix java / tomcat / PostgreSQL con todos los binarios que se hace referencia en nuestros scripts. esto implica tener 1 sistema de acumulación para cada sistema operativo apoyamos, esto implie apoyamos nuestra aplicación, sino también los binarios externos, pero al final no tenemos malas sorpresas @ clientes.

también pedirles que hagan todas las operaciones de raíz (creación de usuarios, creación de directorios, de configuración de Sendmail, el ajuste del sistema) antes de instalar la aplicación. hemos escrito guiones de parada / arranque para todos los sistemas operativos compatibles, y su instalación es la única cosa que hacemos en root en la máquina cliente.

Además del hecho de que eres un troll, alguien acaba de decir que por encima de (Open) Solaris tiene: - ZFS - Dtrace

Podemos entender que usted tiene miedo de perder su trabajo no RHCE, pero sólo me demostró una vez más que mi decisión como empleador para ignorar todas las certificaciones de entrevista cuando la gente era una buena. Parece que un gran porcentaje de estas personas (especialmente en el mundo de Microsoft) no son tan ... de mente abierta, por decirlo con suavidad.

Saludos, Alex

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top