1 October 2007 - 0:23Záchrana dat z poškozených disků

I když máte data na raid1 poli, může dojít k tomu že Vám jeden disk vypadne a než stihnene dojet do servrovny s novým diskem a sesynchronizovat znovu pole umře Vám i druhý disk..

Teď máte tři možnosti:

  • Vyhodíte data co tam byla a neřešíte to.
  • Obnovíte data ze zálohy.
  • Obnovíte data přímo z poškozených disků.

Jsou situace kdy jsou první dvě možnosti nepřijatelné a musíte data nějak z těch disků dostat. Já to řeším takhle.
Disk který vypadl z pole jako první je pravděpodobně více poškozen(dejme tomu že je to sda), tak ten si dám někam mimo pro případ, že se mi data z druhého disku(sdb) nepovede dostat abych měl případně zálohu, kterou můžu odvézt nějaké specializované firmě.

A jdeme obnovovat.

  1. Pokuste se stanovit co s tím diskem je, tzn jestli ho vidí bios nebo v něm netypicky cvaká…atp
  2. Pokud disk vidí bios jedná většinou o softwarový problém nebo lehčí poškození ploten.
  3. Nabootujte z rescue CD nebo z nějaké liveCD s linuxem a zkuste poškozenou parcelu připojit do systému v readonly režimu

    mount -o ro,nouuid /dev/sdb1 /mnt/poskozeny_disk

  4. Jestli se disk připojil bez problému, pusťte smartctl test a data překopírujte jinam
  5. Jeslit se disk nepřipojí, tak se v žádném případě nesnažte o opravu klasickými nástroji jako xfs_check a xfs_repair (záleží na použitém filesystému)
  6. Nainstalujte si dd_rescue

    apt-get install dd_rescue

  7. Překopírujte kompletní image disku na nějaký nový disk- trvá to pár hodin, podle velikosti disku a míře poškození.

    dd_rescue /dev/sdb1 /mnt/sdc1/sda1.img

  8. Opravte poškozený přímo toho .img souboru

    xfs_repair /mnt/sdc1/sda1.img

  9. Připojte image do systému.

    mount -o loop,ro,nouuid /mnt/sdc1/sda1.img /mnt/poskozeny_sda1

  10. Pokud proběhlo vše OK, máte svoje data;)

Celé tohle řešení má ale i své nevýhody.

  • Výpadek v řádu několika hodin.
  • V případě že se Vám obnova nepovede, obnova bude ve specializované firmě dost drahá.

No Comments | Tags: How to

12 September 2007 - 20:33Online replikace dat

Pokud používáte větší diskové pole a chcete se vyhnout problémům jako dnes postihli vshosting a musí obnovovat vše ze zálohy. A místo toho aby klientům běžel web, vidí jen takovouhle zprávu.

vshosting31.png

A jak tomu předejít ?

Snadno, používejte diskové pole z kvalitních disků a raidem5 + mějte vždy v serveru připravený hotspare disk. Při výpadku některého disku z pole dojde k jeho automatickému odpojení a připojení hotspare disku, pak stačí jen zajet fyzicky k serveru a vadný disk vyměnit.

Tohle řešení je dobré, ale stejně není neprůstřelné. Může se stát že Vám odejdou dva disky zároveň a celé je to k ničemu, proto je dobré ještě tyhle data přes gigabitovou síť v reálném čase replikovat na další pole v jiném serveru. Při dnešní ceně disků je to již celkem zanedbatelná investice. Vše umí řesit projekt drdb a implementace není složitá.

Došlo k výpadku celého hlavního pole, co teď ?

Tohle už záleží na tom jak máte postaven systém celého webhostingu. Můžete například celé pole přes NFS připojit do produkčního serveru a výpadek bude v řádu minut. Nebo zajedete do serverovny, prohodíte fyzicky disky a výpadek bude tak hodinu.

2 Comments | Tags: Hosting a housing

4 September 2007 - 1:21Problémy s výkonem při provozu serveru.

Nainstalovat a spravovat linuxový server zvládne každé béčko, kvalita administrátora se ukáže až ve chvíli kdy přijdou problémy s výkonem neb případnými výpadky. Obecně lze každý tento problém řešit dvěmi cestami :

Cesta první, na první pohled jednodušší = Peníze.
Nestíhá Vám server, no co koupíte nový, přemigrujete data a můžete se vrátit ke své oblíbené činnosti.Ano, momentální problém to pravděpodobně vyřeší. Pokud ale budete po šéfovi chtít peníze na nový server každé dva měsíce, tak Vás asi brzo vykopne.

