OpenBSD 4.2

Nová verze OpenBSD - 4.2 vyšla přesně podle plánu v tradičním termínu - 1. listopadu.

27.2.2008 06:00 | Radim Kolář | přečteno 17649×

OpenBSD 4.2

Nové verze přesně podle plánu

Nové verze OpenBSD vycházejí vždy dvakrát do roka: prvního listopadu a prvního května. Release vycházejí téměř vždy v termínu, zpoždění jsou velmi zřídkavá, jak se ostatně můžete přesvědčit na stránce kde se prodávají OpenBSD CD. Tento způsob vydávání nových verzí (t.j. dvakrát ročně podle předem avizovaného plánu) se stal dnes již v Open Source komunitě de-facto standardem. U desktop distribucí je rychlé vydávání verzí fajn, uživatelé mají rádi novinky, ale u server distribucí, ke kterým počítám OpenBSD, je lepší delší životní cyklus jednotlivých verzí.

Aktualizace systému

Nejprve bych se rád přiznal, že upgrady OpenBSD dělám jen ve velmi vyjímečných případech. Pro běžné použití nejsou zapotřebí, protože nainstalovaná verze postačuje po celou dobu životnosti daného embedded zařízení. Doposud se mi nestalo, abych musel aktualizovat nainstalované OpenBSD z důvodů nedostatečné stability s vyjímkou programu OSPFd, který má ještě pár bugů. Na routerech dělám z časových důvodů aktualizace pomocí uložení konfigurace a následné reinstalace.

Je pravda, že nikde nepoužívám OpenBSD na serveru, tam bych jej pravděpodobně čas od času aktualizoval v tomto článku popsaným postupem, ale rozhodně bych přeskakoval jednotlivé verze, protože jednotlivé verze vycházejí pro typické serverové nasazení příliš rychle za sebou.

Bugfixy a to dokonce i bezpečnostní pro jednotlivé verze včetně nejnovější 4.2 sice existují, ale stack overflow exploity díky bezpečnostním mechanizmům OpenBSD stejně běžně nefungují a aktualizace jsou navíc dostupné jen ve formě zdrojových patchů a když k tomu připočteme fakt, že počet exploitů na OpenBSD ''in the wild'' limituje k nule, tak už je jasné, proč je provádění bezpečnostních aktualizací je v OpenBSD komunitě spíše vyjímkou než pravidlem. Pokud hledáte systém, který po nainstalování vyžaduje z jakýchkoliv důvodů minimální údržbu, lze OpenBSD jen doporučit.

Aktualizace z OpenBSD 4.1

V recenzích čehokoliv bývá obvykle popsána instalace produktu, jelikož jsem něco napsal o instalaci již ve svém minulém článku o OpenBSD, u kterého navíc v komentářích najdete odkaz na flashový záznam instalace OpenBSD 4.0, rozhodl jsem se popsat aktualizaci.

Aktualizace je u OpenBSD poměrně nešikovný proces, aktualizační nástroje jsou primitivní a je potřeba na dnešní poměry k tomuto účelu vynaložit nadstandardní množství administátorovi práce. V budoucnu se situace zlepší, byly zahájeny práce portaci utility mergemaster z FreeBSD. Doporučený postup aktualizace je nabootovat z distribučního média, což dost znesnaďňuje aktualizaci vzdáleného systému. Současný aktualizační proces je nejslabší stránkou projektu.

Naštěstí projekt OpenBSD vydává ke každé verzi nejenom podrobnou instalační dokumentaci, ale i dokumentaci aktualizační, která nás podrobněji upozorní na možná úskalí.

První část aktualizace se skládá z nabootování z distribučního média, kde v instalačním programu zvolíme volbu Upgrade místo volby Install. Instalační program přepíše staré binárky a kernel novými, ale konfiguraci nechá být. Protože změny mezi jednotlivými verzemi nejsou velké, většina služeb vám po rebootu systému naběhne a se systémem půjde pracovat. Mne kupříkladu nenaběhl OpenBGPd.

