MacOS X Server 10.5 の新機能な Spotlight Server の採用も検討項目に入れてみて。
ttp://www.apple.com/jp/server/macosx/features/spotlight.html
ttp://images.apple.com/jp/server/macosx/docs/L355773B_FileSvcs_tb_J.pdf
ファイルサーバを複数の MacOS X(クライアント)から Spotlight で検索させた場合、
共有フォルダ内の全ファイルに対するスキャン(インデックス構築)処理が
各クライアント上で一斉に走る。具体的には、クライアントはファイルサーバから
ファイル全体をダウンロードしてからスキャンすることになるが、これは(規模にもよるが)
ネットワークに大きな負荷を与える。ましてや無線LANで実用的な運用が可能かは疑問。
Spotlight Server であれば、スキャン処理はサーバ上だけで実行される。具体的に言うと、
サーバは保管されている膨大なPDFファイル群をスキャンしてインデックスを作成して
結果を内部データベースに保存し、Spotlight クライアントはネットワーク経由でアクセスする。
サーバ「レス」構成ではネットワーク上をPDFファイル全体が転送されたのに対し、
サーバ構成ではインデックス情報(PDFに埋め込まれたテキストデータとはぼ等しい量)だけになる。
# 私自身は MacOS X Server を所有していないので、上記の内容は推測です。間違ってたらゴメン。
»819,820
ファイルサーバ上のフォルダ構成に関して、私のいた職場での事例を紹介します。
a. 規模は1サーバ(Linux)で5..10クライアント(Win/Mac)。
b. 管理したくないというか専任管理者不在。でも過去データの損失だけは絶対に嫌。
c. バックアップ専用のハード/ソフトは使用せず、外付けHD(毎週)とDVD-R焼き(毎月)で対応。
d. 保管したいファイルは社内作業文書(見積書/提案書/設計書..etc)
e. フォルダ構成は「<共有フォルダ>/<年>/<月>/<顧客名>」が基本の規定。
f. 顧客名については、あいうえお順でソートできるよう、先頭にかな文字を付加する。
g. 顧客名以下のフォルダ/ファイル構成については、特に規定しない。
例:/Volumes/Share/2008/06/[お] 凹凸商事/[見積] 次期人事管理向けサーバ見積.xls
まずバックアップ方針について、ミラーリング(RAID)はディスク故障時の停止時間を最小限にするもの。
人為的なミス(うっかりフォルダごと削除)に対処できない事と、(落雷や電源ユニット故障等により)
ディスク全体がクラッシュする可能性があり得るという2点がその理由。したがって、
外部のメディア(TimeMachine でも可)へ必ず保存する。
# ホットスワップ対応のRAID専用ボックスも良いが、高価だし定期バックアップには向かない。
[毎月のバックアップ作業]
<月>フォルダをDVD-Rに焼き、そのフォルダを書き込み禁止にする。
(実際にはフォルダをディスクイメージとして外付け2.5インチHDに保存後、PC上でDVD-Rに焼く)
[毎週のバックアップ作業]
当月の<月>フォルダ全体を2.5インチの外付けHDに差分コピー(Macであれば Deja Vu 等を使用)
バックアップを重視して時系列のフォルダ構成にしているので、作業者(私)の負担は少ない。
また、1週間未満内に発生したデータ損失は無視(そのくらいは各自でバックアップしてね…)。
(ファイル検索方法は次回に続く)
ファイル検索方針について,Linuxサーバだったので(Spotlightのような)全文検索は
最初からあきらめました。また、ファイル名による検索は、すでにクライアント側
(Mac の Finder および Win の Explorer)で実装されているので考慮していません。
まず、時系列のフォルダ構成はバックアップ作業が楽であり、時間によるブラウジングが
可能である(例:2年前に作成した資料はどこ?)という利点がある反面、
顧客名によるブラウジングが(フォルダが分散しているので)面倒になるという欠点があります。
そこで、以下のスクリプトを作成しました。
(1) 顧客名から「<年>/<月>の一覧」を引くための対応表を作成するスクリプト
例:2008/06/[お] 凹凸商事 ==> [お] 凹凸商事/2008/06
(2) 対応表を参照するWebサーバ向けCGIスクリプト
最初のスクリプトは、毎月のバックアップ作業が終了した時点で実行します。その内部では、
(a) フォルダ構成をスキャンして、(b) その情報を「顧客名」をキー、「年/月の一覧」を値とする
データベース(ハッシュ)に保存しています。
CGIスクリプトではデータベースをアクセスして (a) 全顧客名(キー)をソートしたリンク付き一覧を返し、
(b) ユーザが選択した顧客(キー)についてリンク付きの年月一覧(値)を返します。この年月のリンクは、
対応する共有フォルダを指しています。(例:http://fserver/~share/2008/06/[お] 凹凸商事)
(まだ続く)
[ファイル検索機能のまとめ]
a. ユーザへの規定(決まり事)はフォルダ構成(<共有フォルダ>/<年>/<月>/<顧客名>)のみ。
b. a. を言い換えると、フォルダを作成すれば「自動的に」データベースが作成される。
c. 時系列でも顧客名からでもブラウジングできる。
なお、「顧客名」は仕事内容に応じて「業務名」や「商品名」等に置き換えてください。
紹介は以上です。検索機能を Mac で実現するには FileMaker Pro を使用されると思います。
最初の壁は、おそらくフォルダ構成を FileMaker でインポートできる形式へ変換するスクリプトの
作成でしょう。FileMaker の内蔵スクリプトで記述できれば良し、さもなければ汎用スクリプト
(Ruby や Perl)の知識が必要になりますが、FileMaker には詳しくないのでこれ以上の説明はできません。
最後に、身近な応用例として楽曲ファイルサーバを示します。(これは架空のサーバです)
フォルダ構成:<アーティスト名>/<アルバム名>/<楽曲ファイル>
例1:[お] 尾崎豊/[し] 十七歳の地図/01 [I] I LOVE YOU.mp3
例2:[な] 中島美嘉/[Y] YES/01 [I] I LOVE YOU.mp3
例3:[な] 中島美嘉/[お]朧月夜/03 [つ] 月の沙漠.mp3
ブラウザ:
o 標準:<アーティスト名>/<アルバム名>/<楽曲名>
例:中島美嘉/朧月夜/3. 月の沙漠
o カバー向け:<楽曲名>/<アーティスト名>/<アルバム名>
例:I LOVE YOU/尾崎豊/1. 十七歳の地図
I LOVE YOU/中島美嘉/1. YES
o コンビレーション向け:<アルバム名>/<楽曲名>/<アーティスト名>
例:R35 Sweet J-Ballads/1. SAY YES/CHAGE and ASKA
R35 Sweet J-Ballads/2. 君がいるだけで/米米CLUB
長文のスレ汚し失礼しました。