機能

機能の概要

自動で拡張する、容量無制限のストレージ

ObjectiveFS は、データの増加に応じて、ストレージを自動で割り当ててくれます。クラスタの再設定、サーバー構成のプロビジョニングなどは事前に必要ありません。クラウドストレージを使用するため、容量は無限であり、ローカルのディスクを使用することはありません ( デフォルト設定の場合 )。ファイルは、必要なときにダウンロードできます。また、ローカルのストレージがサポートできるよりも、はるかに大きな容量を使用することができます。

パフォーマンスの向上とスケールアウト

ObjectiveFS は、サーバー数の増加に応じて、パフォーマンスも向上するように設計されています。ObjectiveFS では、オブジェクトストアのバックエンド側が処理できる、最大数の同時接続をサポートしています。このため、サーバー数の増加に応じて、スループットも増やすことができます。パフォーマンスは、ローカルのハードディスクと比較しても遜色ありません。また、パフォーマンスを向上させるため、負荷適応型ヒューリスティック、メモリーを使用したキャッシュ処理、書き込み処理の一括化を行っています。

簡素で簡単なセットアップ

ObjectiveFS の立ち上げと運用は、簡素で簡単です。必要なものは、ObjectiveFS ( サーバー上で実行 ) とオブジェクトストア ( Amazon S3 など ) だけです。メタデータサーバー、各種連携サービス、クラスタ化されたストレージは必要ありません。なお、クライアント間の連携処理は、オブジェクトストアを通じて、ObjectiveFS 側で行われます。

クラスタ化などのストレージ管理からの解放

クラスタ化などのストレージ管理は、クラウドサービスのプロバイダー側が行ってくれます。よって、ストレージ管理に、時間と努力を費やす必要はありません。クラスタ化されたストレージのメンテナンス、ストレージを冗長化するためのファイルサーバーの複数立ち上げは、必要なくなりました。クラスタ化されたストレージへの負荷分散、容量を追加したときのデータのストライプ処理なども行う必要がなくなりました。これらはオブジェクトストア側ですべて行ってくれます。また、他のファイルシステムでみられるような、時間がかかる修復作業 ( ヒーリング ) とスプリットブレインも回避できます。

リアルタイムなファイルシステム

ObjectiveFS では、複数の同時書き込みと読み取りをサポートしています。更新されたデータは、自動で同期され、すべての端末上へも即座に反映されます。このため、データをコピーするために、スクリプトを用意したり、rsync を使用する必要がなくなります。

POSIX 準拠

既存のツールとソフトウェアを、クラウドのファイルシステム上でも、そのまま、直接、実行することができます。POSIX 準拠および FUSE を採用している、ObjectiveFS のファイルシステムでは、ファイルシステム標準のセマンティクスを採用しているため、既存の Linux と macOS プログラムもそのまま実行できます。クラウド側のデータへアクセスするために、特別なソフトウェアを用意する必要がありません。

アクセスの利便性

オブジェクトストアの設置場所にかかわらず、どこからでもデータへアクセスできます。現在では、EC2 インスタンス間 ( リージョンにかかわらず )、オフィスに置かれた Linux サーバー間、自宅の macOS ノート PC 間でも、ObjectiveFS をマウントすれば、データを共有できます。

信頼性と冗長性

データは、オブジェクトストア ( Amazon S3 など ) 側に保存されます。Amazon S3 では、99.999999999% の耐久性を提供しており、複数の施設でデータを冗長に保存しています。サーバーが稼働していないときにも、データは、オブジェクトストア内に、永続的に、安全に保管されています。

ObjetiveFS が提供する、エンドツーエンドでのデータの完全性検証機構は、ファイルシステム上へのデータの送受信・保存が欠損なく行われたことを検証してくれ、ネットワークの通信エラーなどからデータを保護してくれます。

クラウドサービスの選択

ObjectveFS では、S3 と互換性のあるオブジェクトストアをサポートしています。データの保存先として、Amazon S3、Google Cloud Storage、オンプレミスのオブジェクトストア ( S3 と互換性があること ) を選択できます。

格納されているデータおよび送受信中のデータの暗号化

ObjectiveFS では、エンドツーエンドの強力な暗号化を行っています。データは、ローカル ( 端末上 ) で暗号化され、クラウド側へ送信されます ( 暗号化時には、「あなたしか知らない鍵」が使用されます )。データの送受信中でも、格納先でも、暗号化は維持され、復号化されるのは、端末上にデータが戻ったときだけです。クラウド上でも安全な、エンドツーエンドでの暗号化・復号化 ( クライアント側で暗号化・復号化 ) を行うため、マルチテナント ( multi-tenant ) 型の VM 環境でも安全です。

パフォーマンス

メモリーとディスクを使用したキャッシュ処理

ObjectiveFS では、パフォーマンスの向上および S3 間との処理を軽減するため、データおよびメタデータをメモリー内にキャッシュします ( ここでは「メモリーキャッシュ」と呼称します )。メモリーキャッシュのサイズは、ユーザー側で設定でき、キャッシュの統計情報は、ログファイルへ出力されます。

