WSS2008の目玉の機能の1つ、SIS(Single Instance Storage)をインストールしようと思っていろいろと検索してみたところ、なかなかこれについて触れている人が少ないのと、あったとしてもろくなインストール方法が書いていなかったので、書くことにした。
SIS(Single Instance Storage)とは?
皆さんのマイドキュメントとか、会社のファイルサーバーとか思い出してください。同じようなファイルが結構ごろごろしていませんか?デジカメ写真とかファイル名が違うけど、開いてみたら同じじゃん、みたいな。で、ディスク容量を圧迫しまくり、みたいな。
SISはこの悩みを解決します(笑)。
簡単に説明すると、ファイルシステム上に同じファイルが存在していた場合、WSS2008がこの大本のファイルを特別なところに格納して、システム上に存在するファイルに対して、リンクを張っていきます。いわゆるシンボリックリンクのようなものです。だからファイルサイズが100Mバイトとかあったとしても、SISによって作られたファイルは数キロバイトしか容量を食いません。
Single Instance Storage (SIS) サービスをインストールすると、これに付随して Single Instance Storage Groveler サービスがインストールされます。のでこの2つに着目して進めていきます。
では早速インストールしていきましょう。
ocsetup SIS-Limited の実行
悲しいかな、検索で出てくるSISのインストール方法のほとんどが、このコマンドをコマンドプロンプトで実行して終わってしまっています。でも、間違ってはないのですが、この次にいろいろとすることがあるよ~って事を皆さんに言いたい。だってこのコマンド打ち込んだだけじゃ、SIS使えないもん(苦笑)
まずは以下のコマンドをコマンドプロンプトから実行してください。
ocsetup SIS-Limited
はい、successful って出ましたね。OKです。これでSISとSIS Groveler サービス が入りました。
続いて設定に写ります。
SISおよびSIS Grovelerサービスが実行可能かどうかを確認する
まずはこれをやっておきましょう。
SISおよびSIS Grovelerサービスの動作状況を確認
2つのパートで説明します。
SISの確認:sisadmin
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:UsersAdministrator>sisadmin
SISADMIN [/m <server>] [command]
Valid commands:
/? /h Display usage information
/i <volumes> Install SIS on the volumes. If the volumes are already
using SIS, this command preserves the existing files and
the enable/disable status of the volume.
/f [volumes] Set the Groveler service to foreground mode on the volumes
/b [volumes] Set the Groveler service to background mode on the volumes
/r [volumes] Initiate a full scan
/e [volumes] Enable and start the Groveler service on the volumes
/d [volumes] Stop and disable the Groveler service on the volumes
/v [volumes] Analyze volumes for overall SIS usage information
/l [volumes] List SIS controlled files
/s <files> Display information about SIS files
/u <volumes> Stop and disable the Groveler service on the specified
volumes and convert all SIS files on the specified volumes
to normal files.
Where:
[volumes] Is a space delimited list of volumes (e: f: g: q:). If no
volumes are specified, the operation will be performed
on all SIS volumes of the specified server.
<volumes> Is a space delimited list of volumes (e: f: g: q:). At least
one volume must be specified.
<files> Is a space delimited list of files. Each file must include
the full local path.
/m <server> Specifies the server on which to execute the command.
If not specified, the local server is used.
Listing SIS volumes:
SIS is not enabled on any volumes.
C:UsersAdministrator>
SIS is not enabled on any volumes. と出るはずです。
SISが動いていないことがわかったので次にSIS Grovelerサービスの動作状況を確認します。
SIS Grovelerサービスの確認:sc qc Groveler と sc query Groveler
C:UsersAdministrator>sc qc Groveler
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: Groveler
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:Windowssystem32grovel.exe
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Single Instance Store Groveler
DEPENDENCIES : MiniSIS
: WinMgmt
SERVICE_START_NAME : LocalSystem
C:UsersAdministrator>sc query Groveler
SERVICE_NAME: Groveler
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:UsersAdministrator>
どうやらSIS Grovelerサービスは動いているようです。

