Ubuntu前書きRedisは、メモリ内、NoSQL、キーと値のキャッシュおよびストアであり、ディスクに永続化することもできます。人気が高まっており、大小の両方のプロジェクトでデータストアとして使用されています。強力なサーバーへの移行など、さまざまな理由で、あるサーバーから別のサーバーにそのデータを移行することが必要になる場合があります。現在のサーバーから新しいサーバーにデータベースファイルをコピーするだけでかまいませんが、Redisデータベースを移行するための推奨される方法は、マスタースレーブ形式でレプリケーションセットアップを使用することです。このようなセットアップは、ファイルのコピーよりもはるかに高速で、ダウンタイムがほとんどまたはまったくありません。14.04サーバーから同様のサーバーに移行する方法を示します。マスター)、移行の完了後にスレーブをマスターに昇格させます。前提条件この記事を読むには、エクスポートまたは移行するデータを含む1つのRedisマスターサーバーと、スレーブとなる2番目の新しいRedisサーバーが必要です。具体的には、これらはRedisマスターの前提条件です。[このRedis復元記事]そして、これらはRedisスレーブの前提条件です。[このRedisのステップ1および3クラスターチュートリアル]両方のサーバーでIPTablesチュートリアルのネームサーバー構成セクションを確認してください。手順1-Redisマスターファイアウォールの更新Redisスレーブをインストールして構成すると、ファイアウォールルールのために通信していない2つの独立したサーバーができます。このステップでは、それを修正します修正では、マスターのTCPルールに例外を追加して、ポート6379でRedisトラフィックを許可します。そのため、マスターで、IPv4ルールのIPTables構成ファイルを開きます。/etc/iptables/rules.v4SSHトラフィックを許可するルールのすぐ下に、RedisのポートにスレーブのIPアドレスからのトラフィックのみを許可するルールを追加します。スレーブサーバーのIPアドレスに「++」を更新してください。.これは非常に制限的で安全です。それ以外の場合、サーバーはRedisポート上のすべてのホストからのトラフィックを受け入れます。IPTablesを再起動して、新しいルールを適用します。restartレプリケーションシステムが起動し、マスターのファイアウォールがRedisトラフィックを許可するように構成されたので、両方のサーバーが通信できることを確認できます。これは、https://www.digitalocean.com/community/tutorials/how-to-configure-a-redis-cluster-on-ubuntu-14-04のステップ4に記載されている手順で実行できます[このRedisクラスターチュートリアル]。両方のサーバーが接続を確立すると、サーバーからスレーブへのデータのインポートが自動的に開始されます。今では、それが正常に完了していることを確認するだけです。それを検証する方法は複数あります。Redisデータディレクトリデータのインポートが成功したことを確認する1つの方法は、Redisデータディレクトリを調べることです。マスター上にある同じファイルがスレーブ上にあるはずです。/var/lib/redisこの種の出力を取得する必要があります。dump.rdbRedisコマンドラインデータのインポートを確認する別の方法は、Redisコマンドラインからです。スレーブサーバーでコマンドラインを入力します。+`コマンドを発行しますauthinfo出力では、*#キースペース*のキーの数は両方のサーバーで同じである必要があります。以下の出力はスレーブサーバーから取得したもので、マスターサーバーの出力とまったく同じでした。+」コマンドを使用することです。そのコマンドからの出力は、両方のサーバー間で常に同じではありませんが、スレーブで発行された場合、少なくともスレーブ上で期待するデータがあることを確認できます。この記事で使用したテストサーバーの出力例を以下に示します。+`コマンドの引数は単なる数字であり、カーソルとして機能することに注意してください。0出力は次のようになります。"user:4648"127.0.0.1:6379>ステップ3-スレーブをマスターに昇格させるスレーブにすべてのデータがあることを確認したら、マスターに昇格できます。これはhttps://www.digitalocean.com/community/tutorials/how-to-configure-a-redis-cluster-on-ubuntu-14-04#step-5-%E2%80%94-でも説明されています。[Redisクラスターチュートリアルのステップ5]ですが、簡単にするために手順もここにあります。最初に、スレーブでRedisコマンドラインを入力します。+`コマンドを発行してマスターに昇格させます。+`コマンドを使用して確認します。セクションの関連出力は次のようになります。*行は、スレーブが現在マスターであることを示しています。Replicationconnected_slaves:0master_repl_offset:11705repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0その後、元のマスターのログファイルの1つのエントリでも確認する必要があります。lost.そして、新しいマスター(以前のスレーブ)で、次のように表示されます。cmd=slaveof')この時点で、アプリケーションをデータベースに接続し、元のマスターを削除または破棄できます。完了したら、この方法でRedisデータを移行するのは簡単な作業です。エラーの主な原因は通常、Redisトラフィックを許可するためにマスターサーバーのファイアウォールを変更するのを忘れることです。[その他のRedisチュートリアル]を参照すると、Redisをさらに活用する方法を学ぶことができます。