また、ObejctiveFS では、ローカルディスクもキャッシュに利用できます ( ここでは「ディスクキャッシュ」と呼称します )。ディスクキャッシュを利用することにより、ファイルへのアクセス時に起こるレイテンシーの緩和、また、データのスループットを向上できます。ディスクキャッシュ内のコンテンツは、ファイルシステムのアンマウント時にも永続的に残ります。このため、ファイルシステムを再びマウントしたときに、起動・アクセスが早くなります。ObjectiveFS では、このディスクキャッシュ内での各種処理を自動で行うため、メンテナンスも必要ありません。

マルチスレッド化

マルチスレッド化することにより、レイテンシーの緩和とスループットを向上させることができます。
ObjectiveFS では、データの圧縮、データの完全性検証、ディスクキャッシュ ( ディスクをキャッシュとして使用 ) へのアクセス、キャッシュの更新処理に対して、専用の CPU・IO スレッドを割り当て、並列処理を行います。

集約処理 ( コンパクション )

集約処理により、ファイルシステムへのアクセス時に必要となる、オブジェクトストア関連の処理数を減らすことができ、加えて、パフォーマンスも向上します。集約処理では、オブジェクトストア内に存在する、小さなオブジェクト群を結合させ、より大きなオブジェクトにしたり、また、関連するデータの結合処理をします。集約処理は、バックグランドでの処理であり、また、ファイルシステムの種類と負荷に応じて、動的に処理を調整してくれます。

圧縮処理

ObjectiveFS では、オブジェクトストアへ送信する前に、高速な圧縮アリゴリズムを使用して、データを圧縮しています。ObjectiveFS では、圧縮可能なデータを動的に検知し、また、すでに圧縮済みのデータは無視します。

S3 Transfer Acceleration のサポート

ObjectiveFS では、サーバーと S3 バケット間のファイル転送を高速化するため、S3 Transfer Acceleration をサポートしています。

管理

スナップショット

ObjectiveFS では、自動設定スナップショット ( automatic snapshot ) と手動設定スナップショット ( checkpoint/manual point-in-time snapshot ) をサポートしています。スナップショット自体をマウントして、読み取り専用のファイルシステムとして使用でき、スナップショット作成時のファイルシステム データにアクセスすることもできます。作成可能および使用可能なスナップショット数に制限はありません。

ローカルでのライセンス認証

ObjectiveFS が行っているライセンス認証は、非常に堅牢で、加えて、システムの停止が数日に及んでも問題が起きないように設計されていますが、外部の認証システムを利用したくないお客様もいるかと思います。このような場合、ObjectiveFS では、ローカルでのライセンス認証機能を提供しております。これにより、外部ライセンスサーバーに頼ることなく、自前のインフラ内で認証処理を行うことができます。

EC2 の IAM ロール

Amazon EC2 の IAM ロール を使用して、S3 で使用する各種鍵を自動で管理することができます。ObjectiveFS は、鍵の有効期限を認識して、期限切れ前に、鍵の更新を自動で行ってくれます。よって、ファイルシステムを継続して稼働することができます。

鍵の自動更新 ( Live Rekeying )

ObjectiveFS では、鍵の自動更新 ( Live Rekeying ) をサポートしており、ファイルシステムがマウントした状態でも、AWS の各種鍵を更新することができます。また、ObjectiveFS では、自動 ( IAM ロールを使用 ) または手動で、鍵の更新を行えます。

ファイルシステム プール ( Filesystem Pool )

ファイルシステム プールを使用することにより、単一の S3 バケット内に、複数のファイルシステムを作成することができます。ファイルシステム プールを使用すれば、ファイルシステムが複数ある場合、その管理を簡素化できます。また、プールを使用すれば、たとえば、チーム別、部署別などのように、ファイルシステムを構成することができます。

管理者モード ( Admin Mode )

管理者モードでは、ファイルシステムの管理を、「プログラム的に」、簡単に行えます。管理者モードを使用すれば、ファイルシステムの作成・削除を、スクリプトで簡単に行うことができます。

ユーザー ID とグループ ID のマッピング

ユーザー ID・グループ ID のマッピング機能を使用することにより、ローカルで使用しているユーザー ID・グループ ID と外部のファイルシステム上の ID を、紐づけ ( マッピング ) することができます。重複・衝突の恐れがある ID がシステム間にある場合に、それぞれのユーザーと ID を、任意に紐づけできるため、この機能は便利です。

HTTP プロキシのサポート

ObjectiveFS では、オブジェクトストアへのアクセス時に、HTTP プロキシを使用することもできます。これにより、企業のネットワーク運用ポリシーにも適合させることができます。また、オブジェクトストアへのアクセス時に、キャッシング プロキシ ( caching proxy ) を経由させることもできます。

セキュリティーとデータの完全性

エンドツーエンドでの暗号化

