O Debianu
Debian GNU/Linux je svobodná a volně šiřitelná linuxová distribuce, která je
vyvíjena dobrovolníky po celém světě. Za Debianem nestojí žádná komerční
firma; vývojáři jsou vázáni společenskou smlouvou, která svobodu distribuce
zajišťuje i pro budoucnost.
Více o nedávno vydané verzi Sarge si můžete přečíst v už vydaném
článku.
Debian Sarge byl oficiálně vydán pro jedenáct architektur, AMD64 mezi nimi
bohužel chybí. Minimálně rok zpět byl repositář s balíčky pro AMD64 na stroji
Alioth, už tato verze byla poměrně použitelná a funkčnost se stále zlepšovala. Bohužel kvůli
dost zpožděnému vydání nové stabilní verze Debianu bylo ovšem jeho začlenění
do větve stable odloženo a není jisté, jestli se ve verzi 3.1 (Sarge) vůbec
objeví. Nicméně příští verze (codename Etch) by oficiální port pro
architekturu AMD64 obsahovat měla.
Neoficiální port lze už delší dobu stáhnout z amd64.debian.net a zhruba týden po
oznámení, že Sarge se stal novou stabilní verzí, byla neoficiální větev AMD64
označena jako stable také. Obsahuje podobně jako svůj oficiální protějšek
téměř patnáct a půl tisíce balíčků jenom s tím rozdílem, že některé problémové
byly odstraněny.
Bezpečnost portu AMD64 bylo v plánu udržovat rovnou díky security.debian.org, což se také ve
středu 3. srpna stalo (oznámení
ve vývojářské konferenci). Staré bezpečnostní opravy byly
nakumulovány do jednoho velkého
DSA;
nová oznámení se už budou vztahovat i na AMD64. 11.
srpna byla podpora security týmem Debianu oznámena
oficiálně.
Zkušenosti z instalace
Cíl snažení s každou distribucí bude poměrně jednoduchý – co nejsnadněji
nainstalovat systém na SATA disky, které se budou zrcadlit v poli RAID 1. Ve
stejném poli bude kromě systémového ještě jeden oddíl, který se bude rovněž
zrcadlit a kde bude LVM s několika systémovými svazky. Protože nás zajímá serverová instalace, bude nutné nakonfigurovat síť a
nainstalovat pár základních služeb (DNS, web, SQL databáze, MTA, ftp a třeba verzovací
systém). Pokaždé nelze očekávat luxus myši nebo pořádného monitoru, takže bude výhodná textová
instalace ekvivalentní grafické.
Teď už ale zpět k vlastní instalaci Debianu. Systém jsem instaloval pomocí
síťové instalace – stačí stáhnout pouze cca 130 MB obraz CD, na kterém
je kromě jádra základní systém. Další balíčky se už podle potřeby stahují z
Internetu.
Sarge má na rozdíl od starého Woodyho nový instalátor, který umožňuje poměrně
pohodlnou instalaci. Není dostupný přímo v grafické podobě (v XFree nebo
X.org), ale běží ve framebufferu a je vzhledem podobný ncurses.
Instalátor samotný je poměrně mocný, kromě základního nastavení zobrazování,
klávesnice a sítě dokáže poměrně sofistikovaně rozdělit disk – na
vytvořených oddílech můžou být vytvořeny různé souborové systémy (ext3,
ReiserFS, XFS a další) a přímo v nástroji na dělení disku je možné vytvořit RAID a na
něm klidně LVM.
Bohužel se mi nepovedlo přimět LILO ani GRUB (který je mimochodem výchozí
bootloader, proto aby se nenainstaloval musí buďto něco v instalačním procesu
selhat, nebo je nutné před instalací zavaděče vybrat volbu "jít zpět",
případně zvolit expertní instalaci) k tomu, aby byly schopné zavést systém s
root oddílem na souborovém systémemu XFS. Proto jsem z jednoho ze swapových oddílů
udělal dočasně root s filesystémem EXT3 a po nastartování systém
"přelil" na oddíl s XFS.
Při této příležitosti se hodí poznamenat, že pokud při tomto přesunu (mimo
samotného zavaděče – zvolil jsem LILO – je nutné zpravidla upravit
initrd jádra atp.) uděláte jedinou chybu, budete muset opět bootovat ze
servisního oddílu vytvořeného instalací. Knoppix sice nastartuje bez problémů, ale chroot do
64bitového prostředí neproběhne úplně – není možné spouštět programy na
disku. Protože jsem navíc nainstaloval systém pomocí síťové instalace, neměl
jsem po ruce 64bitový rescue režim.
Po úspěšném nainstalování systému je další konfigurace poměrně jednoduchá.
Zmíním pouze nastavení zdrojů pro apt
, které jsou definovány v souboru
/etc/apt/sources.list
:
#deb file:///cdrom/ sarge main
deb http://ftp.de.debian.org/debian-amd64/debian/ stable main contrib non-free
#deb-src http://ftp.de.debian.org/debian-amd64/debian/ stable main contrib non-free
deb http://security.debian.org/ sarge/updates main contrib non-free
V případě, že jste nainstalovali verzi 3.1r0, opravte chybu v repositáři pro
bezpečností opravy – místo testing
by mělo být
sarge
, případně stable
. Protože byla oficiálně
podpora pro záplaty přidána nedávno, může také řádek v příkladu uvedený jako poslední chybět úplně.
Instalace programů už je snadná, defaultním programem pro správu balíčků je
aptitude
. U všech nainstalovaných služeb byla funkční výchozí
konfigurace; konfigurační soubory byly bohatě okomentované. Za celou dobu jsem
narazil jenom na dvě nepříjemnosti – nepochopitelně striktní nastavení
přístupových práv na adresář /tmp
(který je pro většinu služeb
klíčový) a speciální soubor /dev/null
(díky čemuž neproběhla
správně konfigurace PostgreSQL; zasekla se na polovině a musela být po
nastavení práv pro zápis dokončena).
Verze vybraného software
- jádro – jemně upravený kernel 2.4.27 a 2.6.8
- DNS – BIND 9.2.4, djbdns 1.05
- webserver – Apache 1.3.33 a 2.0.54; (PHP 3.0.18 a 4.3.10)
- SQL databáze – MySQL 4.0.24 a 4.1.11a, PostgreSQL 7.4.7
- MTA – Postfix 2.1.5, Exim 4.50, qmail 1.03(-38), Sendmail 8.13.4,
courier 0.47; (spamassaassin 3.0.3)
- FTP – vsFTPd 2.0.3, ProFTPd 1.2.10
- SCM – CVS 1.12.9, Subversion 1.1.4, RCS 5.7
- ostatní – GCC 3.3.5, 2.95.4 a 2.7.2.3; glibc 2.3.2.ds1
Testy výkonnosti
Na závěr jsem provedl několik malých testů výkonosti. Vše bylo samozřejmě provedeno na
distribuci Debian. Používaný software byl až na výjimky použit přímo z balíčků
distribuce. Úvodem se také hodí poznamenat, že aplikace, které neběží ve více
vláknech, těžko využijí více procesorů.
Při kompilování jádra jsem jednak ověřil rychlost a jednak zjistil, že
zkompilovat plné distribuční jádro Debianu na vyšších verzích není žádný med,
proto jsem v konfiguraci vypnul pouze několik zbytečností a stačilo mi, že
kernel šel bez závažných problémů přeložit.
# rozbalení zdrojových kódů
time tar xjf linux-2.6.12.4.tar.bz2
real 0m19.132s
user 0m15.129s
sys 0m1.859s
# komprimace souboru obsahující samé nuly s velikosti 512 MB
time bzip2
real 0m20.134s
user 0m19.606s
sys 0m0.511s
Při překladu jádra je potřeba nastavit nástroji make
pomocí přepínače
-j
počet
úkolů, které poběží současně. Pokud kompilujete jádro dle "The Debian
way" (tedy do balíčku), máte situaci trochu jinou –
make-kpkg
nepodporuje parametr -j
, ale přímo v
dokumentaci je popsáno, jak docílit stejného chování pomocí proměnné shellu.
Verze jádra byla tedy 2.6.12.3 (všechny testy proběhli na tomto jádře) a .config
jádra je dost veliký, protože vychází z defaultních voleb distribučního
kernelu Debianu.
Postupným testováním jsem došel k tomu, co se obecně tvrdí – ideální
počet simultánních operací je o jedničku vyšší než počet procesorů.
time CONCURRENCY_LEVEL="1" make-kpkg --revision benchmark.1 kernel_image
real 11m41.737s
user 10m7.672s
sys 1m29.146s
time CONCURRENCY_LEVEL="2" make-kpkg --revision benchmark.1 kernel_image
real 10m9.855s
user 10m39.580s
sys 1m58.895s
time CONCURRENCY_LEVEL="3" make-kpkg --revision benchmark.1 kernel_image
real 6m44.168s
user 10m45.377s
sys 2m1.451s
Při vyšším počtu současných úkolů už nedochází k výraznějšímu zlepšení
(jednotky sekund), při nastavení velkého počtu navíc zřejmě kvůli režii
dochází k mírnému zpomalení.
Na nově zkompilovaném jádru jsem spustil syntetický test Opstone Vector
Scalar-Product Benchmark prostřednictvím binárního programu
optimalizovaného pro AMD Opteron (tedy 64-bit a instrukční sady SSE a SSE2),
který měl otestovat výkon operací v plovoucí čárce. Ve 32bitech dosáhl 2,68
Gflops (5,14 špička), v 64bitech 1,31 Gflops (2,37 špička). Hodnoty pro
srovnání můžete najít na výše uvedené adrese, poznamenám jenom, že byl opět
vytěžován pouze jeden procesor.
Rychlost šifrování jsem zkoušel nejprve pomocí program John The Ripper:
john --test
Benchmarking: Standard DES [64/64 BS]... DONE
Many salts: 407993 c/s real, 408789 c/s virtual
Only one salt: 386916 c/s real, 386916 c/s virtual
Benchmarking: BSDI DES (x725) [64/64 BS]... DONE
Many salts: 14102 c/s real, 14102 c/s virtual
Only one salt: 13966 c/s real, 13966 c/s virtual
Benchmarking: FreeBSD MD5 [32/64]... DONE
Raw: 3600 c/s real, 3604 c/s virtual
Benchmarking: OpenBSD Blowfish (x32) [32/64]... DONE
Raw: 294 c/s real, 294 c/s virtual
Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short: 252030 c/s real, 252030 c/s virtual
Long: 693231 c/s real, 693231 c/s virtual
Benchmarking: NT LM DES [48/64 4K]... DONE
Raw: 2153678 c/s real, 2153678 c/s virtual
A následně pomocí OpenSSL:
openssl speed rsa1024
OpenSSL 0.9.7e 25 Oct 2004
built on: Sat Dec 18 09:38:01 CET 2004
options:bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) aes(partial)
blowfish(ptr2)
compiler: gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H
-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -m64
-DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
sign verify sign/s verify/s
rsa 1024 bits 0.0009s 0.0001s 1128.6 18169.9
Opět je vytěžován pouze jeden procesor, takže pokud test spustíte současně
dvakrát (openssl speed rsa1024 > openssl1.out & openssl speed
rsa1024 > openssl2.out &
), dostanete přibližně dvojnásobný výsledek.
Rychlost I/O prověřil jednak hdparm
(protože testuje pouze lineární čtení, je
potřeba brát výsledek s rezervou) a pak tiobench (výsledek; jako
souborový systém byl použit XFS, který má mimochodem na rozdíl od ostatních souborových systémů podporu pro paralelní zpracování dat,
což se příznivě projevuje na výkonu u víceprocesorových strojů).
Na závěr jsem spustil databázový test DBD z MySQL pro MySQL a
PostgreSQL s výchozím nastavením (výsledek).
Důležité je zmínit, že tento test nelze použít pro srovnání, která
z databází je rychlejší.
Závěr
S Debianem jsem byl spokojený – až na installer vše fungovalo dle mých
představ. Nicméně musím přiznat, že Debian používám už delší dobu, takže mi
některé pro někoho zvláštní věci mohou připadat zcela normální.
Komerční sdělení:
Tento server (skladem, k dodání okamžitě) nabízíme v
našem
Linux Shopu za 55.000 Kč
včetně DPH, s nainstalovaným Linuxem (serverová instalace) za 60.000 Kč. Na
přání jsme schopni postavit prakticky libovolný server s dual-opteronem dle
požadavků – např. ve dražší variantě s SCSI disky, střední variantě s
deskou MSI K8N Master2-FAR (4x SATA, 2x PATA, 2 Gbit síťové karty, 1x PCI
Express x4 slot, 2x PCI Express x16, podpora až pro 12 GB paměti), to vše v 2U
case nebo toweru (hot-swap cage i non hot-swap).
Debian GNU/Linux 3.1 "Sarge" pro AMD64 lze získat v
Linux CD
Shopu.