Come installare in remoto Linux tramite SSH?


22

Devo installare Ubuntu Server 10.04 (x86) in remoto su un server che attualmente esegue RHEL 3.4 (x86). Dovrò stare molto attento perché nessuno può premere il pulsante di riavvio per me se qualcosa va storto.

Hai mai installato in remoto Linux? In che modo consiglieresti? Qualche consiglio su cosa fare attenzione?


Aggiornare:

Grazie per l'aiuto. Sono riuscito a "cambiare le gomme durante la guida" !

I componenti principali del mio metodo sono tratti da HOWTO - Installa Debian su un sistema Linux remoto , legacy di grub: avvio una sola volta , grub single boot e riavvio del panico del kernel e documentazione della comunità di Ubuntu: InstallationFromKnoppix

Ecco lo schema di ciò che ho fatto:

  1. Esegui debootstrap su un server Ubuntu esistente
  2. Trasferire i file nella partizione di swap del server RHEL 3.4
  3. Avvia nella partizione di swap (il sistema debootstrap)
  4. Trasferisci i file nella partizione root originale
  5. Avvia nel nuovo sistema Ubuntu e termina l'installazione con taskel, apt-get, ecc

Ho testato il metodo in una macchina virtuale e quindi applicato al server. Ho avuto la fortuna che tutto sia andato per il meglio :)


17
Sembra provare a montare nuovi pneumatici sulla tua auto mentre la guidi.
Orbling


Teoricamente possibile. Un po 'come dice Orbling, cambiando le gomme mentre si guida l'auto. Non molto facile!
Matt,

@ephemient Fantastico. Vedi che è possibile, semplicemente incredibilmente difficile.
Orbling

Forse se hai fornito maggiori dettagli sui limiti della situazione, le persone estremamente intelligenti, creative e intraprendenti qui a Server Fault possono darti altre alternative o consigli che potrebbero consentire un percorso più realistico per raggiungere i tuoi obiettivi.
Jed Daniels,

Risposte:


8

Sono d'accordo con il sentimento delle altre risposte qui: anche se potrebbe essere possibile installare Ubuntu da remoto su RHEL 3.4, è probabile che stiate camminando su un ghiaccio molto sottile.

Penso che il problema più grande che potresti avere sia l'età del kernel e della libc sul sistema esistente. È un kernel della serie 2.4.x? In tal caso, non sono sicuro che sarai in grado di farlo, perché a un certo punto durante l'installazione, dovrai eseguire strumenti che sono stati compilati per essere eseguiti nel kernel e in libc di Ubuntu e potrebbero non funzionare correttamente (o affatto) su un ambiente di runtime più vecchio. Se non stai eseguendo un kernel serie 2.6.x sul server remoto, non penso che tu abbia molte possibilità di successo.

Se pensi ancora che potresti voler provare questo, ci sono un paio di guide di cui sono a conoscenza:

Entrambe queste guide sono un po 'vecchie, quindi nessuna delle due può essere trattata come qualcosa di simile a una guida taglia e incolla. Suggerirei vivamente di seguire i consigli di altri qui e fare alcune corse a secco su un server locale o una macchina virtuale, perché ci sono sicuramente nodi e problemi che dovrai allenarti prima di andare avanti davvero.


12

La migliore pratica per l'installazione remota di qualsiasi sistema operativo è quella di acquistare hardware server con gestione fuori banda (HP ilo, Dell drac) che consente di spegnere e riaccendere da remoto la console di un server. Non provare nemmeno diversamente.


Sono d'accordo, ma devo ancora affrontare la mia situazione attuale
netvope il

6
Molte persone esperte che lo fanno da un decennio ti diranno "buona fortuna con quello".
Troyengel,

1
Sia embobo che troyengel sono perfetti; la situazione in cui ti trovi peggiorerà solo se provi a farlo da remoto. Il mio consiglio? Entra in contatto con il data center.
Andrew M.

1
Le schede di gestione remota sono eccezionali e la maggior parte dei nuovi sistemi Supermicro sono integrati, tra cui alimentazione remota, tastiera / video / mouse e unità CD / DVD remote. Per questa situazione, non riesco a immaginare di essere senza uno.
Sean Reifschneider,

5

L'installazione di una nuova distribuzione può essere eseguita, ma è molto impegnativo. È qualcosa che quasi sicuramente NON andrà bene la prima volta. In effetti, sarai fortunato se lo farai bene la terza o quarta volta.

Inoltre, nessuno qui sarà in grado di darti un elenco di biancheria che puoi semplicemente seguire e questo accadrà. Dovrai sperimentare diverse alternative, a seconda dell'esatta partizione del disco e del layout del file system, della configurazione hardware, ecc.

