Server SSH sempre disponibile sotto carico pesante


10

C'è un modo in cui il mio server SSH e tutto ciò che sta sotto (incluso bash) può essere sempre disponibile sotto carico?

Forse potrebbe essere una sorta di percorso critico, tutto in memoria , con una CPU dedicata o qualcosa del genere.

Qual è il modo in cui potrei avere un server sempre disponibile a costi minimi, per indagare su cosa sta succedendo sul mio server?


Stai chiedendo un modo per assicurarti di poter accedere tramite SSH per risolvere i problemi / riparare un sistema che altrimenti non risponde? Se è così, questa è una risposta che mi piacerebbe vedere. In precedenza mi ero chiesto se esistesse un modo per riservare una percentuale di risorse CPU / memoria per root allo stesso modo in cui il 5% dello spazio su disco è riservato a root quando si riempie un filesystem ext2.
Anthony Geoghegan,

@AnthonyGeoghegan Sì, è quello che sto chiedendo. Ed è quello a cui sto pensando, ma non sono sicuro che ci sia un modo per farlo (o come).
blue112

Mentre mi guardavo intorno, ho notato che una domanda simile è stata posta qualche anno fa, ma non ho ricevuto alcuna risposta. Spero che questa domanda ottenga una risposta migliore.
Anthony Geoghegan,

1
La probabile risposta è no. Tuttavia, ci sono cose che puoi fare che aiuteranno a diagnosticare a distanza i problemi che causano il carico pesante, come la configurazione del monitoraggio del sistema remoto (Scout, monitoraggio del server NewRelic) e la registrazione del syslog remoto (PaperTrail, LogStash, rsyslog, ecc.)
Creek

1
I problemi "non rispondenti" più comuni che ho visto sono a corto di descrittori di file, pid e socket. Anche se avessi un modo per sshd di mantenere un pool di processi riservati, bash non sarebbe in grado di fork, quindi finiresti con una shell inutile. La tua migliore possibilità sarebbe una shell con strumenti di debug integrati, ma se non gestisci i file, avresti ancora problemi a diagnosticare i problemi.
Chris Mendez,

Risposte:


4

Al fine di utilizzare appieno il sistema, presenta a tutti i servizi le stesse risorse e il kernel cercherà di mantenerli tutti in esecuzione con la stessa priorità. È possibile impostare il livello di priorità del processo sshd al livello più alto. (Mentre il bello scende la priorità sale)

Vedi qui: /server/355342/prioritise-ssh-logins-nice

Ciò non risolverà il tuo problema con la memoria. Dovresti usare cgroups per assegnare al processo sshd la sua memoria riservata per gestirlo.

Limitare l'utilizzo della memoria per un singolo processo Linux

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.