SHDFS (Simple http based Distributed File System)

SHDFS install guide
-------------------

■ 動作環境

  ・Apache HTTP Server 2以上 + mod_rewrite
  ・php 5以上
  ・pear ライブラリ
    Cache_Lite
    MIME_Type

  mod_rewrite を使用しているので Apache が必要です。

■ 注意

  このスクリプトはドキュメントルート配下にあるコンテンツファイルの削除を行いま
  す。既に稼動している webサーバで実行しないでください。また、ユーザからの 1回
  のアクセス対して、バックグラウンドで多数のhttp通信を生成します。適切な設定が
  完了していない場合はhttp通信が一気に増加してしまいサービスが停止してしまいま
  す。

■ 準備

  * Apache のインストール

  * php のインストール

  * バーチャルホストの作成

  例
  ---
  NameVirtualHost *:80

  <VirtualHost *:80>
      ServerAdmin hoshino@digiadv.co.jp
      DocumentRoot /var/www/shdfs.digiadv.co.jp/htdocs
      ServerName shdfs.digiadv.co.jp
      ErrorLog  /var/log/httpd/shdfs.digiadv.co.jp/error_log
      CustomLog /var/log/httpd/shdfs.digiadv.co.jp/access_log combined
      DirectoryIndex index.html index.php
      <Directory />
          AllowOverride All
          Order deny,allow
          Allow from all
      </Directory>
  </VirtualHost>
  ---

  SHDFSは複数のサーバで構成するので、出来るだけ同じ環境で作成してください。
  バーチャルホストの ServerName は同じであっても違ってもかまいませんが、同じで
  あるほうがロードバランスしたときに都合が良いです。

■ SHDFS インストール手順

(1) アーカイブの解凍とドキュメントルートへのコピー

    アーカイブを解凍すると htdocs ディレクトリが作成されるので、バーチャルホス
    トで作成したドキュメントルートにコピーしてください。すでにある場合は上書き
    してください。

    # tar xvzf shdfs-[VERSION].tar.gz
    # cd shdfs-[VERSION]
    # cp -r htdocs /var/www/shdfs.digiadv.co.jp/htdocs

    下記のディレクトリが httpd のユーザが書き込める状態か確認してください。
    パーミッションが 「drwxrwxrwx」であれば問題ありません。

    htdocs
    htdocs/.shdfs/.data
    htdocs/.shdfs/.cache

(2) htdocs/.shdfs/shdfs.ini.php の編集

    レプリケートを行うサーバを登録します。

    # cd /var/www/shdfs.digiadv.co.jp/htdocs/.shdfs/
    # cp shdfs.ini.php shdfs.ini.php.org
    # vi shdfs.ini.php

    例
    $conf['replication_hosts[] = '10.100.10.1:80:shdfs.digiadv.co.jp:' ;
    $conf['replication_hosts[] = '10.100.10.2:80:shdfs.digiadv.co.jp:' ;
    $conf['replication_hosts[] = '10.100.10.3:80:shdfs.digiadv.co.jp:' ;

    複数行記述することが出来ます。(そしてそれが SHDFS の複製グループです)
    文字列の意味は、'IP-ADDRESS:PORT:ServerName:' です

    IP-ADDRESS と PORT はSHDFSサーバ同士が通信するhttpの接続先です。
    ServerName は SHDFS を動かす Apacheのバーチャルホストです。

    自分自身が入っていないほうが少しだけパフォーマンスが良くなりますが、入って
    いても問題ありません、全ての SHDFS サーバで同じ設定ファイルをコピーできま 
    す。

■ テスト

  SHDFS サーバのいずれか1台にコンテンツファイルをアップロードしてください。
  アップロードする方法は SFTP など通常の方法でOKです。

  コンテンツをアップしていない SHDFSサーバに対して、ブラウザでアクセスしてみて
  ください。

  コンテンツファイルが取得できて、アクセスしたサーバのドキュメントディレクトリ
  以下にコンテンツファイルがコピーされていたら成功です。

hoshino@digiadv.co.jp
Copyright (C) Digital Adventure, Inc.
