Domanda

Abbiamo un'applicazione aziendale che funziona praticamente su uno stack indipendente dal sistema operativo (Tomcat + java + mysql), ma abbiamo sempre eseguirlo redhat o CentOS.

C'è un cliente che insiste per eseguirlo su OpenSolaris per le sue ragioni (un costoso tutto-è-incluso contratto di assistenza con Sun).

Come dolorosa può essere una tale migrazione? Abbiamo un sacco di script di file di configurazione e di supporto come ad esempio:

  • apache
  • apache / connettore Tomcat
  • l'interazione di posta elettronica con postfix
  • personalizzato avvio del servizio / stop
  • un paio di cron jobs (backup, monitoraggio)
  • utenti e autorizzazioni diverse (Java, MySQL, e-mail, backup ...)

Il nostro processo di generazione produce un file .tar.gz con il nostro alcuni script di shell codice commercio + che modificare tutti i file del sistema operativo-configurazione.

Ogni esperienza precedente su questo.

È stato utile?

Soluzione

I problemi più grandi saranno con il non-POSIX (non standard) opzioni che hai utilizzato per gli strumenti GNU forniti su Linux che non sono nei comandi standard di Solaris. Si potrebbe decidere che il porting gli strumenti rilevanti dal set di GNU è più semplice di modificare il sistema. Se hai cucita il codice con percorsi assoluti per i comandi (/usr/bin/ls), ma si decide di utilizzare le versioni GNU invece, hai avuto modo di trovare un modo di fissare quelli. Sarei estremamente cauti circa la sostituzione delle versioni di OpenSolaris con le versioni GNU; non si sa quando si sarebbe rompere qualcosa che il sistema si basa su. Quindi, si dovrebbe mettere i comandi GNU in una directory separata - probabilmente non /usr/local perché questo è per i proprietari di macchine per popolare, non come applicazione-monger - e di provvedere a che per essere utilizzato al posto dei comandi di sistema. (Nota:. Su Solaris, /bin è un link simbolico a /usr/bin, presumo lo stesso vale per OpenSolaris). AFAIK, Postfix non è standard su OpenSolaris, quindi bisogna essere sicuri di ottenere che ha installato, anche

Tutto questo è fattibile - non c'è niente di insormontabile. Ma molto dipende dalla vostra base di codice.

Altri suggerimenti

Corriamo entrambi, anche se non usiamo OpenSolaris come un server web.

La buona:

  • OpenSolaris viene fornito con gli strumenti di GNU, quindi, ottenere il vostro proprio percorso e questo è ok.

  • La maggior parte delle cose solo generare ed eseguire bene.

Il non così buono:

  • Assicurarsi di aver installato e si utilizza bash. In caso contrario, tutti quei bashismi che si sta utilizzando che non hai pensato che si stava utilizzando ti morderà.

  • Assicurarsi che non stai utilizzando percorsi hard coded per / usr / bin o / bin. Questi strumenti non sono quelli GNU e quindi hanno diverse opzioni. Usare / usr / GNU come detto sopra.

  • Non è l'enorme numero di pacchetti che è possibile installare direttamente fuori come si fa con yum o apt. Sì, si dispone di un gestore di pacchetti, è solo non così bene popolato. Come risultato probabilmente sarà l'installazione di pacchetti a mano. Essi dovrebbero installare, è solo un po 'più di lavoro per i vostri amministratori di sistema.

  • Sei sicuro di OpenSolaris funziona bene su hardware? Vale la pena di un assegno. Si potrebbe scoprire che alcuni dei driver hardware non sono così ben testati.

In caso contrario troviamo OpenSolaris di essere gentile. Ha un sacco di buone idee.

Hai guardato Nexenta - http://www.nexenta.org/os E 'il kernel OpenSolaris con un userland Ubuntu.

OpenSolaris include tutte le utilità GNU già, basta puntare i vostri script in / usr / GNU / bin

L'installazione di Postfix non dovrebbe presentare alcun problema, e Apache / MySQL sono presenti in una base di OpenSolaris installare (in verità, la roba Web Stack Cool rende circa facile da amministrare come WAMP / Instant Rails). Oltre il quale, si manifesta SMF (SMF è un sostituto per gli script rc po 'come launchd di OSX, anche se è comunque possibile utilizzare normali script di init) può rendere la vita più facile, dal momento che specifica le dipendenze e l'ordine familiare, è un po' più bello (che sarà ricorsivamente start / arrestare tutti i servizi dipendenti anche).

Tomcat funziona sicuramente, anche se tutti quelli che conosco su OpenSolaris utilizza GlassFish. YMMV, ma la distribuzione di un .war è praticamente la stessa in tutto il mondo.

Non può essere un primo passo cattivo di implementare in una zona di marca LX (si pensi carceri FreeBSD o Linux vServer per un confronto), come le zone di LX di marca possono eseguire binari di Linux, e sono esplicitamente basato CentOS / RHEL.

Oltre a questo, OpenSolaris è un dom0 Xen dal B77 o qualcosa del genere, e mettendo CentOS / RHEL in un domU è morto semplice, se questa è un'opzione.

Si ottiene anche tutte le chicche di Solaris con essa (DTrace, ZFS, la virtualizzazione di rete [via CrossBow], ecc). Chissà? Si può anche piacere! Java è Java, in modo che non dovrebbe porre problemi.

  • probabilmente dovrete riscrivere una grande parte degli script (creazioni degli utenti, lancio del servizio), in quanto è probabilmente diversa in CentOS e OpenSolaris.

  • come scritto in precedenza, chiedere al cliente di installare gli strumenti GNU così avrete meno lavoro per riscrivere i tuoi script.

  • os file di configurazione possono anche non essere nello stesso formato, è necessario controllare.

  • il file tar.gz dovrebbe essere estraibili senza problemi, ma ancora una volta si avrà meno sorprese se si utilizzano strumenti GNU. alcuni UNIX hanno tar con alcune limitazioni

  

Ogni esperienza precedente su questo.

(forse un po 'offtopic)

confezioniamo e distribuiamo il nostro / / PostgreSQL application / unix Tomcat Java con tutti i binari di riferimento nei nostri script. questo implica di avere un sistema di build 1 per ciascun sistema operativo sosteniamo, questo implie sosteniamo la nostra applicazione, ma anche i binari esterni, ma alla fine non abbiamo brutte sorprese @ clienti.

anche noi chiediamo loro di fare tutte le operazioni di root (creazione degli utenti, la creazione di directory, di configurazione sendmail, messa a punto del sistema) prima di installare l'applicazione. abbiamo scritto di arresto scripts / avvio per tutti i sistemi operativi supportati, e la loro installazione è l'unica cosa che facciamo nella root sulla macchina del cliente.

Oltre al fatto che sei un troll, qualcuno appena detto sopra che (Open) Solaris ha: - ZFS - DTrace

Possiamo capire che si ha paura di non perdere il lavoro RHCE, ma tu mi hai appena dimostrato ancora una volta che la mia decisione come un datore di lavoro di ignorare tutte le certificazioni quando intervistano persone è stato un buon compromesso. Sembra che una grande percentuale di queste persone (soprattutto nel mondo Microsoft) non sono così ... open-minded, per dirla bene.

Saluti, Alex

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top