Druhá fáze aktualizace je náročná na čas administrátora. Je potřeba rozbalit archív etc42.tgz do dočasného adresáře a porovnat nové konfigurační soubory s těmi starými. Pokud si prostudujete výše uvedený popis aktualizace, zjistíte že soubory v /etc se dělí z hlediska aktualizace OS do několika kategorií.

Soubory v první kategorii jsou měněny administrátorem jen velmi zřídka a proto je možné bez rizika přepsat starou konfiguraci novou. Soubory v druhé kategorii bývají sice povětšinou po instalaci administrátorem modifikovány, ale změny mezi jednotlivými verzemi OpenBSD nejsou zas takové aby bylo potřeba jejich ruční sloučení. Pro tyto účely je dodáván patch, který se doporučuje aplikovat a pak ručně vyřešit případné konflikty. Poslední kategorií jsou soubory náležící k programům, kde došlo v této verzi OpenBSD k významným změnám a je potřeba ruční aktualizace. V mém případě do této kategorie patřil OpenBGPd.

Novinky OpenBSD 4.2

Nejvýznamější změnou v OpenBSD 4.2 jsou nové drivery. V každé verzi OpenBSD přibývaly nové drivery ale v 4.2 je 22 nových driverů. Nejvíce potěší drivery pro SATA řadiče a 10Gbit ethernet. Druhou významnou změnou je podpora pro velké filesystémy. 64-bitový filesystém UFS2 byl portnut z FreeBSD (ačkoliv default je pořád UFS1), podpora SCSI disků s více než 2^32 sektory a maximální použitelná velikost partition se zvýšila na 2 TB.

Další významnou změnou je optimalizace síťového subsystému a firewallu pf, což se projevuje v 30-100 procentním zvýšení propustnosti. Další významnou změnou je optimalizace context switchů, projevující se znatelným nárůstem výkonu (až 20 procent) zejména na slabších strojích.

Pravidelné aktualizace se dočkal i OpenSSH nyní ve verzi 4.7. Přibyl nový MAC alogirtmus UMAC-64 (RFC4418), konečně byla zrušena defaultní podpora ssh protokolu verze 1 a bylo zoptimalizováno počítání heší u jednotlivých paketů. Kromě přidání nového MAC algoritmu se tedy žádná významnější změna nekonala, neboť z většiny distribucí OpenSSH byla verze 1 ssh protokolu kvůli bezpečnostním problémům již dávno odstraněna.

Důležité změny se dotkly BGP a OSPF routovacích démonů. Do OSPFd přibyla podpora pro CARP (jedná se VRPP v BSD stylu) a podpora pro RFC 3137. BGP routovací démon nyní umí 4bajtové AS, což je v dnešním světě BGP jednak horká novinka, jednak důvod k proklínání RIPE (4 bajtové AS se totiž zapisují v syntaxi číslo1.číslo2, což rozbije pracně sestavené regexp policy filtry) a jednak již nutnost, protože 2bajtový AS prostor se již blíží ke konci své životnosti. 4bajtové AS umí z open source BGP softwaru také Quagga, pro XORP je podpora 4bajtových AS také hotova, ale není ještě důkladně otestována a commitnuta. Routovací software Quagga se stal nedávno součástí Open Solarisu.

Další velmi významnou změnou u routovacích démonů je možnost znovunačtení konfigurace po kill -HUP. Ačkoliv to vypadá jako nevýznamná změna, BGP daemonu to velmi pomůže protože restart BGP daemona vedl v naprosté většině případů k route flap (BGP jede přes TCP) a tím pádem k nežádoucímu network downtime. U OSPF protokolu způsoboval restart daemona menší problémy neboť OSPF protokol nepoužívá TCP protokol ale posílá IP packety přímo. Ty jsou sice bezestavové, ale OSPF daemon před killnutím poctivě oznamoval událost 1WAY link down. Odstřel OSPFd pomocí kill -9 byl nutností abychom se vyhnuli route flap v rozsáhlejších sítích. Nyní je to už historie, protože již stačí pouhé ospfctl reload. Naneštěstí u OpenBGPd v některých případech bgpctl reload pořád ještě nestačí a je potřeba restart.

Co najdete v OpenBSD 4.2