データは、ローカル ( サーバー上 ) で暗号化されます。また、暗号化には、「あなたしかしらない鍵」が使用されます。データは、その状態 ( 格納中・送受信中 ) にかかわらず、暗号化されたままになります。ObjetviceFS では、NaCl ( Networking and Crytography library ) を使用しており、キャッシュタイミング攻撃からもデータを守ってくれます ( NaCI では、Salsa20 アルゴリズムと Poly1305 アルゴリズムを使用 )。また、NaCl では、秘密情報に基づく分岐処理を行わず、また、ルックアップテーブルのインデックスにも秘密情報を使用しないため、マルチテナント型の VM 環境でも、データは安全に保護されます。

AWS KMS とサーバー側での暗号化 ( SSE )

データは、クライアント側で常に暗号化され、データの状態 ( 送受信中、格納中 ) にかかわらず、保護されています。SSE を併用する場合、ObjectiveFS では、AWS の SSE をサポートしています。なお、暗号化方式としては、SSE-S3 ( Amazon S3 側で管理している鍵を使用した SSE ) と SSE-KMS ( AWS KMS 側で管理している鍵を使用した SSE ) が使用できます。

データの完全性検証

ObjectiveFS では、強力なチェックサムを使用し、データの完全性を検証して、欠損・悪意のある攻撃からデータを守ります。チェックサムと一致しない場合には、再処理が行われます。

技術的な仕様

ObjectiveFS は、オブジェクトストアを永続的ストレージとして使用する、ログ構造化ファイルシステムです。ObjectiveFS は、Linux・macOS 向けの、POSIX に準拠し、FUSE を使用したファイルシステムです。Linux 系・macOS 系のツールとソフトウェアを、そのまま使用することができます。

サポート対象のバックエンド

  • Amazon S3。AWS のすべてのリージョンがサポートされています。また、リージョン間のアクセスもサポートしています。EC2 インスタンスが置かれているリージョンにかかわらず、同一のファイルシステムにアクセスできます。
  • Google Cloud Storage。GCS のすべてのリージョンがサポートされています。
  • オンプレミスのオブジェクトストア ( S3 互換 API を使用 )。リードアフターライト整合性 ( read-after-write consistency ) チェックが必要となります。

パフォーマンス

  • ローカルのハードディスクと同等の処理速度
  • マルチスレッド化のサポート。CPU と IO のスレッドは、自由に設定可能です。
  • 負荷適応型ヒューリスティック ( workload adaptive heuristics )
  • 書き込みの一括処理。これにより、オブジェクトストア間との処理が減らせます。
  • メモリーを使用したキャッシュ処理。キャッシュサイズは、自由に設定できます。
  • ディスクを使用したキャッシュ処理 ( 任意 )。キャッシュサイズは、自由に設定できます。
  • 常に有効で、高速な圧縮処理
  • データの集約処理 ( コンパクション )。格納されているオブジェクトの数を減らしてくれます。
  • S3 Transfer Acceleration のサポート

拡張性

  • オブジェクトストア側が処理できる、最大数の同時読み取りと書き込みをサポート
  • 読み取りパフォーマンスの最適化。オブジェクトストア側が処理できる、最大数の読み取りをサポートします
  • 無限のファイルシステム数をサポート

POSIX 関連の機能

  • ファイル名・ディレクトリ名の変更の不可分性 ( アトミック/atomic )
  • ファイル・ディレクトリ作成の不可分性 ( アトミック/atomic )
  • 効率の良い、ファイルへの書き込みとファイルからの読み取り
  • ソフトリンクとハードリンクのサポート
  • Unix の属性のサポート
  • 拡張属性のサポート
  • 一般ユーザーとパーミッション設定のサポート
  • Unix のタイムスタンプ ( atime、mtime、ctime ) のサポート
  • 制限のないファイルサイズ
  • 汎用的なマウントコマンドの使用 ( ノート PC 上でのマウントおよび EC2 インスタンスのマウント時 )。

セキュリティー

  • 標準の NaCl 暗号化・復号化ライブラリーをサポート ( Salsa20 アルゴリズムと Poly1305 アルゴリズムを使用 )
  • 分岐処理およびルックアップテーブルのインデックスに、秘密情報を使用しない
  • キャッシュタイミング攻撃からの保護
  • クライアント側でのデータの暗号化。データは、状態 ( 格納中、送受信中 ) にかかわらず、暗号化されたままになります。
  • サーバー側の暗号化 ( AWS KMS を使用した SSE )

管理

  • 自動設定と手動設定のスナップショット
  • ファイルシステムの作成・一覧化・破棄に使用できる、扱いやすいインターフェイスを提供
  • 管理者モード。ファイルシステムが複数の場合に、管理を簡素化してくれます。
  • ファイルシステム プール。単一バケットに複数のファイルシステムを配置することができます。
  • ファイルシステムで使用する鍵の自動更新 ( Live Rekey )
  • EC2 の IAM ロールを使用した、鍵の自動更新のサポート
  • ローカルでのライセンス認証

他の機能

  • 常に有効で強力な、エンドツーエンドでのデータ完全性の検証。データの格納時または送受信中に起こるエラーを防いでくれます。
  • Linux と macOS 間でのファイルシステムの共有
  • 読み取り専用モードのサポート
  • 起動時の自動マウントのサポート
  • プロキシのサポート

取り扱いが容易で、しかも安全な S3 ファイルシステム

14日間無料でお試しください