圧縮の有効化

Ceph Object Gateway は、Ceph の圧縮プラグインのいずれかを使用して、アップロードされたオブジェクトのサーバー・サイド圧縮をサポートします。

サポートされる圧縮プラグインには、以下のものがあります。
  • zlib
  • snappy
  • zstd

圧縮の構成

ゾーンの配置ターゲットで圧縮を有効にするには、 radosgw-admin zone placement modify コマンドに --compression=TYPE オプションを指定します。 圧縮 TYPE は、新規オブジェクト・データの書き込み時に使用する圧縮プラグインの名前を参照します。

圧縮された各オブジェクトには、圧縮タイプが保管されます。 設定を変更しても、既存の圧縮オブジェクトを圧縮解除できなくなることはありません。また、 Ceph Object Gateway が既存のオブジェクトを強制的に再圧縮することもありません。

この圧縮設定は、この配置ターゲットを使用してバケットにアップロードされるすべての新規オブジェクトに適用されます。

ゾーンの配置ターゲットで圧縮を無効にするには、 radosgw-admin zone placement modify コマンドに --compression=TYPE オプションを指定し、空ストリングまたは noneを指定します。

[ root@host01 ~] radosgw-admin ゾーン配置変更 --rgw-zone =default --placement-id =default-placement --compression =zlib
{
...
    "placement_pools":[
        {
            "キー":"default-placement"、
            "val":{
                「index_pool":" default.rgw.buckets.index "、
                "data_pool":" default.rgw.buckets.data "、
                "data_extra_pool":" default.rgw.buckets.non-ec "、
                "index_type":0,
                "圧縮":"zlib"
            }
        }
    ],
...
}

圧縮を有効または無効にした後、変更を有効にするために Ceph Object Gateway インスタンスを再始動します。

注: Ceph Object Gateway は、 default ゾーンと一連のプールを作成します。 本番環境への導入については、 レルムの作成を参照してください。

圧縮統計

既存のすべてのコマンドおよび API は、圧縮されていないデータに基づいてオブジェクトおよびバケットのサイズを引き続き報告しますが、 radosgw-admin bucket stats コマンドには、すべてのバケットの圧縮統計が含まれます。

radosgw-admin bucket stats コマンドの使用タイプは、以下のとおりです。
  • rgw.main(通常の項目またはオブジェクトの場合)
  • rgw.multimeta(不完全なマルチパート・アップロードのメタデータの場合)。
  • rgw.cloudtiered(ライフサイクル・ポリシーがクラウド層に移行したオブジェクトの場合)。 retain_head_object=trueで構成すると、データが含まれなくなったヘッド・オブジェクトは残りますが、 HeadObject 要求でオブジェクトのメタデータを提供することができます。 これらのスタブ・ヘッド・オブジェクトは rgw.cloudtiered カテゴリーを使用します。 詳細については、 Amazon S3 クラウドサービスへのデータ移行を参照してください。
構文
radosgw-admin バケット統計 --bucket =BUCKET_NAME
{
...
    "usage":{
        "rgw.main": {
            「サイズ1075028,
            "size_actual":1331200、
            "size_utilized":592035,
            "size_kb":1050,
            "size_kb_actual":1300、
            "size_kb_utilized":579,
            "num_objects":104
        }
    },
...
}

size は、バケット内のオブジェクトの累積サイズ (非圧縮および非暗号化) です。 size_kb は、キロバイト単位の累積サイズで、 size/1024として計算されます。 この例では、 1075028/1024 = 1050です。

size_actual は、オブジェクトが 4096 サイズのチャンクで保管されているため、各オブジェクトが切り上げられた後のすべてのオブジェクトの実際のサイズです。上限関数は、4096 バイトに切り上げられます。 バケットに 2 つのオブジェクト (1 つのサイズが 4100 バイト、もう 1 つのサイズが 8500 バイト) がある場合、最初のオブジェクトは 8192 バイトに切り上げられ、2 番目のオブジェクトは 12288 バイトに丸められ、バケットの合計は 20480 バイトになります。 size_kb_actual は、実際のサイズ (キロバイト単位) であり、 size_actual/1024として計算されます。 この例では、 1331200/1024 = 1300です。

size_utilized は、圧縮されたデータの合計サイズ (バイト単位) です。 これは、圧縮と暗号化の両方を考慮します。 暗号化によってオブジェクトのサイズが増加し、圧縮によってオブジェクトのサイズが減少する可能性があります。 size_kb_utilized はキロバイト単位の合計サイズで、 size_utilized/1024として計算されます。 この例では、 592035/1024= 579です。

ここでは、すべてのサイズ (キロバイト単位) が上限関数で切り上げられます。