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

Spojte několik souborových systému do jednoho s mhddfs

Navýšení diskové kapacity pouhým přidáním disku je v Linuxu zhola nemožná věc. Někdy ale prostě potřebujete snadno spojit několik disků a sečíst jejich kapacitu. Pokud nepoužíváte Solaris a ZFS, budete potřebovat nějaké nové řešení. Jedno takové jednoduché s rychlé si představíme – je jím mhddfs.

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

Předpokládejme, že máte tři disky o velikostech 80, 40 a 60 GB. A máte 150 GB hudebních souborů, které na tyto disky musíte uložit. Jak to uděláte?

Vím o dvou řešeních:

  • buď jednoduše vytvoříte tři samostatné hudební adresáře – jeden na každém disku,
  • nebo vytvoříte nějaký RAID, který spojí všechny disky do jednoho pole.

První řešení je docela otravné, protože se musíte rozhodnout, jak data rozdělíte a pamatovat si, co kde máte. Například se rozhodnu uložit veškerou klasickou hudbu na první disk a rockovou na ten druhý. Pak se první disk zaplní a na druhém bude hromada místa. Budu muset soubory složitě přesouvat mezi disky nebo používat symlinky.

Metoda s RAID sice tento problém řeší, ale zase snižuje spolehlivost pole nebo vás naopak připraví o část použitelného diskového prostoru.

Anketa

Kolik máte ve svém počítači disků (i externích)?

       

Nedávno jsem ale objevil lepší řešení všech podobných problémů: mhddfs. Jedná se o modul pro souborový systém FUSE, který dovoluje kombinovat několik menších svazků do jednoho velkého virtuálního, který obsahuje všechny soubory uložené na jednotlivých discích a zároveň sloučí volné místo. Navíc na rozdíl od ostatních podobných modulů (unionfs?) tento neomezuje možnost přidávání dalších souborů a dovoluje spravovat i to, kde budou soubory fyzicky uloženy.

Balíček se jmenuje mhddfs a je k dispozici v Debian Testing a Unstable. Vypadá to, že v současné chvíli není dostupný v Ubuntu.

Spojujeme disky

Řekněme, že zmíněné tři disky máte připojené do /mnt/hdd1, /mnt/hdd2 a /mnt/hdd3. Pak máte zřejmě něco takového:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3

Poté, co nainstalujete balíček mhddfs za pomocí vašeho oblíbeného správce balíčků, můžete vytvořit mount point, nazvěme ho třeba /mnt/virtual, ve kterém se pro vás spojí všechny tři disky dohromady. Krása FUSE spočívá v tom, že nemusíte být root (postačí, budete-li členy skupiny fuse), ale v tomto případě pro jednoduchost předpokládejme, že jsme přihlášeni jako root.

# mkdir /mnt/virtual
# mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual -o allow_other

option: allow_other (1)
mhddfs: directory '/mnt/hdd1' added to list
mhddfs: directory '/mnt/hdd2' added to list
mhddfs: directory '/mnt/hdd3' added to list
mhddfs: move size limit 4294967296 bytes
mhddfs: mount point '/mnt/virtual'

Volba -o allow_other znamená, že výsledný souborový systém bude k dispozici všem uživatelům, nejen tomu, který jej vytvořil.

Výsledek bude vypadat následovně:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3
mhddfs                180G   95G   85G  53% /mnt/virtual

Jak vidíte, byl vytvořen nový souborový systém. Sloučil celkovou velikost disků dohromady (180 GB), spojil i využité místo na discích (95 GB) a sečetl volné místo (85 GB). Podíváte-li se na soubory v /mnt/virtual, zjistíte, že se jedná o soubory ze všech disků a že se adresářové struktury „překryly“ do jedné společné.

Přidání souborů

Ale co když se pokusíte přidat nové soubory někam do /mnt/virtual? No, to je docela složitý problém a musím říct, že se s ním autor mhddfs vypořádal velmi dobře. Když vytvoříte nový soubor na virtuálním disku, modul mhddfs vyhledá volný prostor, který se nachází na některém z disků. Pokud je dostatek místa hned na prvním disku, bude soubor vytvořen tam. Pokud na něm místo už není, (tedy je ho méně než určuje volba mlimit, která je standardně nastavena na 4 GB), bude použit druhý disk. Pokud ani na něm není místo, použije se třetí a tak dále. Pokud je na všech discích méně než mlimit místa, pak bude použit disk s největším volným místem.

