以前のバージョンから暗号化されたテーブルを移行する
暗号化されたテーブルをDataStax Enterpriseのより新しいバージョンに移行するには、特定のアクションが必要です。
DataStax Enterpriseの以前のバージョンから最新のバージョンに暗号化されたテーブルを移行するための手順。
手順
- dse_system.encrypted_keysテーブルを含んでいるキースペース全体のバックアップを作成します。
- すべてのシステム・キーのバックアップを作成します。
- 『DataStaxアップグレード・ガイド』の指示に従って、クラスターをDataStax Enterprise 5.1にアップグレードします。
- クラスターを再起動します。
-
dse_system.encrypted_keysテーブルが、cqlsh DESCRIBE KEYSPACESコマンドを使用して作成されたことを確認します。
dse_system.encrypted_keysテーブルを復元する必要がある場合は、テーブルを読み込みます。何もTRUNCATEしたり、削除したりしないでください。
-
dse_system.encrypted_keysテーブルが作成されている場合は、次のステップに進みます。それ以外の場合は、テーブルを手動で作成します。
CREATE KEYSPACE dse_system WITH replication = {'class': 'EverywhereStrategy'}; USE dse_system; CREATE TABLE encrypted_keys ( key_file text, cipher text, strength int, key_id timeuuid, key text, PRIMARY KEY (key_file, cipher, strength, key_id) );
注: EverywhereStrategyは、dse_systemキースペースとsolr_adminキースペースのデフォルトのレプリケーション・ストラテジです。EverywhereStrategyの他のインスタンスを使用または変更しないでください。 -
すべてのSSTableを再度書き込みます。
$ nodetool upgradesstables --include-all-sstables
-
検索インデックス・ファイルが暗号化されているかどうかを確認します。
dsetool list_index_files keyspace_name.table_name
-
オフラインのインデックス暗号化を実行します。
要件:
- 暗号化構成を含むリモート・ノードを実行している必要があります。
- ローカル・ノードはオフラインです。
- このコマンドを実行するユーザーには、インデックス・ファイルを含むディレクトリーに対する読み取りおよび書き込みパーミッションが付与されている必要があります。
dsetool upgrade_index_files keyspace_name.table_name -h IP_address [options]
以下のオプションを指定できます。- keyspace_name.table_name
- 必須。検索インデックスのキースペース名とテーブル名。キースペース名とテーブル名の大文字と小文字は区別されます。大文字を含む名前は二重引用符で囲みます。
- -h IP_address
- 必須。インデックスの暗号化に使用される暗号化構成を含むリモート・ノードのホスト名またはIPアドレス。リモート・ノードを実行している必要があります。
- -c port
- 暗号化構成を含むリモート・ノードのDSEポート。
- --backup
- 正常にアップグレードした後のバックアップとして、現在のインデックスからのインデックス・ファイルを保持します。保持されたインデックス・ファイルのバックアップは、--workspaceディレクトリーに移動されます。指定しない場合、現在のインデックスからのインデックス・ファイルは削除されます。
- --workspace directory
- アップグレード・プロセスのワークスペース・ディレクトリー。アップグレード済みのインデックスは、このディレクトリーで作成されます。指定しない場合、デフォルトのディレクトリーは、検索インデックス・ファイルが含まれている同じディレクトリーになります。
- --index directory
- 検索インデックス・ファイルを含むデータ・ディレクトリー。指定しない場合、デフォルトのディレクトリーは検索インデックス名から推測されます。