Mám server CentOS 5.7, který bude zálohovat své soubory každou noc. Obávám se, že návštěvníci různých stránek, které server hostí, zaznamenají snížený výkon při přenosu zálohy po síti.
Je možné omezit maximální povolenou propustnost procesu na síťové rozhraní? Chtěl bych omezit přenos souborů založený na SSH pouze na polovinu mé dostupné šířky pásma. Může to být na straně serveru nebo klienta; to znamená, že to rád udělám buď na klientovi, který zahajuje připojení, nebo na serveru, který připojení přijímá.
(Bohužel nemohu přidat rozhraní, které bych věnoval zálohování. Mohl bych zvýšit svou dostupnou propustnost, ale to by znamenalo pouze to, že by se přenos sítě dokončil rychleji, ale přesto by se při tom maximalizovala celková kapacita připojení .)
Nějaké pozadí
Možná je nějaké pozadí v pořádku. Když jsem odstoupil, měl jsem problém s tím, že jsem neměl dostatek místního prostoru pro vytvoření samotné zálohy. Zadejte SSHFS! Záloha se uloží na zdánlivě místní jednotku, takže na samotném webovém serveru nejsou žádné bity zálohy.
proč je to důležité? Protože by se zdálo, že to zneplatňuje použití úctyhodného rsync --bwlimit
. rsync
ve skutečnosti převod neprovádí ani nemůže protože nemohu ušetřit místo ani na uložení záložního souboru.
Slyším, jak se ptáte:„Tak počkej, proč vůbec potřebuješ vytvořit záložní soubor? Proč ne jen rsync
zdrojové soubory a složky?" Protože otravná věc zvaná „Plesk“ je ve směsi! Toto je můj webový hostitel pro klienty, který pro pohodlí používá Plesk. Jako takový používám Plesk k zahájení zálohování, protože Plesk přidává do zálohy všechny druhy magie navíc, díky kterým je její použití během procedury obnovy velmi bezpečné.
smutná tvář
Přijatá odpověď:
Můžete použít iptables
k označení paketu (–pid-owner …), pak použijte tc
k utváření provozu.
Také „–sid-owner“ lze použít k zahrnutí vláken a potomků tohoto procesu.
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH
Shoda –pid-owner
Jádro 2.3, 2.4, 2.5 a 2.6
Příklad iptables -A VÝSTUP -m vlastník –pid-owner 78
Vysvětlení Tato shoda se používá ke spárování paketů na základě ID procesu (PID), který za ně odpovídal. Použití této shody je o něco těžší, ale jedním příkladem by bylo pouze povolení PID 94 posílat pakety z portu HTTP (samozřejmě pokud proces HTTP nemá vlákno). Alternativně bychom mohli napsat malý skript, který získá PID z výstupu ps pro konkrétního démona a poté pro něj přidá pravidlo. Například můžete mít pravidlo, jak je uvedeno v příkladu souboru Pid-owner.txt