Je to ale ještě lepší: pokud na disku dojde místo během zápisu (snažíte se na něm vytvořit příliš velký soubor), celý proces neselže, ale mhddfs jednoduše přenese zapsaná data na jiný disk (na kterém je více místa) a pokračuje v zápisu na něm. Vše proběhne pro zapisující aplikaci zcela transparentně (ani nebude vědět, že k něčemu došlo).

Nyní můžete jednoduše pracovat se soubory v /mnt/virtual a nestarat se o to, co bude čteno ze kterého disku. Výhodou je také velký diskový prostor, což znamená, že můžete ukládat jakékoliv soubory do zmíněného adresáře a (dokud je na některém disku místo) neřešit, který soubor se kam ukládá.

Správa virtuálního disku

Pokud se rozhodnete mount point aktivovat automaticky po startu, stačí přidat do souboru  /etc/fstab:

mhddfs#/mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual fuse defaults,allow_other 0 0

Pro další informace si prostudujte man mhddfs.

Poslední, ale důležitá informace, kterou zmíním, je, že je velmi snadné přestat mhddfs používat, pokud se tak později rozhodnete – neztratíte totiž žádná data nebo adresářovou strukturu. Řekněme, že si časem pořídáte nový 500 GB disk a rozhodnete se prodat ty menší třeba na eBay. Stačí jen připojit nový disk, zkopírovat na něj všechno z /mnt/virtual a pak odstranit mhddfs mount point a odpojit staré disky. Všechny vaše adresáře, které byly předtím spojeny ve virtuálu s pomocí mhddfs, budou nyní spojeny doopravdy na novém disku.

Valentýna vyřešíte v našem butiku

Pánové, Valentýn je tu a tak jsme pro vás v našem butiku připravili balíček dámských kalhotek a trička za zvýhodněnou cenu 365 Kč.

       

Navíc díky tomu, že soubory nejsou doopravdy nijak interně rozsekané a rozptýlené po discích, můžete vždy, i když vám třeba mhddfs nebude fungovat (nebo projekt přestane existovat), zkopírovat soubory a adresáře ze všech disků do jednoho adresáře a získáte stejnou strukturu, jakou jste předtím měli v /mnt/virtual.


Původním autorem článku je Romam Mamedov. Článek byl z anglického originálu přeložen s jeho laskavým svolením a je vydán pod licencí CC Attribution-Share Alike 3.0.

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Pokročilejší kurz jazyka Java

Java je multiplatformní programovací jazyk, který vytvořila a vyvíjí společnost Sun. Java je silný, objektově orientovaný jazyk se širokou komunitou, nabízející především vysokou produktivitu vývoje.

  • Práce s řetězci
  • Regulární výrazy
  • Kolekce
  • Generiky
  • Smyčka typu "for" ve verzi Java 1.5
  • Výčty
  • Vlákna, synchronizace
  • Polymorfismus, RTTI
  • Java Beany
  • JDBC (práce s databázemi)
  • GUI (knihovny AWT a Swing)
  • Java na serveru (servlety, JSP)

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

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

Přehled názorů

RE: Spojte několik souborových systému do jednoho s mhddfs
petris 28. 5. 2008 00:16
Nový
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
Tom 28. 5. 2008 01:44
Nový
 
├ 
RE: Spojte několik souborových systému do jednoho s mhddfs
petris 28. 5. 2008 02:04
Nový
 
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
Izak 28. 5. 2008 09:52
Nový
 
 
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
anonymní uživatel 28. 5. 2008 10:25
Nový
 
 
 
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
anonymní uživatel 28. 5. 2008 10:40
Nový
 
 
 
 
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
anonymní uživatel 28. 5. 2008 12:39
Nový
VLM
XX 28. 5. 2008 00:32
Nový
├ 
Re: VLM
zippy 28. 5. 2008 00:36
Nový
│
└ 
Re: VLM
XX 28. 5. 2008 00:42
Nový
└ 
Re: VLM
Atom321 28. 5. 2008 10:32
Nový
 
