Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

FreeBSD řady 5

Po více jak čtyřech letech vývoje bude 3. října (October 3rd) konečně uvolněno první RELEASE ze stabilní řady 5. To znamená, že bude konečně doporučeno používat řadu 5 na produkčních strojích. V důsledku některých okolností první stabilní RELEASE nebude 5.0, ale 5.3. To je ovšem důležité snad jen z estetického hlediska, mnohem důležitější jsou novinky a změny v této nové řadě.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

SMPng

FreeBSD řady 4.x řeší podporu více procesorů v systémech SMP velmi jednoduše. Má jeden globální zámek, kterým se jádro při syscallu uzamkne a hotovo. Podpora tímto způsobem je poměrně jednoduchá, má malý overhead a v podstatě vetšinou i postačuje (pokud máte čistě userland concurency, je to imho snad i nejlepší způsob). Ovšem při větším počtu procesorů vyplouvají na povrch zjevné nevýhody tohoto řešení a vaše 16× nadupaná mašina většinu času tráví v čekání na uvolnění tohoto globálního zámku. Proto byla jako další „velký cíl“ pro vývoj vybrána právě podpora víceprocesorových strojů. Dosahuje se jí konvenčně, tj. přes jemné zamykání subsystémů, popř. ještě jemněji. Tato práce ještě pořád není hotová, ovšem 5.3R bude první FreeBSD, které by z ní mělo profitovat (www.freebsd.or­g/smp && www.freebsd.or­g/projects/bus­dma). Mimochodem, ve snaze o zlepšení výkonu byl implementován nový scheduler (SCHED_ULE), který je v mnoha ohledech lepší než tradiční 4BSD (pro linuxáky – ano, je to v podstatě to samé, co máte vy s vaším O(1)).

KSE

Heslem doby je threading (což souvisí s podporou víceprocesorových strojů), a proto se i vývoj v řadě 5 snažil podporu zlepšit. V principu existují tři způsoby, jak rešit threading. Buď jsou thready uplně normální procesy (puristům se omlouvám za znásilňování terminologie) s tím, že v položce struct vm *vm mají uvedenu stejnou adresu (1:1), nebo jsou to jenom jakési funkce v jednom procesu, které nějaký userland scheduler pouští (1:M). Oba tyto přístupy mají své výhody i nevýhody (1:1 – kernel o nich ví, a tak je může pouštět na více procesorech, ale kontext switche jsou drahé a synchronizace taky, 1:M to má přesně naopak). Třetí způsob je kombinací předchozích, v kernelu se vytvoří virtuální procesory (tzv. kernel scheduler entities – KSE), na kterých mohou běžet thready. Tj. kernelový scheduler určuje, kdy poběží které KSE, a uvnitř KSE threadová knihovna (ie. userland scheduler) určuje, který thread poběží. To by teoreticky mělo být ideální řešení. Implementována je ovšem vedle M:N i 1:1 a 1:M knihovna.

RCng

Klasické systémy BSD používaly takzvaný BSD-style init a k němu příslušné rc skripty. Tento systém by se dal v podstatě popsat tak, že máme single-user a multi-user mód initu a rc skripty jsou monolitické. To znamená, že máme /etc/rc, který „nějak“ nastartuje další služby atd. Z toho plynou problémy s přidáváním dalších služeb do systému, popřípadě jejich obsluhou. V NetBSD 1.5 byl zaveden nový systém rc skriptů (init plně vyhovuje). (Ve FreeBSD se mu říká RCng (RC next generation).) Ten se skládá ze základního obslužného /etc/rc, který volá skripty z /etc/rc.d/ (popř. /usr/local/et­c/rc.d). Zde jsou umístěny skripty, které zajišťují určitou činnost, podobně jako v SYSV rc skriptech, ovšem s tím rozdílem, že RCng má závislosti. Tj. je jasné, co spustit před čím, co je nutné restartovat atd. Tím, že jsou skripty separovány, je možné velmi jednoduše přidávat služby do systému. FreeBSD 5.x (5.1R?) tento systém převzalo a dnes se dá říct, že všechna BSD (která nerezignovala na vývoj) RCng používají.

Nové platformy

