2.6. Object Storage

本項では、Red Hat OpenStack Platform 8 の Object Storage サービスに実装されている新機能について簡単に説明します。

Encryption At Rest

クラスター内のデータを保護するには、Object Storage のオペレーターは暗号化された形式でオブジェクトを保管する必要があります。今回のリリースでは、Object Storage サービスにオペレーターが管理する暗号化機能が追加されましたが、クライアントへの完全な透過性は維持されています。

Encryption At Rest は、2 つのステップがあります。最初のステップは、データおよびメタデータの実際の暗号化と暗号化解除を実行する crypto engine です。

2 番目のステップは、鍵管理です。これは、キーマテリアルを保管/取得し、crypto engine に提供するプロセスです。このプロセスは、キーマテリアルを安全に保管する役割を果たすエージェントと crypto engine 用のキーマテリアルを取得する役割を果たすエージェントに分かれます。Object Storage は、Python のエンティティーポイントメカニズムを介して、「keymaster」と呼ばれるさまざまなキーマテリアル取得機能をサポートします。 通常、Object Storage クラスターは 1 つの keymaster のみを使用します。

新たなリングツール: ring-builder-analyzer および swift-ring-tool

リングは、データがクラスター内のどこに配置されるかを決定します。アカウントデータベース、コンテナーデータベース、および個別のオブジェクト用に別々のリンクがありますが、それぞれが同じように機能します。これらのリングは外部で管理されるので、サーバーのプロセス自体ではリングを変更せず、別のツールで変更された新しいリングが提供されます。

リングビルダーアナライザー はリングビルダーが特定のシナリオでどの程度適切にジョブを実行しているかを分析するツールです。

リングビルダーアナライザーは、リングビルダーの初期パラメーターがいくつか記載されたシナリオファイルと特定数のラウンドを必要とします。各ラウンドでは、ビルダーに何らかの変更 (例: デバイスの追加/削除やデバイスの重みの変更) が加えられた後で、ビルダーが繰り返しリバランシングされ、落ち着くとそのラウンドについてのデータが出力されてから、次のラウンドが開始します。

swift-ring-tool は、全データを新しいクラスターにコピーする必要なく Object Storage リングの partition power を増減するためのツールです。クラスターからデータを移行するには、少なくとも移行元のクラスターと同じサイズの第 2 のクラスターが必要ですが、利用できない可能性があります。

Object Storage クラスターの partition power の選択には注意が必要です。小さなクラスターに高い値を選択すると、レプリケーション時間が大幅に長くなりますが、低い値を選択すると、クラスターの最大サイズが制限されてしまいます。このツールにより partition power の増減が可能となりますが、ストレージノードでファイルの名前を変更しなければならないので、短時間のダウンタイムが必要です。