Malá ukázka toho, co obsahuje základní systém OpenBSD 4.2: OpenBGPD 4.2, OpenNTPD 4.2, OpenOSPFD 4.2, Hoststated 4.2 (load balancing software), OpenSSH 4.7, Xenocara (based on X.Org 7.2 + patches, freetype 2.2.1, fontconfig 2.4.2, expat 2.0.0, Mesa 6.5.2, xterm 225 and more), Gcc 2.95.3 (+ patches) and 3.3.5 (+ patches), Perl 5.8.8 (+ patches), improved and secured version of Apache 1.3, with SSL/TLS and DSO support, OpenSSL 0.9.7j (+ patches), Groff 1.15, Sendmail 8.14.1 with libmilter, Bind 9.3.4 (+ patches), Lynx 2.8.5rel.4 with HTTPS and IPv6 support (+ patches), Sudo 1.6.9p4, Ncurses 5.2, Latest KAME IPv6, Heimdal 0.7.2 (+ patches), Arla 0.35.7, Binutils 2.15 (+ patches), Gdb 6.3 (+ patches). Pokud se jedná o porty, tam najdete Gnome 2.18, GNUstep 1.14, KDE 3.5.7 and koffice 1.6.3, Xfce 4.4.1, OpenMotif 2.3.0, OpenOffice.org 2.2.1, Mozilla Firefox 2.0.0.6, PostgreSQL 8.2.4, GHC 6.6.1 (amd64 and i386 only).

Popularita OpenBSD.Com

Jedním z ukazatelů, který vypovídá o popularitě jednotlivých OS či distribucí, je Alexa traffic rank jejich homepages. Toto hodnocení závisí na denním počtu pageviews a počtu unikátních IP adres návštěvníků. Alexa traffic rank má sice mnoho odpůrců, ale je to víceméně jediná objektivní metoda, jak porovnávat návštěvnost pokud nemáte přístup k detailnějším přístupovým statistikám jednotlivých web serverů.

Dost mne překvapilo, že Alexa rank OpenBSD je víceméně shodný s Alexa rankem OpenSolaris. To dost o popularitě OpenBSD dost vypovídá, protože se bez reklamních kampaní dokázalo vyrovnat poměrně dost Sunem propagovanému OpenSolarisu.

Porovnání OpenBSD s dalšímy projekty ponechám již na fantazii čtenáře, sám jsem s pomocí Alexy porovnával jednotlivé distribuce i mezi sebou a poměrně mne překvapilo že v trojce: FreeBSD vs Gentoo vs Fedora vyhrálo FreeBSD.

User friendly BSD

Ačkoliv se to na první pohled nezdá, OpenBSD je velmi uživatelsky přívětivý systém. Snadno se konfiguruje, obsahuje dobrou dokumentaci, má věrnou uživatelskou komunitu a dá se jednoduše použít out-of-box pro mnoho účelů. Např. VPN, firewall, traffic shaper, router, spam filter, OSPF/BGP router, load balancer, NFS server, AFS klient apod. s nutnostní minimální konfigurace. OpenBSD je zaměřené hlavně na bezpečnost, čistotu kódu a funkce potřebné pro router/firewall.

Když srovnáme například FreeBSD a OpenBSD tak FreeBSD má lepší škálovatelnost, výkon a podporu SMP, více portů a mnohonásobně více uživatelů. OpenBSD má naproti tomu lepší userland, bezpečnost, routování (umí multipath routing) a out of box funkcionalitu. Ačkoliv OpenBSD komunita není ze zásady proti rychlostním optimalizacím, výkon se nedává v seznamu priorit na první místo jako ve FreeBSD. Musíme mít ty performance grafy lepší než Linux. Pokud OpenBSD běhá dostatečně rychle pro splnění daného úkolu, tak spokojený uživatel neřeší zda jsou ostatní systémy rychlejší či ne.

V uživatelské komunitě OpenBSD panuje spokojenost a spokojený uživatel nemá ke změně OS důvod. OpenBSD je pravděpodobě nejnávykovější z BSD systémů a pokud si ho oblíbíte tak už u něj zůstanete.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1519