Cesta druhá, složitější = Optimalizace
Jako první je potřeba zjistit, kde je problém. Modelová situace, máte webový server na kterém beží následující služby :
apache 2.x, php5.2.x, mysql5.x, mailserver s uživateli v mysql,ftp s ssl.

Přehled otevřených portů

21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop3
143/tcp open imap
993/tcp open imaps
995/tcp open pop3s
3306/tcp open mysql

Všechny data jsou uložena na sw raid1 poli, postaveném ze dvou 250gb sata disků wd-re.
Uživatelé si stežují že jim některé weby jedou pomalu, hlavně ty co používají mysql.

Vyhledejte co dělá problémy,
1 – zkontrolujte jestli Vám jeden disk nevypadl z pole
2 – zapněte logování špatně napsaných dotazů v my.cnf
3 – v apache2.conf zapněte server-status a kontrolujte requesty
4 – přes iostat -x 1 monitorujte stav disků
5 – zkontrolujte výkyvy v návštěvnosti webů, umístěných na serveru.
Co může zbůsobit takovýhle náhlý pokles výkonu ?

Například jedno phpbb fórum v defaultní instalaci bez antispamové ochrany.

Pokud jste na nic nepřišli aplikujte první cestu, kupte nové disky(nebo nový server, to je na Vás.) a přesuňte na ně mysql databáze.

No Comments | Tags: Hosting a housing, How to

20 August 2007 - 15:03Jak smazat frontu v postfixu a qmailu

Postfix – celá fronta

 postsuper -d ALL

Postfix – vybranou část podle odesílatele či příjemce

#!/bin/bash

# $7=odesilatel, $8=prijemce

mailq | tail +2 | grep -v ‘^ *(’ | awk ‘BEGIN { RS = “” }
{ if ($7 == “user@example.com”) print $1 } ‘ | tr -d ‘*!’ | postsuper -d

Pro qmail použijte projekt QmHandle

Qmail – smazat celou frontu

./qmHandle -D

Qmail - smazat jen část fronty podle předmětu

 ./qmHandle -S text predmetu

No Comments | Tags: How to

2 August 2007 - 9:37Otestovaní POP3 přes TELNET

Dneska ráno jsem potřeboval otestovat mailbox, který se choval jinak při vybírání přes IMAP a
jinak při výběru přes POP3. Na vině byla nakonec quota.

Ve windows spustíte telnet přes Start -> Spustit -> telnet

Otevřeme spojení

 open

Zadejte pop3 server se kterým se chcete spojit i s číslem portu

 bluedot.cz 110

Objeví se hlášení o spojení

+OK dovecot ready

Nyní už můžete zadávat příkazy.
Nejdříve uživatelské jméno a heslo. Po každém zadání Vám POP3 server vrátí buď +OK  nebo nějakou chybu.

USER uzivatelske jmeno
PASS heslo

Nyní jste už v mailboxu (pokud tedy nedošlo k nějaké chybě)

STAT  - odpovědí je počet zpráv a velikost v bytech
LIST - seznam všech emailů
RETR 3 - zobrazí email s pořadovým číslem 3
DELE 3  - smaže email s pořadovým číslem 3
QUIT - ukončí spojení s email serverem.

Další info o pop3 najdete ve wikipedii nebo přímo v RFC1939

No Comments | Tags: How to

30 July 2007 - 15:00Elegantní počítaní přenesených dat (traffic)

U všech serverů se hodí vědět kolik celkem proteklo dat přes kterou síťovou kartu.
K počítání přenesených dat používám vnstat.

V debianu snadno nainstalujete příkazem

apt-get install vnstat

A vytvoříte databázi pro síťovou kartu.

vnstat -u -i eth0

Stačí počkat 5 minut a máte k dipozici první údaje.
Příklad měsíčních přenosů na tomto serveru.

bluedot:~# vnstat -m
eth0

month rx | tx | total
————————+—————+—————
Aug ‘06 33,459 MB | 159,718 MB | 193,177 MB
Sep ‘06 30,545 MB | 128,827 MB | 159,373 MB
Oct ‘06 34,168 MB | 197,330 MB | 231,499 MB
Nov ‘06 31,311 MB | 271,926 MB | 303,237 MB
Dec ‘06 31,921 MB | 291,091 MB | 323,013 MB
Jan ‘07 26,313 MB | 198,691 MB | 225,005 MB
Feb ‘07 56,194 MB | 276,093 MB | 332,287 MB
Mar ‘07 32,034 MB | 217,255 MB | 249,289 MB
Apr ‘07 38,956 MB | 243,583 MB | 282,539 MB
May ‘07 39,967 MB | 231,630 MB | 271,598 MB
Jun ‘07 34,139 MB | 189,878 MB | 224,018 MB
Jul ‘07 32,835 MB | 219,557 MB | 252,392 MB
————————+—————+—————
estimated 34,407 MB | 230,071 MB | 264,478 MB

No Comments | Tags: How to

27 July 2007 - 10:45Happy sysadmin day :)

