« 瞬間起動のSplashTopがノートに | メイン | Ubuntuでeeepcのcpuクロックの動的制御が出来るメモ »

複数のディレクトリを一つにまとめることが出来るmhddfsをubuntuで使ってみる

HDDというものは常に容量が足りていないか、空きだらけかどっちかの状態であることが多いと思うのですが、特に足らなくなって増設したりすると、ファイルの移行やなんだかんだと結構面倒なものです。

特にマルチメディアのファイルなどの巨大で数が多いデータの場合なんかはファイルの移動もそう楽ではありませんよね。シンボリックリンクを駆使するという手もありますが、所詮はシンボリックリンク。マウントポイントを移動したりするとリンク切れを起こしたりして扱いがあまりよくありません。

私はこのような状況になると今までunionfsを使って新しいHDD>古いHDDという風にマウントして使っていました。これだと元のディレクトリの上に新しいHDDのディレクトリが重なってちょうどいい風になります。欠点としては書き込みが行われるのは必ず階層的に上になったファイルシステムだけで下側のファイルシステムはリードオンリーになってしまうこと。tmpfsを活用する際などはこれはこれでいいのですが、ディスクの拡張目的には使い方が固定されてしまいます。

mhddfsはまさにこのような用途のために用意されたファイルシステム。ネタは以下のリンク。

動作的にはちょうどunionfsと同じように複数のディレクトリを一つに重ね合わせることが出来ます。unionfsと異なるのは束ねたディレクトリは重なるだけではなく結合されたようになることで、容量もそれぞれのディスクを足した容量となります。

書き込みはマウント順とファイルサイズと空き容量で決定され、mhddfsに指定した初めのディレクトリから書き込みが行われますが、容量が足らなくなると容量の空いているディスクにトランスペアレントにファイルが移動され書き込みが継続されます。

もう一つの特徴としては、mhddfsの使用を止めても副作用がほとんどないことです。ファイルは複数のディレクトリを跨ぐことはなく、元のディレクトリはそのままでも普通に使えます。

重ねたディレクトリに同じ名前のファイルが存在する場合は指定した順にファイルが見え、mhddfsのマウント先でファイルを消せば、まず最初のディレクトリのファイルが削除され、次のディレクトリのファイルが見えるようになります。

本題。入れてみる

2009/10/27 ubuntu 9.04等の新しいディストリビューションではパッケージが用意されていますので普通にapt-get install mhddfsでインストール出来ます。以下は少し古い記述です。

 debianではパッケージが用意されていますが、Ubuntuではまだ公式にはパッケージがありません。が、一応パッケージ自体は存在し使えるようです。

インストール例

wget http://ftp.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/pool/universe/m/mhddfs/mhddfs_0.1.10-1_i386.deb
sudo dpkg -i mhddfs_0.1.10-1_i386.deb

使い方

mhddfs  dir1,dir2,dir3... dest

/etc/fstabでマウントするには以下のような感じの行を追加

mhddfs#dir1,dir2,dir3 dest fuse defaults,allow_other 0 0

うちではLinuxマシンはマルチメディア・ファイルサーバ兼デスクトップとして使っていて、それなりに多くのマルチメディアファイルが放り込んであるのですが、mhddfsやunionfsを使えばあまり苦労することなく見かけ大容量のディスクが構築できて重宝しそうです。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/714


コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2008年05月31日 20:18に投稿されたエントリーのページです。

ひとつ前の投稿は「 瞬間起動のSplashTopがノートに」です。

次の投稿は「Ubuntuでeeepcのcpuクロックの動的制御が出来るメモ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー