NetBackup™ Web UI Apache Cassandra 管理者ガイド

Last Published:
Product(s): NetBackup & Alta Data Protection (10.4)

前提条件とベストプラクティス

  • インストールされているバージョンの Cassandra が、NetBackup でサポートされていることを確認します。詳しくは、ソフトウェア互換性リストを参照してください。

  • バックアップホスト、データステージングサーバー、Cassandra は、RHEL プラットフォームでのみサポートされます。

  • NetBackup では、保護対象の実稼働クラスタと同じ配布の Apache/DataStax と DSS (データステージングサーバー) クラスタのバージョンが必要です。

    NetBackup は、DSS と実稼動で DataStax Cassandra クラスタの yum および tar ベースの配備をサポートします。DSS と実稼動クラスタには、同じ種類の配備が必要です。

  • NetBackup には、DSS として保護するデータセンターのノードの約 20% が必要です。

  • Apache Cassandra では SSL 認証はサポートされません。

  • Apache Cassandra では tarball の配備はサポートされません。

  • DSS をバックアップ環境に追加して、NetBackup が次の処理を実行できるようにする必要があります。

    • データを DSS にステージングする。

    • バックアップストレージに保存するデータの重複排除を実行する。

    • データを NetBackup メディアにコピーする。

  • DSS は、Cassandra の実稼働クラスタと同じバージョンの Cassandra を使用する必要があります。

  • NetBackup バージョン 10.3 以降では、DSS と Cassandra の実稼働クラスタを追加する前に、DSS と Cassandra の実稼働クレデンシャルを NetBackup クレデンシャル管理コンソールに追加する必要があります。その後、DSS と Cassandra の実稼働クラスタの追加ワークフローで、既存のクレデンシャルリストから必要なクレデンシャルを選択する必要があります。

  • NetBackup は単純認証を使用する SSL、LDAP および DataStax Cassandra をサポートします。データベースのユーザー名とパスワードを使用して Cassandra に接続し、cqlshnodetool utils などのコマンドを実行します。DSS クラスタの構成時と Cassandra クラスタの構成時に、NetBackup クレデンシャルに Cassandra を構成します。

  • すべての Cassandra ノードと DSS ノードで SSH を有効にします。

  • Cassandra ノード、DSS、バックアップホストのローカル時刻が NTP サーバーと同期されていることを確認します。

  • NetBackup クレデンシャル管理で、データステージングサーバークラスタの root 以外のホストユーザーアカウントを構成します。

    メモ:

    root 以外のホストユーザーアカウントは、個別に設定することも、同じアカウントにすることもできます。これは、ホームフォルダと、ssh を使用してそれぞれのノードに接続する権限で有効である必要があります。それぞれのノードの sudoers ファイルにホストユーザーを追加します。データベースのユーザー名とパスワードは、DSS とアプリケーションクラスタで同じである必要があります。

  • Cassandra のバックアップまたはリストアを実行する前に、すべてのデータステージングサーバーから Cassandra ノードおよびバックアップホストへの正常な ping 応答が受信されたことを確認してください。

  • ファイアウォールの設定を選択して更新し、バックアップホスト、データステージングサーバー、Cassandra ノードが通信できるようにします。

  • DSS クラスタの構成で指定されているパスが、すべての DSS ノードと Cassandra ノードに存在していることを確認します。

  • Cassandra をアップグレードする場合や、スキーマを変更する場合 (キースペースやカラムファミリーの削除など) は、必ず増分バックアップジョブの前に完全バックアップを開始します。

  • クラスタに指定したホストユーザーアカウントが、DSS クラスタの構成で指定したフォルダへの読み取りおよび書き込みアクセス権を持っていることを確認します。

  • ホストマッピングは、IP 設定に従って実行する必要があります。

  • SStableloader ユーティリティが、実稼働ノードとデータステージングサーバーの間で動作することを確認します。

  • DSS の空き領域とメモリは、Cassandra クラスタのカラムファミリーの 3 倍の容量を確保します。すべての DSS ノードで同様のメモリサイズを維持します。

    メモ:

    DSS に対する圧縮操作には、より多くのメモリが必要となります。DSS ノードの RAM を増やすことで、バックアップとリストアのパフォーマンスが向上します。

  • バックアップ操作時には Cassandra ノードの空き領域を 20% 以上確保します。

  • リストアの際には、リストア対象のデータのサイズに応じて、ターゲットクラスタノードに十分な空き領域があることを確認します。

  • リストアの前に、ターゲットの Cassandra バージョンがバックアップ元のバージョンと同じであることを確認します。

  • リストアの前に、ターゲットクラスタとターゲットデータステージングサーバークラスタが NetBackup ですべて構成されていることを確認します。

  • 複合リストアジョブの親ジョブをキャンセルしても、子リストアジョブはキャンセルされません。子リストアジョブは手動でキャンセルする必要があります。

  • Datastax Cassandra バックアップの DSS 設定で、ホストあたりの接続数 (cph) の値が 1 に設定されていることを確認します。