A sysadmin unpacked the server for this website from its box, installed an operating system, patched it for security, made sure the power and air conditioning was working in the server room, monitored it for stability, set up the software, and kept backups in case anything went wrong. All to serve this webpage.

A sysadmin installed the routers, laid the cables, configured the networks, set up the firewalls, and watched and guided the traffic for each hop of the network that runs over copper, fiber optic glass, and even the air itself to bring the Internet to your computer. All to make sure the webpage found its way from the server to your computer.

A sysadmin makes sure your network connection is safe, secure, open, and working.

A sysadmin makes sure your computer is working in a healthy way on a healthy network.

A sysadmin takes backups to guard against disaster both human and otherwise, holds the gates against security threats and crackers, and keeps the printers going no matter how many copies of the tax code someone from Accounting prints out.

A sysadmin worries about spam, viruses, spyware, but also power outages, fires and floods.

When the email server goes down at 2 AM on a Sunday, your sysadmin is paged, wakes up, and goes to work.

more on  : http://www.sysadminday.com/

No Comments | Tags: Linux

26 July 2007 - 9:01Iptables – zablokování IP adresy

Pro jednoduché a rychlé zabanovaní jedné IPadresy stačí tento příkaz.

iptables -A INPUT -s 11.22.33.44 -j DROP

No Comments | Tags: How to

19 July 2007 - 20:33Inkrementální zálohování

 Jednoduché zálohování které jsem popisoval v minulém článku se hodi jen pro
maximálně 70gb dat(záleží na zatížení serveu v nočních hodinách).

Když potřebujete zálohovat desítky či dokonce stovky gigabytů, tak není možné
všechny data zabalit do jednoho velkého taru a rozsekávání na nějaké kousky je
neefektivní. V těchto situacích je nejlepší inkrementální zálohování (kopírují se
jenom změněné soubory)

Já používám projekt rdiff-backup kde je zálohování i obnova opravdu hračkou.
Na debianu nainstalujete snadno příkazem

apt-get install rdiff-backup

Záloha celého filesystému přes ssh.

rdiff-backup / host.net::/target-dir

Lepší je vynechat některé adresáře jako /proc /dev /sys /tmp ….
V téhle konfigurace se bude zálohovat na disk připojený do /mnt/backup

rdiff-backup –exclude /tmp –exclude /proc –exclude /mnt –exclude /proc –exclude /sys / /mnt/backup

Stejně tak můžete zálohovat přes ssh.

rdiff-backup –exclude /tmp –exclude /proc –exclude /mnt –exclude /proc –exclude /sys / backup@host.net::/mnt/backup

Před každou zálohou mažeme soubory starší dvou týdnů

rdiff-backup –remove-older-than 2W backup@host.net::/mnt/backup

Zálohování již beží :) a pokud si vy nebo nějaký uživatel smaže nějaký soubor, tak
mu ho můžete obnovit.A k dispozici máte změny souboru za posledních 14 dní.
Obnovit můžete jakýkoliv adresář nebo klidně celý filesystém.

rdiff-backup –restore-as-of 1D /mnt/backup/home/example.com /rozbalena_zaloha

Pokud zálohujete přes ssh k obnovení použijte tento příkaz.

rdiff-backup –restore-as-of 1D /mnt/backup/home/example.com host.net::/mnt/backup /rozbalena_zaloha

Pro začátek určitě mrkněte do dokumentace nebo rovnou na příklady

No Comments | Tags: How to

17 July 2007 - 14:54Foto z dovolené – Pohled na tatry ze slovenského ráje

tatry2_small.jpg

No Comments | Tags: Osobní