見出し画像

オブジェクト・ストレージに関するバックアップからの洞察

オブジェクト・ストレージは私たちの未来かもしれません。ここでは、必ずしもクラウドのオブジェクト・ストレージを意味しているわけではなく、オンプレミスのオブジェクトストレージも意味しています。ここでは、少なくとも私たちの特定のバックアップ対象に関して、オブジェクト・ストレージが未来のストレージとして際立っていると思われる理由に3つが考えられます。

まず最初に、オブジェクト・ストレージは、企業ユーザがバックアップ・ストレージを考える際に望む高可用性の問題の多くをネイティブに解決します。例えばオブジェクト・ストレージで、ユーザは単一のS3エンドポイントを気にするだけで、必要に応じてその背後にあるストレージ容量を透過的に増減させることができます。つまり、複数のストレージ・ハードウェア間のロードバランシングを考える必要はありません。また、ほとんどのエンタープライズグレードのオブジェクト・ストレージが提供するネイティブな高可用性は、ディスク、ノード、ラック、さらにはデータセンター全体が失われても、何事もなかったかのように同じS3エンドポイントからバックアップやリストアが継続して実行されるため、可用性に影響を与えません。要約すると、オブジェクトストレージは、多くの大規模なお客様が現在考えなければならない、ストレージ・スペースとストレージの可用性の管理を劇的に簡素化します。

2つ目の利点はS3プロトコルです。SMBやNFSなどの従来のファイル・プロトコルでは得られない、データ配信の保証があります。これは2つの理由から非常に重要です。第一に、TCP/IPプロトコルは、データ損失のない保証された配信を提供するように設計されていますが、すべてのネットワーク機器ベンダーがRFC(Request for Comments)に忠実に、かつバグなく従っているわけではありません。過去のビッグデータによると、ネットワーク内でこのようなデータ損失の問題を抱えているユーザは、1,000件中3~4件はあるという報告もあます。

S3と互換性のあるほとんどのオブジェクト・ストレージ・デバイスはPUT機能をサポートしており、転送されるすべてのオブジェクトに対して、S3クライアントはそのハッシュも含めることができるからです。S3とは異なり、レガシーのファイル・プロトコルはエンドツーエンドの信頼性を考慮して設計されていないため、非常にシンプルでありながらクリティカルな機能です。というのも、以前はTCP/IPのチェックサムはドライバのみで計算されていましたが、現在ではほとんどのNICがハードウェアベースのCRC、つまりチェックサムのオフロードをサポートしているか、またはサポートを追加しているため、ドライバーがハードウェアの設定を正しく「理解」していないために、ドライバーとNICの両方がチェックサムをお互いに行うと思い込んでしまい、結果的にチェックサムが全く行われないという新しい種類のバグが発生しているようです。

そして、TCP/IPのチェックサムが正しく動作したとしても、それは対応するTCPスタック層で発生するデータ破損イベントのサブセットのみを検出することができるが、他の層でのデータの正確性を保証することはできないということを認識することが重要です。例えば、SMBパケットのデータ部分のビットエラーは検出されますが、イーサネット、TCP、SMB間のプロトコルクロスオーバーで発生した破損は検出されない可能性があります。そのため、S3 APIや当社独自のデータ移動プロトコルのように、上位プロトコルの一部として整合性チェックを行うことが非常に重要になります。

最後に、3つ目の利点は、ファイル・システムが存在しないため、我々が対処すべきファイル・システムのバグ、癖、制限がないことです。その代わりに、我々はファイル・システムであれ、最終的にはデータの管理に全責任を負います。我々にとってはより複雑に聞こえますが、ReFSが最終的に成熟するまでの間、我々の側では何もできないまま、何年もReFSの問題を抱えていたことは本当に苦痛でした。

確かに、このメリットには賛否両論あります。自己完結型のバックアップファイルは、必要な時に手動で管理(削除、エクスポート、コピー、移動)するのが非常に簡単なので、ユーザには広く愛されています。一方、オブジェクト・ストレージでは、そもそもファイルシステムが存在しないため、原則としてバックアップファイルは存在しません。しかし、良い点は、ユーザーがこれまでと同じように柔軟に使用できることです。オブジェクトストレージ上のバックアップで同じ体験を可能にするには、はるかに多くの作業が必要です。さらに良い点は、オブジェクトストレージをプライマリ・バックアップリポジトリとしてサポートするという話の中で、この機能をオプションや二次的なものとして扱わないことです。

もちろん、オブジェクト・ストレージにも課題がないわけではありませんが、最大の課題は成熟度です。これは、ほとんどのレガシーストレージベンダーが、レガシーアーキテクチャの上にS3プロトコルを追加することでオブジェクトストレージへの取り組みを始める傾向にあるという事実によって、さらに悪化しています。その結果、スケーラビリティと信頼性の大きな課題に直面し、それらを解決するためにさらに多くの時間を費やすことになります。その結果、この分野でさらに多くのイノベーションが生まれる可能性があります。これこそが、オブジェクト・ストレージに未来であると考える理由です。

いいなと思ったら応援しよう!