第3章 新機能
このセクションでは、Red Hat Ceph Storage の今回のリリースで導入された主要な更新、機能拡張、新機能のリストを紹介します。
3.1. Cephadm ユーティリティー
ユーザーは idmap.conf
でさまざまな NFS オプションを設定可能に
この機能拡張により、idmap.conf
で "Domain"、"Nobody-User"、"Nobody-Group" などの NFS オプションを設定できるようになりました。
NFS の新しい haproxy プロトコルモードでクライアント IP 制限が可能に
以前は、NFS 経由の haproxy を使用するセットアップではクライアント IP 制限は機能しませんでした。
この機能拡張により、Cephadm でデプロイされた NFS は haproxy プロトコルをサポートするようになりました。ユーザーが Ingress と haproxy の両方の仕様に enable_haproxy_protocol: True
を追加するか、ceph nfs cluster create
コマンドに --ingress-mode haproxy-protocol
を渡すと、NFS デーモンは haproxy プロトコルを使用します。
ユーザーは Grafana API URL にアクセスするためにユーザー名とパスワードを入力する必要があります。
以前は、Grafana API URL に接続できる人なら誰でも、認証情報を必要とせずにアクセスできました。
この機能拡張により、Cephadm でデプロイされた Grafana には、ユーザーが Grafana API URL にアクセスするためのユーザー名とパスワードが設定されます。
NFS バックエンドを備えた Ingress サービスは、HAProxy レイヤーを介さずに、keepalived
のみを使用して NFS デーモンがバインドするための仮想 IP (VIP) を作成するようにセットアップできるようになりました。
この機能拡張により、NFS バックエンドを備えた Ingress サービスは、HAProxy レイヤーを介さずに、keepalived
のみを使用して NFS デーモンがバインドする仮想 IP を作成するようにセットアップできます。これは、NFS デーモンが移動され、そのデーモンに接続するためにクライアントが別の IP を使用する必要がない場合に役立ちます。
Cephadm は、keepalived
をデプロイして仮想 IP を設定し、NFS デーモンをその仮想 IP にバインドします。これは、--ingress --ingress-mode keepalive-only --virtual-ip <VIP>
のフラグを使用し、ceph nfs cluster create
コマンドを介して NFS モジュールを使用してセットアップすることもできます。
仕様ファイルは次のようになります。
service_type: ingress service_id: nfs.nfsganesha service_name: ingress.nfs.nfsganesha placement: count: 1 label: foo spec: backend_service: nfs.nfsganesha frontend_port: 12049 monitor_port: 9049 virtual_ip: 10.8.128.234/24 virtual_interface_networks: 10.8.128.0/24 keepalive_only: true
これには keepalive_ony: true
設定が含まれます。
NFS 仕様は次のようになります。
networks: - 10.8.128.0/21 service_type: nfs service_id: nfsganesha placement: count: 1 label: foo spec: virtual_ip: 10.8.128.234 port: 2049
これには、Ingress 仕様の仮想 IP と一致する virtual_ip
フィールドが含まれます。
HAProxy デーモンバインドは、付随する keepalived によって作成された仮想 IP 上のフロントエンドポートにのみ接続します。
この機能拡張により、HAProxy デーモンは、0.0.0.0 ではなく、付随する keepalived によって作成された仮想 IP 上でのみフロントエンドポートにバインドするようになります。Cephadm でデプロイされた HAProxy はフロントエンドポートを仮想 IP にバインドし、NFS デーモンなどの他のサービスが同じノード上の他の IP のポート 2049 にバインドできるようになります。
Ingress サービスの Haproxy ヘルスチェック間隔がカスタマイズ可能になりました。
以前は、デフォルトの 2 秒のヘルスチェックの頻度が多すぎたため、不要なトラフィックが発生する場合がありました。
この機能拡張により、Ingress サービスの HAProxy ヘルスチェック間隔をカスタマイズできるようになります。health_check_interval
フィールドを含む Ingress 仕様を適用すると、サービスの各 HAProxy デーモンに対して Cephadm によって生成される HAProxy 設定に、ヘルスチェック間隔の値が含まれるようになります。
Ingress 仕様ファイル:
service_type: ingress service_id: rgw.my-rgw placement: hosts: ['ceph-mobisht-7-1-07lum9-node2', 'ceph-mobisht-7-1-07lum9-node3'] spec: backend_service: rgw.my-rgw virtual_ip: 10.0.208.0/22 frontend_port: 8000 monitor_port: 1967 health_check_interval: 3m
間隔の有効な単位は、us
: マイクロ秒、ms
: ミリ秒、s
: 秒、m
: 分、h
: 時間 d
: 日です。
Grafana は、常に 0.0.0.0 にバインドするのではなく、ホスト上の特定のネットワーク内の IP にバインドするようになりました。
この機能拡張により、Grafana が IP にバインドするネットワークを含む networks セクションと、仕様の "spec" セクションに含まれる only_bind_port_on_networks: true
の両方を含む Grafana 仕様ファイルを使用して、Cephadm は Grafana デーモンを 0.0.0.0 ではなくそのネットワーク内の IP にバインドするように設定します。これにより、ユーザーは、Grafana が別のサービスに使用するのと同じポートを、ホスト上の別の IP で使用できるようになります。すべてが移動されるわけではない仕様の更新の場合は、ceph orch redeploy grafana
を実行して、設定の変更を取得できます。
Grafana 仕様ファイル:
service_type: grafana service_name: grafana placement: count: 1 networks: 192.168.122.0/24 spec: anonymous_access: true protocol: https only_bind_port_on_networks: true
すべてのブートストラップ CLI パラメーターが cephadm-ansible
モジュールで使用できるようになりました。
以前は、ブートストラップ CLI パラメーターのサブセットのみが使用可能であり、モジュールの使用が制限されていました。
この機能拡張により、すべてのブートストラップ CLI パラメーターが cephadm-ansible
モジュールで使用できるようになります。
Prometheus スクレイプ設定が nfs-ganesha エクスポーターに追加されます。
この機能拡張により、Prometheus スクレイプ設定が nfs-ganesha エクスポーターに追加されます。これは、nfs-ganesha prometheus エクスポーターによって公開されたメトリクスを Ceph で実行されている Prometheus インスタンスにスクレイピングするためのもので、Grafana ダッシュボードによってさらに消費されます。
Prometheus は、常に 0.0.0.0 にバインドするのではなく、ホスト上の特定のネットワーク内の IP にバインドするようになりました。
この機能拡張により、Prometheus が IP にバインドするネットワークを含む networks セクションと、仕様の "spec" セクションに含まれる only_bind_port_on_networks: true
の両方を含む Prometheus 仕様ファイルを使用して、Cephadm は Prometheus デーモンを 0.0.0.0 ではなくそのネットワーク内の IP にバインドするように設定します。これにより、ユーザーは、Prometheus が別のサービスに使用するのと同じポートを、ホスト上の別の IP で使用できるようになります。すべてが移動されるわけではない仕様の更新の場合は、ceph orch redeploy prometheus
を実行して、設定の変更を取得できます。
Prometheus 仕様ファイル:
service_type: prometheus service_name: prometheus placement: count: 1 networks: - 10.0.208.0/22 spec: only_bind_port_on_networks: true
ユーザーはスナップショット (.snap ディレクトリー内のエクスポート) をマウントできるようになりました。
この機能拡張により、ユーザーはスナップショット (.snap
ディレクトリー内のエクスポート) をマウントして RO モードで表示できるようになります。NFS MGR モジュールで作成された NFS エクスポートには、スナップショットをマウントできる cmount_path
設定 (これは設定できず、"/" のままにしておく必要があります) が含まれるようになりました。
ceph rgw realm bootstrap…
コマンドで提供される仕様ファイルを使用して、ゾーングループのホスト名を設定できるようになりました。
このリリースでは、Ceph Object ゲートウェイのマルチサイト設定の自動化に続き、ユーザーは追加の手順を必要とせずに、ブートストラップコマンド ceph rgw realm bootstrap…
で渡される初期仕様ファイルを通じてゾーングループのホスト名を設定できるようになりました。
以下に例を示します。
zonegroup_hostnames: - host1 - host2
ユーザーが、レルムブートストラップコマンドで渡される Ceph Object ゲートウェイ仕様ファイルの "specification" セクションに上記のセクションを追加すると、Ceph Object ゲートウェイモジュールがレルム/ゾーングループ/ゾーンの作成を完了した後、Cephadm は、仕様で定義されたゾーングループにそれらのホスト名を自動的に追加します。Cephadm モジュールが現在実行している他のアクティビティーによっては、この処理が完了するまでに数分かかる場合があることに注意してください。