Ho un server CentOS 5.7 che eseguirà il backup dei suoi file ogni notte. Temo che i visitatori dei vari siti ospitati dal server subiranno prestazioni degradate mentre il backup viene trasferito attraverso la rete.
È possibile limitare la velocità massima consentita di un processo a un'interfaccia di rete? Vorrei limitare il trasferimento di file basato su SSH a solo metà della mia larghezza di banda disponibile. Questo potrebbe essere sul lato server o client; vale a dire, sarei felice di farlo sul client che avvia la connessione o sul server che riceve la connessione.
(Sfortunatamente, non posso aggiungere un'interfaccia da dedicare ai backup. Potrei aumentare il mio throughput disponibile, ma ciò significherebbe semplicemente che il trasferimento di rete si completerebbe più velocemente, ma continuerà a massimizzare la capacità totale della connessione mentre lo fa.)
Alcuni retroscena
Forse un po 'di background è in ordine. Facendo un passo indietro, ho avuto un problema con la mancanza di spazio locale sufficiente per creare il backup stesso. Inserisci SSHFS! Il backup viene salvato su quella che è apparentemente un'unità locale in modo che nessun bit di backup sia mai presente sul server Web stesso.
Perché è importante? Perché ciò sembrerebbe invalidare l'uso del venerabile rsync --bwlimit
. rsync
non sta effettivamente eseguendo il trasferimento né può farlo perché non riesco nemmeno a risparmiare lo spazio per salvare il file di backup.
Posso sentirti chiedere: "Quindi aspetta, perché hai anche bisogno di creare un file di backup? Perché non solo rsync
i file e le cartelle di origine?" Perché una cosa fastidiosa chiamata "Plesk" è nel mix! Questo è il mio host web rivolto al cliente che utilizza Plesk per comodità. Come tale, uso Plesk per avviare i backup perché Plesk aggiunge ogni sorta di ulteriore magia al backup che rende molto sicuro il suo utilizzo durante una procedura di ripristino.
faccia triste
ionice
per limitare le scritture che un processo può fare. Dal momento che sto scrivendo su un filesystem SSHFS, posso rilasciare la classe del processo di backup su 3 per farla passare completamente a qualsiasi altro processo che voglia scrivere. In questo modo ottengo l'effetto che desidero, che non deve mai degradare l'esperienza di un visitatore del sito a causa della larghezza di banda del backup hogging.