Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Plným názvem Andrew File System vznikl na známé americké univerzitě Carnegie Mellone jako součást projektu Andrew. Tento projekt měl za úkol vybudovat IT infrastrukturu univerzity (typicky správa softwaru, konfigurace serverů, jednotné prostředí uživatelům, správa účtů, ...). Pro potřeby projektu byl navržen nový souborový systém – AFS.
Původně se používala implementace od firmy Transarc Corporation (založena roku 1989 lidmi z CMU za účelem komercializace AFS), kterou roku 1994 koupila IBM a vytvořila z ní IBM Pittsburgh Lab. IBM se dále pokoušela prodávat AFS jako součást DCE/DFS (Distributed Computing Environment / Distributed File System), avšak v roce 2000 uvolnila zdrojové kódy v podobě projektu OpenAFS. Dále udržovala komerční variantu DCE/DFS, která se ale od roku 2005 již nevyvíjí. Mezitím se okolo OpenAFS vytvořila velmi silná komunita, která převážně vzešla z uživatelů Transarc AFS. Nyní se velmi intenzivně pracuje na rozšíření standardů, vylepšuje se kód a přidávají nové funkce.
OpenAFS je jednou z implementací AFS standardu, přesto se dnes často tyto pojmy zaměňují, protože v produkčních prostředích se používá výhradně OpenAFS. Existují další síťové souborové systémy, které jsou blízké AFS, jsou jimi Coda, InterMezzo, jehož vývoj přešel do projektu Lustre, nebo Arla. Žádný z nich ale nemá tak silnou vývojářskou základnu a širokou podporu operačních systémů jako OpenAFS.
AFS je postaveno na komunikaci protokolem UDP a má rezervovány porty
7000-7009, další porty pro nové služby přibývají. AFS podporuje prozatím
pouze protokol IPv4. Na obrázku je uvedena ukázková buňka foo.bar
a základní zjednodušené schéma komunikace mezi jednotlivými komponentami
infrastruktury pro AFS.
Strana klienta je relativně jednoduchá. Klient má lokální cache, nejčastěji na disku a komunikuje s AFS servery. K AFS je možné přistupovat bez ověření, ale vhodnější je autentizovat a vytvořit si tzv. AFS token. V Linuxu se vytvoří na základě ověření vůči KDC, které je uloženo v tzv. KRB tiketu. Pro uživatele lze nastavit tyto operace automaticky přes PAM moduly. Je zde jedno omezení, disková cache si neumí poradit s každým souborovým systémem, nejčastěji je doporučováno použít ext2/ext3 na samostatné partition nebo přepnout cache mechanismus do paměti.
Servery se skládají z několika samostatných procesů, které komunikují jak mezi sebou tak s klientem. To umožňuje vysokou škálovatelnost AFS. Základní schéma je však typické pro všechny – vždy na ně dohlíží BosServer, který je také ovládá. Servery lze rozdělit do několika skupin: databázové, jež se starají o některou z databází, souborové, které spravují data a na ostatní jako jsou zálohovací.
Každý ze serverů (DB Server, FS Server, ale i KDC Server) může být provozován na různém fyzickém stroji i různém operačním systému. Databázové servery se provozují nejčastěji ve trojici, vždy ale v lichém počtu. Počty ostatních serverů rostou s vaší potřebou.
V úvodním dílu nelze popsat a vysvětlit úplně vše do detailu. Přesto se pokusím stručně popsat základní pojmy, které se budou používat nejčastěji a objevují se také v obrázku.
/vicepX
. Pro opravy volumů se používá proces Salvager, což
lze chápat jako obdobu fsck
. Pokud je potřeba provést nějakou
administrativní operaci s volumem, postará se o to proces VolServer. Informace
o volumech jsou uchovávány v databázi o kterou se stará proces VlServer
na DB serverech.
foo.bar
s názvem buňky foo.bar
.
foo.bar
tak bude Kerberos realm FOO.BAR
.
Tak jako u AFS buňky si tímto jménem jednoznačně identifikujete prostředí
pro autentizaci.
afsadmin@FOO.BAR
. Ve skutečnosti je
daleko univerzálnější a lze do něj schovat identitu služby na stroji.
O detailech principalu a autentizaci protokolem Kerberos si můžete
přečíst v článku
Kerberos: přihlašování snadno a rychle
kinit
.
aklog
se propojí identita ve vašem
Kerberos realmu a AFS buňce. Uživatelé a skupiny v AFS jsou spravovány procesem
PtServer.
V úvodním článku o AFS nebudeme zabíhat do podrobností. A tak jen přehledově ty nejzásadnější rysy tohoto zajímavého, ale málo známého síťového souborového systému.
Nejmarkantnější výhodou oproti jiným souborovým systémům je rozsah administrátorských možností a správa celého systému.
AFS umožňuje mít data na několika serverech s několika úložnými zařízeními, dnes nejčastěji ve formě diskových polí. To umožňuje nejen velkou škálovatelnost, ale i ochranu proti výpadkům. Můžete mít více replik na různých serverech, v případě výpadku vámi používaného serveru se AFS klient automaticky obrátí na další nejbližší kopii dat, která požadujete. Co se týká škálovatelnosti, není problém do systému kdykoliv přidat další server nebo další úložné zařízení. Existuje také možnost, propojení jednotlivých buněk a realmů (tzv. cross realm), že můžete vzájemně mezi sebou spolupracovat a nepotřebujete k tomu další účet, použije se pověření z vaší buňky.
Adresářová struktura používá
jednotný jmenný prostor odvozený od DNS domén, to mu umožňuje být
nezávislý na umístění serverů i klienta. AFS je postavené tak, aby
jste mohli svým klientem nejen přistupovat ke svým datům ve své buňce,
ale k datům všech buňek na celém světě, pokud vám to nezakáží oprávněními.
Váš klient může být kdekoliv, přesto se dokáže připojit ke svému domovskému
prostoru, ale i k ostatním AFS buňkám a jejich datům. Jakmile nastartujete
klienta, bude vám celý AFS svět ležet v adresáři /afs
a nemusíte
provádět žádné jiné administrátorské zásahy, jako je například mount
.
Cache u klienta umožňuje překlenout krátké výpadky a výrazně zlepšit odezvy při práci se souborovým systémem. AFS je velmi dobře škálovatelné a je odolné vůči výpadkům konektivity mezi lokalitami. To je zajištěno možností násobné redundance databázových serverů a replikací dat. K dispozici jsou vícenásobné read-only repliky (kopie). Samozřejmostí je široká podpora různých platforem (Linux, MacOS X, Windows, IRIX, AIX, Sun, ...) pro klientskou i serverovou část AFS.
Ne vše, co je v této kapitole uvedeno, je přímo nevýhoda. AFS je poměrně rozsáhlý souborový systém a podle toho vyžaduje i některé věci, které by mohly odrazovat od jejího nasazení. A z tohoto důvodu jsou zde uvedeny.
Na odstranění většiny níže uvedených nevýhod se pracuje, avšak my se budeme orientovat na stabilní vydání v Debianu, kterou je v době psaní článku verze 1.4.12 pro Lenny nebo 1.4.14 pro Squeeze. Důvod je prostý, tyto verze používám a mohu tak ověřit to, co zde publikuji. Rozdíly v ovládání celého systému OpenAFS jsou minimální a neměly by být ani s příchodem verze 1.6, což by mělo nastat ještě letos (do poloviny roku 2011).
V době, kdy po mnoha letech čekání došly IPv4 adresy, je třeba konstatovat,
že OpenAFS podporu pro IPv6 nemá.
Pro provoz je nutné mít Kerberos a DNS server pro vlastní doménu,
a to i v případě, že si chcete OpenAFS vyzkoušet třeba na notebooku.
AFS používá
vlastní UID, GID a ACL čemuž se nelze divit, když má mít jednotný
jmenný systém. Tato vlastnost je zařazena mezi nevýhody, protože ji musíte
vysvětlovat uživatelům. OpenAFS není dle normy POSIX, protože například
nemá zařízení v /dev/
, které by se dalo připojit. Nepodporuje
hardlinky tak, jak jsou známy z běžných souborových systémů. Používá
šifrování DES a fcrypt, jež jsou dnes překonané. Zatím nemá RW replikaci,
která by se často velmi hodila. Na straně linuxového klienta je potřeba
provést kompilaci kernelového modulu, ale oproti dřívějšku se
podpora v distribucích znatelně zlepšila. Pro Windows existují
předkompilovaní klienti včetně části podpory autentizace vůči Kerberu.
Pokud pomineme důvod mít něco extra, tak je to zvláště důraz na zabezpečení přístupu a ochraně dat uložených na AFS. Dále tu máme velkou odolnost proti výpadkům konektivity i samotných serverů což s možností škálovatelnosti (přidávání dalších serveru či diskových prostorů) což jej dělá opravdu silným. A jako správci oceníte výbornou dokumentaci a hlavně celou správu souborového systému, jíž se budeme věnovat ve většině dílů tohoto seriálu.
Když jsem s AFS začínal jako uživatel, přirovnával jsem jej k NFS, pro uživatele opravdu vypadá podobně a dělá to co by očekával – poskytuje diskový prostor přes síť. Toto srovnání, ale okamžitě padlo po tom, co jsem pronikl do AFS jako jeho správce. Při porovnání s NFS nebo CIFS vám dává AFS možnosti (přesun dat, zálohování, nastavení práv, rozložení zátěže, replikace dat, ...), které lze aplikovat za běhu systému bez toho, abyste ovlivnili přístup uživatelů k datům.
Pokud o AFS uvažujete, měli byste si pomalu připravit svoji infrastrukturu.
Rozhodně budete potřebovat Kerbera (na implementaci nezáleží). Pro svoji
doménu musíte mít také DNS server, pouhý /etc/hosts
nestačí.
Všechny servery i klienti musí mít synchronizovaný čas, ten se nesmí
rozejít o více než 5 min. Ideální je použít nějaký NTP server.
Instalace OpenAFS včetně Kerberos serveru není zcela jednoduchá. Každá distribuce na to má svůj návod nebo skript, který vám rozchození usnadní. Na základě znalosti základních pojmů a návodu z distribuce by se vám mělo podařit nainstalovat Kerberos server i OpenAFS servery. Případná kompilace OpenAFS klient se proti tomu bude jevit jako hračka.
Proto příští díl bude čistě praktický a pouze o instalaci celé infrastruktury OpenAFS. Ačkoliv z výše uvedeného popisu se může zdát, že zprovoznit cukrovar*) oproti AFS je legrace, zvládneme v příštím díle základní instalaci AFS během jedné hodiny. Nainstalované OpenAFS využijeme v dalších dílech, kde se jej budeme učit spravovat, provozovat a používat.
*) Pojem cukrovar se na ZČU vžil při oživování a seznamování se s portálovými technologiemi jako přirovnání složitosti výroby tak jednoduché a běžné komodity.
Velmi děkuji Radoslavu Bodó (známý též jako Bodík), který mi poskytl k seriálu cenné rady, provedl technickou recenzi dílů, nakreslil úžasné obrázky a donutil mě zlidštit text.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Výborný článek. Kdysi jsem chtěl v jedné firmě AFS použít, ale složitost mě nakonec odradila a použil jsem Gluster. Až se do toho zase někde budu chtít pustit, tak to určitě díky těmto článkům půjde.
Já už fakt nevím, co bych poradil :-/
Parametry samby ani síťovek nijak neladím. Samba je v základním nastavení CentOS 5 (exportuje home adresáře).
Síťovka na serveru (CentOS 5.6): RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
Na klientovi Windows 7 Ultimate 64b (desktop): Intel(R) PRO/1000 PT Desktop Adapter
Klient Windows 7 Professional 64b (notebook): Intel(R) 82567LF Gigabit Network Connection
Rychlosti: pokud to má klient v cache v paměti, jsou kolem 100MB/s. Jinak to pochopitelně brzdí disk.
Síťový switch mám udělaný v Mikrotik RouterBoard 450G ze 4 portů. S některými horšími přepínači jsem sice zaznamenal problémy, ale nikdy ne propad na 10% výkonu.
Jediný problém jsem zaznamenal do blogu Pomalá síť po výměně základní desky. K tomu jen dodán tolik, že teď ten stroj má 12GB RAM a rychlost je stále OK. S 4GB RAM to jelo nevysvětlitelně pomalu, po přidání paměti je to ok.
Všechny servery i klienti musí mít synchronizovaný čas, ten se nesmí rozejít o více než 5 min. Ideální je použít nějaký NTP server.Není to spíš požadavek Kerbera, než samotného OpenAFS?
OpenAFS není dle normy POSIX, protože například nemá zařízení v /dev/, které by se dalo připojit.Nejsem si jistý, že by souborové systémy musely mít vlastní zařízení v
/dev
, i když takové dd if=/dev/ext3 of=/dev/sda1
namísto mkfs
má jistou eleganci Ohledně POSIXu bylo myšleno tak, že ovladač AFS (kernelový modul) by měl vytvořit /dev zařízení (stejně jako to dělají ovladače pro disky).Jasně, chyba byla na mé straně přijímače - děkuji za vysvětlení.
cat soubor | pv > /dev/null
, pokusil jsem se vzít velký soubor (1GB) o kterém jsem věděl, že není v cache. Záleží samozřejmě na chování uživatele a s jakými daty pracuje, takže generálně to říct nelze, je to zkrátka cache.