ordine di avvio di controllo di più server

Sto cercando raccomandazioni su come controllare l'ordine di avvio di una cremagliera di macchina se tutti devono essere avviati. Più in dettaglio:

Group1: DHCP/DNS/LDAP Server Group2: NFS servers Group3: Web Servers Compute Nodes 

Sto attualmente configurando apcupsd per gestire l'arresto di emergenza, in particolare per i server di dati, ma non sono sicuro se dovrei scrivere un avvio complicato utilizzando WOL o se c'è un sistema di events di networking in anticipo per Linux per mettere in pausa il process di avvio finché non vengono ricevuti gli events corretti.

Se è importnte, tutti i server sono Dell e hanno iDRAC, ma non sono riuscito a farlo funzionare (non lo ho provato molto), se questo offre tutte le alternative.

  • come annullare il trasferimento di file in Linux?
  • Incollaggio Linux: 802.3ad (LACP) rispetto alla modalità balance-alb
  • perché la parte superiore dà percentuali di CPU più del 100%
  • sudo -u non riesce con env: -u: nessun file o directory del genere
  • rsyslog non registri i messaggi
  • Bantime massimo con fail2ban
  • controllare i pacchetti a 32 bit installati su un server a 64 bit
  • Migliore pratica per l'authentication di DMZ contro AD in LAN
  • 4 Solutions collect form web for “ordine di avvio di controllo di più server”

    Hai diverse opzioni. Può essere una buona idea combinare due o più di questi approcci.

    • Se each gruppo è su UPS dedicati, è ansible controllare in una certa misura la sequenza di avvio dell'UPS. Gli UPS ad alta potenza possono spesso essere configurati per ritardare l'avviamento. Staggenetworking i ritardi di avvio per soddisfare le vostre esigenze. Dovresti essere comunque acctriggersnte per impedire l'inizio del carico di avviamento per triggersre fusibili o interruttori sul proprio alimentatore.

    • Come altri hanno osservato ci sono PDU con capacità di ritardo. Questi sarebbero configurati come per gli UPS. Può anche essere controllata dalla networking in modo che il gruppo successivo possa essere triggersto quando i servizi richiesti sono disponibili.

    • WoL è un approccio che puoi utilizzare come altri hanno notato.

    • Se si utilizza un singolo process init filettato, è ansible aggiungere uno script init che attende che il servizio richiesto sia disponibile prima di procedere. In alternativa, è ansible aggiungere i controlli agli appropriati script init. Aggiungendo i controlli di guardia per i servizi necessari può comunque essere una buona idea.

    • Potresti affrontare il tuo Internet affrontando indirizzi IP. ma non consentire loro fino a quando tutto il servizio richiesto è in atto. Ciò richiederebbe uno script di protezione che verifichi che i servizi richiesti sono disponibili.

    • I montaggi NFS possono essere configurati per bloccare fino a quando i supporti non sono disponibili. Questo dovrebbe ritardare ulteriormente l'elaborazione init finché i server NFS non servono i supporti necessari.

    Mi chiedevo lo scenario specifico che stai pensando in giro …

    Stai cercando di pianificare l'accensione dopo un interruzione di corrente? Recupero da una sorta di disastro? O è la tua preoccupazione più potenza-spike correlati? Per questi ultimi, a volte ho usato ritardi di avvio casuali configurati nel BIOS dei server o utilizzando un PDU commutato per gestire la sequenza di accensione per prevenire il sovraccarico.

    Sul lato della sequenza, avrei ingegnerizzato le dependencies a livello di applicazione. Da un avvio a freddo, i server applicativi dovrebbero essere in grado di tollerare l'errore, il ritardo o la mancanza di presenza di soste di supporto (DHCP / DNS / LDAP). Avete i server di backup che eseguono questi servizi? Qualcosa fuori dall'ubicazione?

    In caso contrario, è ansible impostare controlli di avvio di applicazioni o daemoni, ad esempio non avviare il demone NFS se i server DNS non possono essere raggiunti. Ho fatto un po 'di questo controllo di dipendenza utilizzando Monit o uno script wrapper … ma non ho mai pensato a questo tipo di sorting nella maggior parte degli ambienti.

    Cosa stai cercando di realizzare? Sta minimizzando (lisciando) i picchi di domanda creati da un gruppo di server che eseguono l'avvio simultaneo o qualcosa che può spingere l'adattamento di emergenza del poweroff? Se è il primo allora cercare sequenziatori di potenza – ci sono unità in rack progettate per alimentare gruppi di prese con ritardi programmabili – diciamo qualche minuto tra ciascuno dei tuoi gruppi per consentire a ciascuno di stabilirsi prima dell'avvio. Questo è stato abbastanza comune con alcuni fornitori nel lato più grande di midrange.

    A mio parere hai risposto alla tua domanda. WoL è un ottimo modo per assicurare che i server siano avviati in una sequenza impostata. Niente di complicato. Basta che each server invia il segnale WoL a quello successivo nella sequenza. Basta essere sicuri di documentare questa sequenza per quando qualcosa si rompe o deve essere modificato. Idealmente lo script WoL verifica prima che i servizi in questione siano in esecuzione prima di submit un segnale. Potresti anche avere un timeout su quei controlli che ti possono submit un avviso se qualcosa è scorretto, che può salvare un po 'di backtracking se un server non si avvia.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.