Prispevky v kategorii: ‘’

Měření rychlosti linky

Pokud potřebujete otestovat rychlost linky, zkuste si nainstalovat balíček iperf.
Pracuje na principu server-klient, kdy na jedné straně spoje spustíme server a klientem z druhé strany ověříme propustnost spoje.

Na straně serveru:

iperf -s

Na straně klienta:

iperf -t 200 -i 10 -c IP_SERVERU

Výstup je následovný:

[root@alpha ~]# iperf -t 200 -i 10 -c IP_SERVERU
------------------------------------------------------------
Client connecting to IP_SERVERU, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local IP_KLIENTA port 43542 connected with IP_SERVERU port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec    129 MBytes  72.2 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 10.0-20.0 sec    129 MBytes  72.1 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 20.0-30.0 sec    135 MBytes  75.5 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 30.0-40.0 sec    121 MBytes  67.8 Mbits/sec
atd....

admin Správa serveru

Apache segmentation fault

Důvodů vzniku této chybové hlášky je celá řada. Může se jednat o špatnou kombinaci php modulů nebo také špatně zkompilovaným jádrem.
Může toto způsobovat ovšem i paměť na serveru. Zkuste zvýšit maximální množství paměti např. příkazem:

echo "68719476736" > /proc/sys/kernel/shmmax

admin Řešení problémů

semget: No space left on device

Rychlým řešením je příkaz:

/usr/bin/ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem

nebo také:

/usr/bin/ipcs -s | grep nobody | awk ' { print $2 } ' | xargs ipcrm sem

nebo také:

/usr/bin/ipcs -s | grep apache | perl -e 'while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}'

admin Řešení problémů

Internal Server Error

Pokud vám doména hází chybovou hlášku:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

.. s největší pravděpodobností máte chybu v .htaccess souboru, zřejmě nějaký překlep.

Zkuste zaremovat (#) dočasně jednotlivé řádky a tak přijdete na chybný řádek.
Pokud není problém se souborem .htaccess, zřejmě se jedná o perl script uložený v cgi-bin adresáři.
Zkontrolujte zda adresáře a cgi/pl soubory v cgi-bin adresáři mají dostatečná práva,
většinou musejí být 755.
Může také chybět nějaký perl modul na který se cgi/pl script odkazuje.

admin Řešení problémů

Umount device is bussy

Pokud vám odpojování připojené partyšny hodí hlášku:

umount: /home: device is busy

znamená to že je adresář používaný.
Častým problémem je, že se zrovna nacházíte v tomto adresáři, stačí se tedy presunout jinam

cd /

Pokud problém přetrvává, zjistíme si, které procesy nám blokují odpojení partyšny:

fuser -m /dev/sda5
fuser -m /home

Vypíše vám to seznam PIDů, např:

4078 14582c 15930 18501 18816 19821 19886 19887

Killneme tyto procesy s tím, že pokud je tam písmenko, tak písmenko vynecháme.

kill -9 4078 14582 15930 18501 18816 19821 19886 19887

Je možné že vás to vykopne ze serveru, neboď jste si killnuli např. ssh session.
Takže je dobré si předtím zjistit který PID patří ke které službě.
Pokud se vám podařilo pokillovat všechny PIDy zobrazené příkazem fuser -m,
můžete partyšnu odpojit.

admin Řešení problémů

Odpojení partyšny

Připojenou partyšnu odpojíte příkazem umount, syntaxe je:

umount /dev/sda5
umount /home

Pokud vám to hodí hlášku:

umount: /home: device is busy

znamená to že je adresář používaný.
Častým problémem je, že se zrovna nacházíte v tomto adresáři, stačí se tedy presunout jinam

cd /

Pokud problém přetrvává, zjistíme si, které procesy nám blokují odpojení partyšny:

fuser -m /dev/sda5
fuser -m /home

Vypíše vám to seznam PIDů, např:

4078 14582c 15930 18501 18816 19821 19886 19887

Killneme tyto procesy s tím, že pokud je tam písmenko, tak písmenko vynecháme.

kill -9 4078 14582 15930 18501 18816 19821 19886 19887

Je možné že vás to vykopne ze serveru, neboď jste si killnuli např. ssh session.
Takže je dobré si předtím zjistit který PID patří ke které službě.
Pokud se vám podařilo pokillovat všechny PIDy zobrazené příkazem fuser -m,
můžete partyšnu odpojit.

admin Práce s HDD

Výpis všech IP na serveru

Pokud chcete výpis všech IP přidělených na server použijte příkaz:

ifconfig | grep "inet addr" | awk '{print $2}' | awk -F: '{print $2}' | gawk -F' ' '{print $1}'

admin Užitečné bash příkazy a scripty

yum segmentation fault

Pokud se vám stane, že při práci s yum vám systém vyhodí hlášku: segmentation fault, zkuste obnovit yum databázi:

rm -f /var/lib/rpm/__db*
rpm --rebuilddb

admin Řešení problémů

Kompilace RPM ze zdroje

Pokud si chcete zkompilovat vlastní RPM balíček, budete potřebovat balíček rpmdevtools.

yum install rpmdevtools

To vám vytvoří adresářovou strukturu /usr/src/redhat.
Postup vytvoření vlastního balíčku nyní uvedu na programu postfix, který zkompiluji s mysql podporou.

Nejprve si stáhneme a nainstalujeme src balíček:

wget http://mirror.centos.org/centos/5.2/updates/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm
rpm -ihv postfix-2.3.3-2.1.el5_2.src.rpm

warning: … – using root můžete ignorovat.
V adresáři /usr/src/redhat/SPECS naleznete soubor postfix.spec,
kde jsou specifikace použité při kompilaci balíčku. Řádku 2 změníme z:

%define MYSQL 0

na

%define MYSQL 1

a uložíme.

Nyní stačí spustit příkaz:

cd /usr/src/redhat/SPECS
rpmbuild -ba postfix.spec

Zobrazí se chybová hláška o chybějících závislostech. Doinstalujeme je, v mém případě:

yum install ed openldap-devel pcre-devel

A znovu opakujeme příkaz:

rpmbuild -ba postfix.spec

Po zkompilování, nalezneme balíček v adresáři /usr/src/redhat/RPMS.

admin Správa serveru

ip_conntrack: table full, dropping packet

Stačí zvýšit hodnotu v souboru /proc/sys/net/ipv4/ip_conntrack_max příkazem:

echo "140000" > /proc/sys/net/ipv4/ip_conntrack_max

Hodnota 140000 je variabilní, můžete si nastavit svou hodnotu.

admin Řešení problémů