Cassandra の役割に対する RBAC 権限:

  • 次の操作を実行できるよう、作成権限と更新権限の両方を割り当てます。

    • DSS クラスタの追加。

    • Apache Cassandra クラスタの追加。

    • DSS ノードの追加。

    • Apache Cassandra クラスタの編集。

  • DSS クラスタのデータベースクレデンシャルは Cassandra 実稼働クラスタと一致している必要があります。

  • Defaults requirettyDefaults !requiretty に置き換えて、requiretty オプションを sudoersファイルでグローバルに無効にする必要があります。

    メモ:

    この処理によって、グローバルの sudo 構成が変更されます。

  • tarball ベースのインストールの場合は、必ず tarball インストールの bin パスの場所から Cassandra サービスを開始する必要があります。

  • データベースユーザーアカウントに対して、default_schemedse.yaml ファイルの authentication_options で internal である場合は、内部認証ユーザーを指定します。この default_scheme が LDAP に設定されている場合は、LDAP ユーザーアカウントを指定します。

  • 10.2.1 より前のバージョンからアップグレードした NetBackup バージョンの場合は、DSS と実働クラスタの両方で手動で検出をトリガする必要があります。

  • NetBackup で次の項目のために構成されるデータベースユーザーアカウントには、クラスタで必要になるすべての権限が必要です。

    • DSS クラスタ

    • Cassandra 実稼動クラスタのバックアップとリストア。

    ユーザーは、クラスタ内のリソースを作成、表示、更新、削除できる必要があります。DSS クラスタでは、特定の権限を付与したり、構成済みのデータベースユーザーアカウントにスーパーユーザーの役割を割り当てることができます。

  • Cassandra 構成の DSS 配布、作業ディレクトリ、スクリプトのホームディレクトリのパスが同じでないことを確認します。

    メモ:

    作業ディレクトリのパスは /root として設定できません。

  • /etc/sudoers ファイル内の Java 実行可能パスを使用して secure_path リストを更新したことを確認します。

  • cassandra.yaml ファイルを変更して、すべての DSS ノードで次のパラメータを設定します。

    パラメータ

    説明/値

    cluster_name

    クラスタの名前。

    cluster_name: <DSS クラスタの名前を指定>

    num_tokens

    num_tokens を 1 に設定します。

    num_tokens: 1

    Initial_token

    次のコマンドを使用して、Initial_token を計算して設定します。

    python -c "print [str(((2**64 / number_of_nodes_in_cluster) * i) - 2**63) for i in range(number_of_nodes_in_cluster)]" initial_token: <To be calculated>

    Incremental backups

    増分バックアップを無効にします。

    Incremental backups: false

    snapshot_before_compaction

    圧縮前のスナップショットの作成を無効にします。

    snapshot_before_compaction: false

    auto_snapshot

    自動スナップショットを無効にします。

    auto_snapshot: false

    compaction_throughput_mb_per_sec

    圧縮スロットルを無効にします。

    compaction_throughput_mb_per_sec: 0

    メモ:

    Cassandra 4.1 以降の場合は、パラメータとその値を compaction_throughput: 0MiB/s に更新します。

    hinted_handoff_enabled

    ヒント付きハンドオフを無効にします。

    hinted_handoff_enabled: false

    cdc_enabled

    CDC 機能を無効にします。

    cdc_enabled: false

    enable_user_defined_functions

    ユーザー定義の関数を有効にします。

    enable_user_defined_functions: true

    メモ:

    Cassandra 4.1 以降の場合、パラメータとその値を user_defined_functions_enabled: true に更新します。

    enable_scripted_user_defined_functions

    スクリプトによるユーザー定義の関数を有効にします。

    enable_scripted_user_defined_functions: true

    メモ:

    Cassandra 4.1 以降の場合、パラメータとその値を scripted_user_defined_functions_enabled: true に更新します。