Detto questo, ecco come farei qualcosa del genere se dovessi:

  • Ottieni una macchina configurata nel modo più simile possibile alla macchina esistente: dischi rigidi, schede di rete, adattatori per dischi, RAM, e basta.
  • Configurare questa macchina per imitare la configurazione corrente su quell'host.
  • Sperimenta facendo quello che devi fare su questo sistema di test.
  • Prendi appunti su di esso in modo da poterlo riprodurre sul sistema "live".
  • Esegui di nuovo queste note sul sistema di test prima di eseguire la migrazione finale.

Alcune tecniche che potrebbero essere in grado di aiutarti:

  • Decidi se vuoi installare su una nuova partizione o prova a installarlo sul file system esistente. Se si crea una nuova partizione, è sempre possibile tornare indietro avviando la vecchia partizione. Tuttavia, ciò probabilmente significa che è necessario ridurre l'attuale file system, che deve essere eseguito offline. Ho scritto alcune note nel 2007 quando l'ho fatto .
  • Potresti essere in grado di eseguire un'installazione su una piccola partizione sul tuo computer di prova, quindi apportare le modifiche appropriate come gli indirizzi IP e "dd" questa immagine del file system da utilizzare per popolare l'installazione di base sulla nuova partizione. Questo sarebbe solo se si stesse usando una partizione separata per la nuova installazione.
  • È possibile invece inserire il file system di root in una sottodirectory e quindi fare qualcosa nell'inizrd in modo che: "cd / target; mv * oldroot; mv oldroot / newos / *." spostare tutte le vecchie directory fuori posto e metterle in atto. Questo dovrebbe essere fatto prima che initrd sia "pivotroot", probabilmente subito dopo aver montato il file system.
  • L'aggiunta di un po 'di codice negli script initrd può consentire di fare ogni sorta di cose meravigliose durante l'avvio del sistema. Vedi il post sul blog I riferimenti sopra per maggiori dettagli.
  • Aspettati di fallire. È uno sforzo estremamente rischioso. Quando ho fatto il ridimensionamento del mio file system (menzionato sopra), sono rimasto scioccato quando è stato riavviato correttamente.
  • Dovrai decidere cosa vuoi fare per i settori di avvio, è in esecuzione LILO o GRUB? Vuoi provare a rimanere con l'attuale boot loader o passare a 10.04? Probabilmente l'ideale sarebbe usare il caricatore esistente per avviare il nuovo sistema operativo, quindi eseguire "grub-install" da quel sistema operativo per mettere in atto quello nuovo.

In bocca al lupo! Ne avrai bisogno. :-)


1

Se si dispone di una partizione diversa, è possibile utilizzare quella partizione per installare in una macchina virtuale che vede l'intero disco. Finché non si monta la stessa partizione sia nella macchina virtuale che nell'host o si gioca con la tabella delle partizioni, si è sicuri. Un altro modo sarebbe quello di fare il boot dalla rete e fare un'installazione usando preseed o kickstart. Sperimenta con un ambiente locale prima di giocare in remoto.


1

Scrivo una soluzione semplice basata su preseed.

https://github.com/mhf-ir/ubuntu-overssh-reinstallation

È necessaria la versione installata di Ubuntu con ssh. un altro server http per servire file preconfigurato. Ho provato così tante volte in molti datacenter.

Se hai Ubuntu puoi reinstallare e ripartizionare su ssh senza KVM / IPMI / VNC o qualsiasi applicazione remota. usando solo ssh. E pura installazione usando netiso / miniiso del server Ubuntu.

Si basa sul caricatore di immagini grub che avvia il file ISO personalizzato che contiene le impostazioni di rete e la password ssh.


0
  1. In bocca al lupo.

  2. Ciò è plausibilmente fattibile, in alcune circostanze (che potrebbe non essere applicabile qui / a voi).

  3. Questo è difficile; Ti consiglio di esercitarti su una macchina locale (virtuale se necessario). Un sacco.


0

Se riesci a ottenere solo una visita al server, puoi aggiungere una porta KVM over IP al sistema. Ho trovato un Lantronix Spider da $ 310 a 1 porta su CDW che lo fa. Tuttavia, non aiuta con un "pulsante di riavvio" o per espellere il supporto, anche se è possibile accedere al BIOS al riavvio e modificare l'ordine di avvio in modo che un CD venga ignorato.


0

L'ho già fatto prima, come test. Tuttavia, non è qualcosa che consiglierei di fare se non esiste un piano di fallback.

A quanto pare i sistemi sono abbastanza affidabili se tutte le applicazioni necessarie sono già caricate. Ho eseguito con successo dd e sovrascritto i primi 8 GB circa del server di destinazione con un'installazione predefinita di Ubuntu e quindi ho riavviato il server su Ubuntu senza problemi. È quindi possibile espandere la partizione da lì per riempire il resto dell'unità.

È inoltre possibile impostare una nuova partizione, debootstrap una nuova installazione in essa e modificare il bootloader per l'avvio in questa nuova partizione. Ancora una volta, aspettati il ​​fallimento e speriamo nel successo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.