web-dev-qa-db-ja.com

rsyncを使用して1つのサーバーを別のサーバーに複製しますか?

2つのDebian 9サーバー、サーバーAとサーバーBがあります。

サーバーAはLAMPスタックサーバーです。

サーバーAが遅い。サーバーBは高速です。

サーバーAをシャットダウンせずにサーバーAをサーバーBに複製したい。

それ、どうやったら出来るの?

I think私はこのようなことができます:

  1. Debian 9を基本インストールとしてサーバーBにインストールします。
  2. rsyncを使用して/home/のすべてをAからBにコピーし、次に/ etc/passwd、/ etc/groups、および/ etc/shadowにコピーします
  3. Aにインストールされているパッケージをダンプし、Bにインストールするスクリプトを作成します。
  4. MySQLデータベースをAからダンプし、Bにコピーしてインポートする
  5. / etc /の内容をrsyncでコピーします。

または...サーバー全体をBからAにrsyncできますか?

3
DrDamnit

コマンドを実行する前に、各リンクを注意深くお読みください。

私はこれを rsyncの例 ユーザーericslawによって使用して、作業中のLinuxインストールを別のドライブに正常に複製しました。

リモートまたはローカルのターゲットファイルシステムを、ソースファイルシステムの/mntにマウントできます。 root(Sudo)で以下を実行します。

mount /dev/sdb1 /mnt

/dev/sdb1は2番目のサーバーディスクです。リモートでもローカルでもかまいません。

rsync -gloptruncv \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} \ 
      / /mnt 

これは予行演習になります。エラーがない場合は、nオプションを除外することをお勧めします。その後、 この投稿 のアドバイスに従う必要があります。バックアップが完了した後(状況に応じて代わりにオプションを使用することもできます)ブートおよびスワップパーティションの/mnt/etc/fstabをリセットします。これらのエントリは、ブロックデバイスのUUIDに基づくことを強くお勧めします。 blkidは、必要な情報を提供します。 fstabを修正したら、grub-install /dev/[serverB disk]を実行して起動できるようにする必要があります。あるいは、バックアップにchrootして、その方法でgrubをインストールすることもできます。

 chroot /mnt
 grub-install --recheck /dev/sdb1
 update-grub

最後に、バックアップの欠落しているフォルダー(/dev/, /proc/, /sys/, /tmp/, /run/, /mnt/, /media/, and /lost+found)を再作成する必要がある場合があります。

これは逆に行うこともできます。サーバーBにサーバーAのディスクをマウントさせ、2つのシステムファイル以外のファイルを同期させます。これは、サーバーAとBが同じディストリビューションの同じバージョンを実行している場合に最も簡単です。

2
kemotep