├ 
Re: VLM
anonymní uživatel 28. 5. 2008 13:12
Nový
 
└ 
Re: VLM
anonymní uživatel 28. 5. 2008 15:14
Nový
RE: Spojte několik souborových systému do jednoho s mhddfs
cthulhu 28. 5. 2008 00:35
Nový
RE: Spojte několik souborových systému do jednoho s mhddfs
Ladislav Hagara 28. 5. 2008 01:15
Nový
└ 
RE: Spojte několik souborových systému do jednoho s mhddfs
Tonda 28. 5. 2008 08:39
Nový
Aha no:)
anonymní uživatel 28. 5. 2008 01:17
Nový
├ 
Re: Aha no:)
michal kovac 28. 5. 2008 01:30
Nový
│
└ 
Re: Aha no:)
anonymní uživatel 28. 5. 2008 01:34
Nový
│
 
└ 
Re: Aha no:)
Rejpal 28. 5. 2008 02:23
Nový
│
 
 
└ 
Re: Aha no:)
anonymní uživatel 28. 5. 2008 02:49
Nový
│
 
 
 
├ 
Re: Aha no:)
anonymní uživatel 28. 5. 2008 04:11
Nový
│
 
 
 
│
└ 
Re: Aha no:)
Izak 28. 5. 2008 10:09
Nový
│
 
 
 
│
 
└ 
Re: Aha no:)
CandySan 28. 5. 2008 15:31
Nový
│
 
 
 
│
 
 
└ 
Re: Aha no:)
Lukáš 29. 5. 2008 08:06
Nový
│
 
 
 
│
 
 
 
├ 
Re: Aha no:)
MisaK 29. 5. 2008 11:42
Nový
│
 
 
 
│
 
 
 
│
└ 
Re: Aha no:)
Lukáš 29. 5. 2008 15:23
Nový
│
 
 
 
│
 
 
 
├ 
Re: Aha no:)
CandySan 29. 5. 2008 12:20
Nový
│
 
 
 
│
 
 
 
│
└ 
Re: Aha no:)
Lukáš 29. 5. 2008 15:26
Nový
│
 
 
 
│
 
 
 
│
 
└ 
Re: Aha no:)
anonymní uživatel 2. 6. 2008 00:48
Nový
│
 
 
 
│
 
 
 
│
 
 
└ 
Re: Aha no:)
Lukáš 2. 6. 2008 12:45
Nový
│
 
 
 
│
 
 
 
└ 
Re: Aha no:)
CandySan 29. 5. 2008 12:28
Nový
│
 
 
 
├ 
Re: Aha no:)
Rejpal 28. 5. 2008 10:19
Nový
│
 
 
 
│
└ 
Re: Aha no:)
Heron 28. 5. 2008 12:32
Nový
│
 
 
 
│
 
└ 
Re: Aha no:)
Rejpal 28. 5. 2008 14:40
Nový
│
 
 
 
└ 
Re: Aha no:)
JardaP 28. 5. 2008 11:03
Nový
│
 
 
 
 
└ 
Re: Aha no:)
Augur 28. 5. 2008 13:26
Nový
│
 
 
 
 
 
├ 
Re: Aha no:)
t 28. 5. 2008 13:35
Nový
│
 
 
 
 
 
├ 
Re: Aha no:)
kozec 28. 5. 2008 13:56
Nový
│
 
 
 
 
 
├ 
Re: Aha no:)
qweqwe 29. 5. 2008 08:03
Nový
│
 
 
 
 
 
└ 
Re: Aha no:)
JardaP 29. 5. 2008 10:45
Nový
└ 
Re: Aha no:)
Izak 28. 5. 2008 10:01
Nový
NFS partitions ?
Pavel Troller 28. 5. 2008 06:43
Nový
└ 
Re: NFS partitions ?
zemiak 28. 5. 2008 08:17
Nový
 
