下條研の情報インフラを実現するOSSについて (ファイル共有サーバ編)

M2の高橋です。この記事では、下城研究室での研究活動を支える、情報インフラストラクチャと、これを実現するために用いているオープンソースソフトウェアについて紹介します。

研究室では、論文の原稿、輪講の資料、ポスターの原稿、発表の記録ビデオや写真、などの様々なデータを作成し、メンバ間で共有する必要があります。数年前まで、当研究室ではGoogle Driveを用いてファイルを共有していましたが、知的財産管理の観点や、アクセス制御などの運用が柔軟にできることを考慮して、オンプレミスのファイル共有サーバを運用することにしました。

ファイル共有サーバのソフトウェアとしては、ownCloudというOSSを使用しています。これはPHP製のウェブアプリケーションで、ウェブインターフェースを備えた共有ファイルサーバをを簡単に構築できるものです。ブラウザのインターフェース以外にも、WebDAVサーバにもなります。さらには、DropboxのようなWindows/OSX/Linux/iOS/AndroidなどのOS向けのネイティブクライアントも提供されています。また、リンクでのファイル公開や、特定のグループ内での共有など、様々な権限制御も可能です。

ownCloudログイン画面

実際にデータが保存されるストレージについては、QNAPの業務用NASをRAID6構成で使用しています。このバックエンドのNASは、直接ファイルシステムにマウントするのではなく、ownCloudのownCloud外部ストレージ機能を用いてアプリケーションレベルで読み書きしています。パフォーマンスの面では最善ではないかもしれませんが、管理と運用のしやすさを優先してこのような構成にしました。

ownCloudファイル管理画面

ownCloud自体は、公式yumリポジトリからインストールしているので、Apache + mod_php + MySQLという構成になっています。しかし、他のウェブサーバは全てnginx + php-fpmなので、いずれソースからのインストールに移行して、他のウェブサーバと同様nginx + php-fpmの構成にしたいと思います。ちな みに、下條研の環境では前段にnginxのリバースプロキシがあり、httpsを外した上でリクエストを各サービスのウェブサーバに振り分けるという仕組みになっています。

運用を始めてから既に1年以上経ちましたが、今の所大きな不具合や障害もなく安定して稼働しています。今後の課題としては、NAS上のデータのバックアップ、LDAP認証への対応、メモリキャッシュの導入などがあります。