ローカルWWW環境の構築(番外編)


ローカルWWW用のHDDを用意しよう

ローカルWWW環境を作成するためには、まず、保存するためのHDDを用意する必要があります。

最初、規模が小さい(ファイル数が6万以下)の場合は、FAT16でフォーマットされたディスク上で、OS付属の圧縮ドライブを作成してそこに保存しましょう。容量は、とりあえず200MBから300MBもあればなんとかなります。いざとなったら実ドライブ側の割当容量を増やせばよいのだし。

ファイル数が6万以上になると、FAT16ドライブには入らなくなってきますので、ここまでくると、FAT32でフォーマットされたディスクに保存するしかありません。
ただし、AI SOFTのDiskXII98のVer2.0を使用すれば、多少圧縮が効きますのでディスクスペースを有効活用できるでしょう。

ただし、ファイル数が10万ファイルを超えると、DiskXII98での管理速度・性能面での問題が発生してきますので、素直にFAT32フォーマットを使用したほうがいいかもしれません。

 

ファイル数が6万以内の場合、 FAT16でOS付属の圧縮ドライブを使用
ファイル数が6万以上の場合、 FAT32フォーマットを使用。パーティションのサイズは8GB以内にするとクラスタサイズを4KBにすることが出来ます。
ディスクスペースが不足する時は、パーティーションサイズを、16GB以内、32GB以内と増やしていきます。 

 


HDDのクラスタサイズについて

このように場合によって分けるのは、ディスクの管理方法と深い関係があります。

ディスクには、ファイルを保存するための最小単位(アロケーションユニット)と言うものがあります。
このアロケーションユニットのサイズがクラスタサイズと呼ばれています。
FATフォーマットの形式で、FAT16やFAT32というのがありますが、これは、最大アロケーションユニット数の違いによるものです。

FAT16であれば、アロケーションユニットの数は16Bitで表される数、つまり最大65535個使用できます。
通常、Win9x系OSのFAT16のクラスタサイズは最大32KBですから、32KB * 65535 = 2GB がFAT16の最大容量となります。

この制限をはずすために、Win95OSR2からは、FAT32という新しいフォーマット方法が作られました。
最大アロケーションユニット数が32Bitで表現できる数まで拡張された形式です。

例として、5GB弱ほどのデータを、FAT32でフォーマットされた34GBの領域にコピーしたところ以下のような状態になります。

これは、4.91GBのデータ(475,729ファイル・93,103フォルダ)で、17GBのディスク領域を使っているということです。

つまり、12GB以上が無駄に使われているということです。

これは、FAT32でフォーマットされた34GBの領域のクラスタサイズが32KBになっているためです。

クラスタサイスは、ファイルを保存するための最小単位なので、たとえ1バイトのファイルを保存したとしても、このクラスタのサイズが32KBであれば、32KBバイトのディスク領域を使ってしまうということです。残りの部分は無駄(デットスペース)になります。

通常、大きいサイズのファイルサイズを使っている場合には、クラスタサイズが大きいほうが、高速にファイルの読み書きが出来るのですが、Webのキャッシュファイルは基本的に数バイトから数キロバイトなので、1ファイルごとに無駄なスペースが出来てしまいます。

ですから、私の環境では、小さいファイルが大量にあるため、5GBのデータに17GBもの領域が使われてしまったのです。

このクラスタサイズはフォーマット方法や領域のサイズによって自動調整されます。(FATフォーマット時)

ドライブ容量 FAT12クラスタサイズ FAT16クラスタサイズ FAT32クラスタサイズ
16MB未満 4KB(4,096byte) 使用不可 使用不可
16MB〜128MB 使用不可 2KB(2,048byte)
128MB〜255MB 4KB(4,096byte)
256MB〜511MB 8KB(8,192byte)
512MB〜1023MB 16KB(16,384byte)  4KB(4,096byte)
1024MB〜2047MB 32KB(32,768byte)
2GB〜4GB未満 64KB(65,535byte)
NT4.0のみ使用可
4GB〜8GB未満 128KB(13,1072byte)
NT4.0のみ使用可
8GB〜16GB未満 256KB(262,144byte)
NT4.0のみ使用可
 8KB(8,192byte)
16GB〜32GB未満 使用不可 16KB(16,384byte)
32GB以上 32KB(32,768byte)

クラスタサイズを変更するには、この領域のサイズを変更する以外に、FORMATコマンドの隠しコマンドを使用する方法もあります。

といっても、極端に小さいサイズにすることは出来ませんが、1サイズ下には設定出来るようです。

format ドライブ名: /Z:セクタ数

 
セクタ数 クラスタサイズ
1 512バイト
2 1Kバイト
4 2Kバイト
8 4Kバイト
16 8Kバイト
32 16Kバイト
64 32Kバイト
上のDOS窓は、領域のサイズを16800MBに設定したときの場合です。本来このサイズでは、クラスタサイズが8KBになるのですが、FORMATの隠しコマンドで4KBに強制セットしました。

この結果、上のローカルWebデータほディスク領域は右のようになりました。

クラスタギャップはまだ、1GBほどありますが、前の状態に比べれば、11GBほどディスク領域を節約したことになります。

ただし、クラスタサイズを変えるためには、ディスク領域サイズの変更や再フォーマットする必要があるため、そこにあるデータは初期化されてしまいます。

このため、別のPC上のディスクに内容をバックアップしてからやったのですが、ファイル数が洒落になっていないので、ファイルのコピーだけで1回12時間。バックアップの戻しを含めるとさらに倍。

左のプロパティを出すだけでも実は2時間かかるんです(自爆)

 

 


HDDの割り当てドライブについて

ディスクのドライブ名に関しては、ネットワーク共有することも考え、W:ドライブなどに統一すると良いでしょう。
これは、後でディスクを増設などをした際にドライブを固定にしたり、全てのコンピュータでドライブ名を統一させておいたほうが管理がしやすくなるからです。

方法としては、

などがあります。

私は、W:¥WWWというディレクトリにローカルWeb(ローカルWWW)

を構築しています。



PCの間へ戻る
玄関に戻る