└ 
zena
BLEK. 28. 5. 2008 18:39
Nový
nestacim se divit
mm 28. 5. 2008 08:10
Nový
líbilo
Martin Lebeda 28. 5. 2008 08:31
Nový
├ 
Re: líbilo
HyBERA 28. 5. 2008 09:14
Nový
│
└ 
Re: líbilo
anonymní uživatel 28. 5. 2008 09:46
Nový
├ 
Re: líbilo
mil2house mil2house 28. 5. 2008 14:46
Nový
└ 
Re: líbilo
Slavko 28. 5. 2008 18:08
Nový
unionfs-fuse
Radek Podgorny 28. 5. 2008 09:49
Nový
└ 
Re: unionfs-fuse
Keny 28. 5. 2008 12:45
Nový
 
├ 
Re: unionfs-fuse
Radek Podgorny 28. 5. 2008 13:20
Nový
 
│
└ 
Re: unionfs-fuse
Jan Molič 28. 5. 2008 13:47
Nový
 
│
 
└ 
Re: unionfs-fuse
Radek Podgorny 28. 5. 2008 14:59
Nový
 
└ 
Re: unionfs-fuse
Radek Podgorny 28. 5. 2008 18:08
Nový
Navýšení diskové kapacity pouhým přidáním disku je v Linuxu zhola nemožná věc
Marek Brunda 28. 5. 2008 10:14
Nový
└ 
Re: Navýšení diskové kapacity pouhým přidáním disku je v Linuxu zhola nemožná…
anonymní uživatel 28. 5. 2008 10:27
Nový
LVM
Tomáš Hofman 28. 5. 2008 10:36
Nový
├ 
Re: LVM
Rejpal 28. 5. 2008 10:44
Nový
│
├ 
Re: LVM
Tomáš Hofman 28. 5. 2008 10:46
Nový
│
└ 
Re: LVM
jAM 28. 5. 2008 14:44
Nový
│
 
└ 
Re: LVM
Rejpal 28. 5. 2008 14:51
Nový
├ 
Re: LVM
MarSik 28. 5. 2008 10:47
Nový
├ 
Re: LVM
Marek Brunda 28. 5. 2008 10:56
Nový
│
└ 
Re: LVM
Tomáš Hofman 28. 5. 2008 11:13
Nový
│
 
├ 
Re: LVM
Marek Brunda 28. 5. 2008 11:25
Nový
│
 
└ 
Re: LVM
MarSik 28. 5. 2008 12:14
Nový
├ 
Re: LVM
misch 28. 5. 2008 12:59
Nový
│
├ 
Re: LVM
Tomáš Hofman 28. 5. 2008 13:08
Nový
│
└ 
Re: LVM
R 28. 5. 2008 20:32
Nový
└ 
Re: LVM
miguel23 28. 5. 2008 18:35
Nový
Kolize jmen souboru
David Škola 28. 5. 2008 11:10
Nový
└ 
Re: Kolize jmen souboru
Ladislav Hagara 28. 5. 2008 11:57
Nový
Soucasne primountovane jednotlive disky
tommy 28. 5. 2008 12:43
Nový
└ 
Re: Soucasne primountovane jednotlive disky
Ladislav Hagara 28. 5. 2008 13:37
Nový
ubuntu
andreeeee 28. 5. 2008 13:23
Nový
└ 
Re: ubuntu
Miroslav Hrončok 28. 5. 2008 15:15
Nový
Teda ta první věta je fakt klenot :D
sc 28. 5. 2008 22:14
Nový
Sikovne....vyzkousim :-) Dekuji.
padam 29. 5. 2008 11:26
Nový
UNIONFS je nanic. AUFS to umi!
Tomas Matejicek 29. 5. 2008 16:53
Nový
└ 
Re: UNIONFS je nanic. AUFS to umi!
unixman 10. 5. 2009 15:21
Nový
Neco podobneho po siti?
Wrigley 29. 5. 2008 21:52
Nový
Navýšení diskové kapacity pouhým přidáním disku je v Linuxu zhola nemožná věc.
. 1. 6. 2008 01:11
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