GNU/Linux >> Znalost Linux >  >> Linux

Distribuovaný, paralelní souborový systém odolný proti chybám

Vlastně si nemyslím, že existuje tolik reálných možností. V pořadí podle preferencí bych si vybral:

  1. Amazon S3. Splňuje všechny vaše požadavky a také vaše volitelné vlastnosti. Má velmi dobrou historii provozuschopnosti a podpory. Není to interní; ale opravdu to není požadavek, který byste mohli obejít, f.x. pomocí VPN přístupu nebo jen starého dobrého HTTPS... S3 by byla opravdu moje první volba, pokud by vám vyhovovala WAN latence a ceny Amazons. A pokud vám cena nevyhovuje, pochybuji, že řešení DYI bude skutečně výrazně levnější...
  2. Zdá se, že MogileFS dokonale vyhovuje vašim požadavkům. Kolem MogileFS není tolik aktivity, ale to je většinou proto, že funguje tak, jak bylo zamýšleno pro jeho (poměrně málo) uživatelů.
  3. Lustre má za sebou opravdu skvělou technologii, je to běžný místní souborový systém POSIX (pokud je to pro vás přínosné) a byl v průběhu let průběžně aktualizován. Velkou otázkou je, zda celá fúze Sun - Oracle ovlivní Lustre. Z dlouhodobého hlediska, pokud Sun zahraje do karet správně, pak mít ZFS a Luster pod jednou střechou by mohlo vést k velmi pěkným věcem... Právě teď si myslím, že Luster se většinou používá v akademických a komerčních iniciativách HPC a ne v internetových aplikacích -- to může být nepravda, ale pokud se Lusteru daří v internetových aplikacích, pak tuto skutečnost určitě nepropagují dobře...

Hadoop Distributed File System (HDFS) by IMHO vašim požadavkům nevyhovoval. HDFS je úžasné, ale jeho přístup podobný bigtable znamená, že je méně dostupný než souborové systémy výše. Samozřejmě, pokud opravdu hledáte masivní škálovatelnost a dlouhodobou perspektivu, pak HDFS může být to pravé – s Yahoo, Facebookem a dalšími investovanými do růstu Hadoopu.

Jedna poznámka, většina výše uvedených systémů zkopíruje celý soubor do 2-3 uzlů, aby bylo dosaženo redundance. To zabírá mnohem více místa než paritní kódování / schémata RAID, ale je to zvládnutelné v měřítku a zdá se, že je to řešení, které všichni přijali. Takže nezískáte 75% účinnost, kterou uvádíte...


Kdybych to byl já, používal bych GlusterFS. Aktuální verze je docela solidní a znám lidi na některých velmi velkých instalacích jak v HPC, tak v internetovém prostoru, kteří na ni ve svých produkčních systémech spoléhají. V zásadě si jej můžete přizpůsobit svým potřebám tím, že rozložíte komponenty tak, jak potřebujete. Na rozdíl od Lustre zde nejsou žádné vyhrazené metadatové servery, takže centrální body selhání jsou minimalizovány a je snazší škálovat nastavení.

Bohužel si nemyslím, že existuje snadný způsob, jak splnit vaše 75% kritéria, aniž byste shodili výkon do odpadu.

Běží na běžném hardwaru, ale při použití propojení Infiniband skutečně svítí výkon. Naštěstí cena IB je v dnešní době opravdu dost nízká.

Jako řešení možná budete chtít vyzkoušet lidi ze Scalable Informatics a jejich produkty Jackrabbit. Na svém hardwaru podporují GlusterFS a cena jejich řešení se určitě vyrovná nákladům na sestavení něčeho od začátku.


Linux
  1. Superblock, Inode, Dentry a soubor?

  2. Rozdíl mezi distribuovaným a klastrovým souborovým systémem?

  3. GZip každý soubor zvlášť

  1. Zlepšete výkon systému Linux pomocí noatime

  2. Jak přesměrovat výstup system() do souboru?

  3. Existuje souborový systém podobný git?

  1. Jak vykopat soubor z Awk?

  2. Zámek souborového systému CWP

  3. Prozkoumání systému souborů kontejneru Docker