墜落日記 - 2008年5月22日の墜落
分散しまくったファイルシステムの統合
皆さんは仕事をしていると(場合によっては自宅ですら)複数のマシンに分散した共有フォルダなどを一元管理したいと思ったことはないだろうか?
自分はある。
と言うか、常にある。
現在の仕事環境のネットワークは実に多彩だ。
自分の事業所で通常使っているのは従来の Windows ネットワーク。
本社側ではドメイン管理されているので、何かの拍子に本社側のネットワークに繋ぎたい場合にはドメインに一時的に参加する。
自宅には WebDAV で繋いでこれをネットワークドライブに仮想ファイルシステムとしてマウントしている。
通常使っている Windows ネットワーク上では開発用のサーバがいくつも VMware Server 上で動いており、これらへのアクセスには各々のサーバに設定されているユーザを利用する。
つまり、ネットワーク構成もバラバラ、ユーザもバラバラ、何もかもがバラバラの状態のネットワークを日々利用しているのだ。
単純に作業効率の観点から、これらを統合したいと考えるのは至極当然のことだろう。
で、Windows Server 2003 には DFS(Distributed File System)という仕組みがある。
これはホスト上の共有フォルダのサブフォルダとしてバラバラに分散している共有フォルダをまとめて、一元管理しようという仕組みである。
一見するとこれで解決しそうだが、自分の端末からは「DFS サーバへの共有フォルダへアクセスする」という形式を取るため、実はドメインと Windows ネットワークの混在環境だったり、ホスト毎にログインしたいユーザが違っていたりすると全く役に立たない。
DFS は全ての端末がドメイン管理(もしくは AD 管理)されているネットワークか、全ての端末で利用するユーザが固定されているネットワークでしか実質的に使えないのである。
そうするとどうしても DFS では力不足、というか役に立たない事態に直面するのだ。
そもそも Windows のファイルシステムが貧弱なのだ。
この期に及んでネットワーク透過でないし、ドライブレターの数に制限があるし、フォルダ階層の途中に別のフォルダなりをマウントできないし………
(ハードリンクとリバースポイントで若干は出来るが、ネットワーク透過ではない上に制約が多すぎる)
せめてユーザ空間で DFS の様な仕組みはないか?
ユーザ空間で仮想ネットワークドライブを作って、その下の仮想フォルダは名前空間、もしくはホストの共有フォルダに接続している。
ホストの共有フォルダへの接続はユーザの設定が個別に可能で(ここ重要)、ドメインをまたがったりユーザを切り替えたりを全て透過的に可能とするような仕組みだ。
最後の手段としてはネットワーク透過なファイルシステムを実装可能な Linux を仲立ちにしてしまうかか?
Linux を動かして Samba を構成して共有フォルダのルートを用意、その下に smbmount であちこちの共有フォルダををマウントしまくって、さらに共有フォルダのルートを Windows からネットワークドライブに割り当てる。
そうすると Linux + Samba を仲立ちにして様々なホストに接続しているネットワーク透過なネットワークドライブが可能ではないか?
(間に Linux が入っているのなら WebDAV する統合できる)
本来であればこんな仕組みはファイルシステムに実装されていて然るべきだと思うのだが、所詮はルートディレクトリしか存在しなかった MS-DOS から発展してきたに過ぎない Windows であるし、後付けのネットワークでひ~こら言っていたような OS である。
UNIX の様に頑張れば大概のことが出来る柔軟なファイルシステムを下逸に望むのは、夢のまた夢なのだろうか?
コメントは投稿されていません。