FreeBSD se tradičně zaměřovalo na platformu i386. V řadě 4.x byla přidána podpora architektury alpha (která snad zajistila čistotu implementace vůči 64bitům). V řadě 5 bylo opět přidáno několik platforem – amd64, arm, ia64, powerpc a sparc64. S podporou těchto nových strojů souvisí i přidání nového překladače gcc – gcc 3.4.x. Je nutné si uvědomit, že freebsd-gcc != gcc a že verze 3.4.x bude v řadě 5 už napořád. S gcc trojkové řady souvisí, že se FreeBSD trošku „polinuxilo“ a mimo tradičně podporovaného CFLAGS=-O je nově podporováno CFLAGS=-O2 (ovšem na produkci bych to nedával).

GEOM

Další novinkou, která stojí za zmínku (minimálně pro svou kontroverznost), je takzvaný GEOM, což je v podstatě objektová implementace přístupu na disky, partitiony, slice atd. Samo o sobě je to docela nanic. Nicméně důsledky tohoto objektového přístupu se projevily např. v systému gbde (transparentní šifrování libovolné geom třídy), ggatel (něco jako iSCSI, mimochodem prý to má až o 30 % vyšší výkon než NFS/SMBFS), popř. ostatních g* utilitách (např. sada gconcat, gmirror, graid3, které velmi jednoduše implementují danou raid třídu). Výhodou je, že všechny tyto prostředky můžete kombinovat! Řekněme, že máte raid0+1, kde jsou šifrovány dva disky (vždy jen jeden disk z mirroru) a ty nešifrované exportujete přes ggatel někam ven. Mimochodem, existuje i třída pro komprimaci, takže je možné dělat i další kouzla (to už se mi ale nechce vymýšlet).

DevFS

Tradiční unixy mají adresář /dev/, ve kterém mají tak něco kolem kvadrilionu různých divných souborů. Mají je tam staticky, takže když jsou nějaká zařízení hotswap atp., máme problém. FreeBSD 5.x to řeší mandatorním devfs, který se o tuto situaci stará (ie. dynamicky vytváří několik položek v /dev). Osobně to považují za velmi dobrou věc a jsem moc rád, že mám možňost to používat.

PF+ALTQ

FreeBSD už od třetihor používá svůj firewall ipfw, popř. importovaného cizince ipf. Ipfw, jakkoliv postačuje na 95 % instalací, přece jen není až tak úplně to nejlepší, o čem si človek nechává v noci zdát. Ipf má zase divnou licenci, bůhvíjaký vývoj a tak vůbec. Ovšem už dlouhou dobu jdou velmi dobré zvěsti o firewallu, který si vytvořilo OpenBSD. PF je doopravdy velmi dobrý firewall (až budete blockovat windowsové mašiny, tak pochopíte) a ve verzi 5.3R bude integrován do základního systému. Integrace sice není na takovém stupni jako u ipfw, ale postačuje. Další věcí z oblasti síťování je integrace altq. Altq je software na queuing (ie. traffic shaping atd.). Osobně mi (na rozdíl od linuxového tc, které jsem nikdy nepochopil a proto(?) mi nefunguje) docela dost dobře běhá a jsem s ním spokojen. A umí toho docela dost.

MAC

Poslední věcí, o které se zmíním, je MAC. To je několik politik, které jsou pomocí labelování objektů a definic pravidel pro dané labely schopny zajistit zajímavou bezpečnostní politiku. Osobně jsem to ovšem nikdy nepoužil.

Dále byla opravena či zlepšena snad každá věc v systému. Podporou novějšího hardwaru počínaje, přes vyčištění kódu a opravení spousty chyb po upgrade důležitých importovaných systémů (bind atp.). Pro detailní popis doporučuji si přečíst release notes, až 5.3 vyjde. Osobně vám tuto novou verzi operačního systému FreeBSD mohu jen doporučit. Jak z hlediska výkonu, tak uživatelské přítulnosti (je to neuvěřitelně čistý systém), dokumentace i podpory. Užívejte ve zdraví

P.S. pokud si stáhnete BETA verze a pomůžete s testováním, bude se vám umírat o něco lehčeji ;)

Školení: Linux – Zálohování, Vysoká dostupnost, SNMP dohled

Na třídenním školení se naučíte nainstalovat a spravovat systém zálohování, replikace dat a vysoké dostupnosti dat. Dále také pracovat s RAID a LVM poli a nainstalovat a spravovat si vlastní dohledový systém.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,92

Přehled názorů

smp + vinum
Frank Tomes 27. 8. 2004 00:11
Nový
└ 
Re: smp + vinum
neologism 27. 8. 2004 11:25
Nový
Par dotazu
Michal Ludvig 27. 8. 2004 00:31
Nový
├ 
Re: Par dotazu
hx 27. 8. 2004 11:16
Nový
│
└ 
Re: Par dotazu
sam 27. 8. 2004 11:52
Nový
└ 
Re: Par dotazu
neologism 27. 8. 2004 11:30
Nový
 
└ 
-O2
Mikulas Patocka 27. 8. 2004 14:33
Nový
 
 
└ 
Re: -O2
neologism 27. 8. 2004 16:09
Nový
 
 
 
├ 
Re: -O2
wilx 28. 8. 2004 03:14
Nový
 
 
 
└ 
Re: -O2
michich 28. 8. 2004 03:17
Nový
No skvěle
Martin Čížek 27. 8. 2004 07:13
Nový
├ 
Re: No skvěle
bln 27. 8. 2004 09:44
Nový
│
└ 
Re: No skvěle
temp 27. 8. 2004 12:36
Nový
│
 
└ 
Re: No skvěle
check 27. 8. 2004 13:41
Nový
│
 
 
└ 
Re: No skvěle
hermik 27. 8. 2004 17:09
Nový
│
 
 
 
└ 
Re: No skvěle
Hustec 28. 8. 2004 12:39
Nový
└ 
Re: No skvěle
Bohumil 28. 8. 2004 19:43
Nový
no ted vazne premyslim o prechodu na FBSD
pat 27. 8. 2004 13:40
Nový
└ 
Re: no ted vazne premyslim o prechodu na FBSD
Petr R. 27. 8. 2004 14:34
Nový
 
└ 
Re: no ted vazne premyslim o prechodu na FBSD
pc 29. 8. 2004 10:42
Nový
Geom by pry mel byt i na Longhornech :P
pat 27. 8. 2004 13:43
Nový
co UFS2?
pc 29. 8. 2004 10:14
Nový
├ 
Re: co UFS2?
neologism 29. 8. 2004 10:41
Nový
│
└ 
Re: co UFS2?
pc 29. 8. 2004 11:17
Nový
└ 
Re: co UFS2?
Mikuláš Patočka 29. 8. 2004 21:35
Nový
 
└ 
Re: co UFS2?
pc 30. 8. 2004 09:11
Nový
 
 
├ 
Re: co UFS2?
neologism 30. 8. 2004 10:01
Nový
 
 
│
└ 
Re: co UFS2?
pc 30. 8. 2004 12:01
Nový
 
 
│
 
├ 
Re: co UFS2?
neologism 30. 8. 2004 13:46
Nový
 
 
│
 
│
└ 
Re: co UFS2?
pc 30. 8. 2004 14:07
Nový
 
 
│
 
│
 
└ 
Re: co UFS2?
neologism 30. 8. 2004 15:57
Nový
 
 
│
 
│
 
 
└ 
Re: co UFS2?
pc 30. 8. 2004 20:18
Nový
 
 
│
 
│
 
 
 
└ 
Re: co UFS2?
neologism 31. 8. 2004 08:48
Nový
 
 
│
 
└ 
Re: co UFS2?
Mikulas Patocka 1. 9. 2004 18:46
Nový
 
 
│
 
 
└ 
Re: co UFS2?
pc 2. 9. 2004 19:02
Nový
 
 
│
 
 
 
└ 
Re: co UFS2?
Mikuláš Patočka 2. 9. 2004 19:20
Nový
 
 
│
 
 
 
 
└ 
Re: co UFS2?
pc 2. 9. 2004 20:17
Nový
 
 
└ 
Re: co UFS2?
Steve 30. 8. 2004 11:07
Nový
 
 
 
└ 
Re: co UFS2?
neologism 30. 8. 2004 15:55
Nový
 
 
 
 
└ 
Re: co UFS2?
Mikulas Patocka 1. 9. 2004 18:48
Nový
 
 
 
 
 
└ 
Re: co UFS2?
neologism 2. 9. 2004 13:36
Nový
 
 
 
 
 
 
├ 
Re: co UFS2?
pc 2. 9. 2004 19:04
Nový
 
 
 
 
 
 
└ 
ATA disky lžou
Mikuláš Patočka 2. 9. 2004 19:12
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem