GNU/Linux >> Linux Esercitazione >  >> Linux

Amministrazione di massa/remota Linux?

Oltre alla nostra infrastruttura IT interna, abbiamo circa 500 macchine Linux che ospitano i nostri servizi per il mondo online. Sono raggruppati in un gruppo di cluster come Database A-n, Product A-n, NFS, Backoffice e così via. Inoltre, sono amministrati da un fornitore esterno, secondo le nostre specifiche e requisiti.

Tuttavia, dobbiamo affrontare molti problemi durante lo sviluppo, il roll-out e il deployment del software (web), soprattutto perché gli ambienti di sviluppo e staging non hanno quasi nulla in comune con i sistemi live (risparmio i dettagli sgradevoli...) .

Pertanto, ho provato a creare macchine virtuali, ho copiato i vari sistemi live nel modo più esatto possibile e li ho preparati per la connessione ad es. i database di sviluppo invece di quelli "reali" in modo trasparente per gli sviluppatori (non sono root ). Funziona abbastanza bene, ma...

Mi chiedevo come si potesse amministrare quei sistemi da remoto e in blocco ? C'è qualche famiglia di software di cui non sono a conoscenza? O, almeno, alcune tecniche o principi con cui dovresti avere familiarità?

Forniremmo a ogni sviluppatore un mucchio di immagini da eseguire localmente (VirtualBox). Il reparto di controllo qualità otterrebbe cluster virtuali (XEN o Hyper-V). Se ho bisogno di fornire un modulo server aggiuntivo, reindirizzare una nuova connessione al database o semplicemente voglio aggiornare tutto ciò che viene fornito dal gestore di pacchetti... come potrei farlo senza essere costretto ad accedere a tutti i sistemi e/o chiedere al mio colleghi per scaricare ed eseguire alcuni fixture-script?

Credo che ci siano molte soluzioni. Beh, in qualche modo sono troppo stupido per inserire le parole chiave corrette nei motori di ricerca... O questo problema non è così banale come sembra?

Per la cronaca:

  • Quasi tutti i sistemi eseguono Debian GNU/Linux 6.x "squeeze"
  • Nessuno sviluppatore è obbligato a utilizzare un particolare sistema operativo sulla propria workstation
  • Il budget è limitato, ovviamente, ma non troppo piccolo per acquistare software proprietario
  • È preferibile una soluzione che coinvolga il nostro fornitore di cui sopra

Risposta accettata:

Dipende di cosa hai esattamente bisogno e cosa stai cercando. Ma in generale esistono molteplici soluzioni per la “gestione della configurazione come:

  1. burattino
  2. cuoco
  3. cfmotore
  4. sensibile
  5. sale

ecc. Personalmente consiglierei il burattino in quanto ha una grande comunità e molte ricette fornite dall'esterno. Ciò consente di configurare e gestire i sistemi automaticamente. Se lo combini con i propri repository e aggiornamenti automatici tramite ad es. unattended-upgrades puoi aggiornare automaticamente il sistema.

Un'altra soluzione è semplicemente fornire i tuoi pacchetti come company-base ecc. che dipende automaticamente dal software necessario e può configurare automaticamente il tuo sistema.

Dovresti anche esaminare le distribuzioni automatizzate (barebone e virtualizzate). Se lo combini con la gestione della configurazione o il tuo repository, puoi facilmente automatizzare e reinstallare i tuoi sistemi. Se vuoi iniziare con l'installazione automatizzata, dai un'occhiata a theforman che supporta libvirt così come le installazioni bare bone e ha un supporto integrato per i pupazzi. Se vuoi farlo da solo puoi guardare kickstart (redhat et. al.) o "preseeding" per configurare automaticamente il tuo sistema. Per Debian puoi anche usare qualcosa come debootstrap o un wrapper chiamato grml-debootstrap che supporta le immagini virtualizzate.

Correlati:Linux – Reaver continua a ripetere lo stesso pin su Kali Linux?

Per aiutare a fornire le immagini di VirtualBox per il tuo sviluppatore, dai un'occhiata a Vagrant ti consente di automatizzare la creazione di sistemi virtualizzati con VirtualBox che supporta script di chef, puppet e shell per personalizzare il tuo ambiente virtuale.

Se desideri utilizzare la soluzione del tuo provider esistente, dovresti chiedere loro come gestiscono i tuoi sistemi, ma probabilmente sarà una sorta di gestione della configurazione. Potrebbe essere possibile eseguire il loro agente sui tuoi sistemi se puoi accedere al server di configurazione.

Per le parole chiave di Google, esamina devops , configuration management , it automation e server orchestration .

In breve, automatizza il più possibile e non pensare nemmeno a fare le cose manualmente.


Linux
  1. Un'introduzione allo spazio di scambio sui sistemi Linux

  2. 10 momenti che hanno plasmato la storia di Linux

  3. 4 strumenti per la creazione di sistemi Linux embedded

  4. 5 migliori app per desktop remoto per Linux

  5. Abilita i servizi in Linux

Doppler:uno strumento di monitoraggio remoto a configurazione zero

Esegui comandi su sistemi Linux remoti tramite SSH

Come configurare una VLAN in Linux

Configurazione dell'autenticazione a più fattori su sistemi Linux

Utilizzo del comando SSH nei sistemi Linux/Unix

Procedura:Amministrazione remota di FreeBSD