SISサービスを有効化する
起動ドライブをSISの対象にすることはできないため、今回は E ドライブに対して、SISを有効にしてみたいと思います。
sisadmin /i E:
コマンドプロンプトから入力すると、以下のメッセージが出ると思います。
C:UsersAdministrator>sisadmin /i E:
SIS has been initialized on volume 'E:'.
Restarting the Groveler service ...
C:UsersAdministrator>
続いて、SISが正常に動いているかどうかを以前打ち込んだコマンドで再確認します。
sisadminの実行
C:UsersAdministrator>sisadmin
SISADMIN [/m <server>] [command]
Valid commands:
/? /h Display usage information
/i <volumes> Install SIS on the volumes. If the volumes are already
using SIS, this command preserves the existing files and
the enable/disable status of the volume.
/f [volumes] Set the Groveler service to foreground mode on the volumes
/b [volumes] Set the Groveler service to background mode on the volumes
/r [volumes] Initiate a full scan
/e [volumes] Enable and start the Groveler service on the volumes
/d [volumes] Stop and disable the Groveler service on the volumes
/v [volumes] Analyze volumes for overall SIS usage information
/l [volumes] List SIS controlled files
/s <files> Display information about SIS files
/u <volumes> Stop and disable the Groveler service on the specified
volumes and convert all SIS files on the specified volumes
to normal files.
Where:
[volumes] Is a space delimited list of volumes (e: f: g: q:). If no
volumes are specified, the operation will be performed
on all SIS volumes of the specified server.
<volumes> Is a space delimited list of volumes (e: f: g: q:). At least
one volume must be specified.
<files> Is a space delimited list of files. Each file must include
the full local path.
/m <server> Specifies the server on which to execute the command.
If not specified, the local server is used.
Listing SIS volumes:
State Mode Volume
----- ---- ------
Running Background E:
C:UsersAdministrator>
この出力結果から、Volume E: に対して、SISが有効化されていることがわかります。

また、以下のコマンドでステータスの表示ができます。
sisadmin /v
C:UsersAdministrator>sisadmin /v
Analyzing volume 'E:'.
Analyzing the SIS Common Store directory...
Analyzing the SIS Common Store directory... 0 processed, complete.
Analyzing reparse points...
Analyzing reparse points... 0 processed, 0 not analyzed, complete.
Analyzing data...
Analyzing data... complete.
=== Analysis of volume 'E:' on WINDOWS-B3P9NOM ===
Common store files: 0
Link files: 0
Inaccessible link files: 0
Space saved: 0 KB
C:UsersAdministrator>

SISサービスのテスト
それでは作業のシメとして実際に何かファイルをコピーすることにしてみます。
ファイルのコピーを実行
今回はテストとして、WindowsMedia 配下にあった ac3.wav を名前を変えて、3つのファイルとして E: ドライブにコピーしてみました。
E:>copy C:WindowsMediaac3.wav test1.wav
1 file(s) copied.
E:>copy C:WindowsMediaac3.wav test2.wav
1 file(s) copied.
E:>copy C:WindowsMediaac3.wav test3.wav
1 file(s) copied.
ファイルが存在するかどうかを確認する
せっかくなので、コマンドとGUIと両方やってみる。
E:>dir
Volume in drive E is New Volume
Volume Serial Number is 24F4-4136
Directory of E:
05/27/2009 12:48 AM 0 copy
09/19/2006 06:31 AM 1,843,244 test1.wav
09/19/2006 06:31 AM 1,843,244 test2.wav
09/19/2006 06:31 AM 1,843,244 test3.wav
4 File(s) 5,529,732 bytes
0 Dir(s) 1,026,326,528 bytes free
E:>

同様に、エクスプローラーからも同様のファイルがあることを確認する。
コピーしたファイルに対してSISが効いているかどうかを確認
ここまでくるともう少しなのでさくさくいきましょう。
sisadmin /v
E:>sisadmin /v
Analyzing volume 'E:'.
Analyzing the SIS Common Store directory...
Analyzing the SIS Common Store directory... 1 processed, complete.
Analyzing reparse points...
Analyzing reparse points... 3 processed, 0 not analyzed, complete.
Analyzing data...
Analyzing data... complete.
=== Analysis of volume 'E:' on WINDOWS-B3P9NOM ===
Common store files: 1
Link files: 3
Inaccessible link files: 0
Space saved: 3600 KB
E:>
キタ━━━(゜∀゜)━━━!!
しっかりとリンクが張られていることがわかります。
また、今回の3つのファイルを選択して右クリックからプロパティを開くと、
Size: 5.27MB
Size on disk: 12.0KB
となっており、ばっちりSISが効いていますね。やったね!!

リンク関係の確認
sisadmin /l E: を使って、リンク関係を見ることができます。
E:>sisadmin /l E:
Listing SIS controlled files on volume 'E:'.
fd5275f2-3d3e-11de-bb45-000c290723f1.sis <- E:test1.wav
fd5275f2-3d3e-11de-bb45-000c290723f1.sis <- E:test2.wav
fd5275f2-3d3e-11de-bb45-000c290723f1.sis <- E:test3.wav
3 SIS controlled files found on volume 'E:'.
E:>

SISサービスの無効化
「滅びの言葉を使ったんだ。あの子たちはバカどもからラピュタを守ったんだよ・・。」
sisadmin /d
絶対使っちゃダメ!(笑)