NetBackup™ Web UI Apache Cassandra 管理者ガイド
前提条件とベストプラクティス
インストールされているバージョンの 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 に接続し、cqlsh や nodetool 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 requiretty を Defaults !requiretty に置き換えて、requiretty オプションを
sudoers
ファイルでグローバルに無効にする必要があります。メモ:
この処理によって、グローバルの
sudo
構成が変更されます。tarball
ベースのインストールの場合は、必ずtarball インストール
の bin パスの場所から Cassandra サービスを開始する必要があります。データベースユーザーアカウントに対して、
default_scheme
がdse.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 に更新します。