Bittorrent Syncを使用してバックアップを同期するための注意事項とヒント

Bittorrent Syncがリリースされるとすぐに、私はすぐにそれを使用して自宅のコンピューター上のファイルをバックアップし始め、Webインターフェースを介して通常の方法でセットアップしました。 このプログラムは最高の面を示しており、サーバー上のバックアップのコピーにも使用したいと思っていました...

私は現在、約1か月間、Bitorent Syncを運用環境でセットアップして使用しており、いくつかの所見を共有する準備ができています。

そのため、いくつかのデータを持つサーバーがあります。 夜になると、クラウン上でスクリプトが起動され、それらを収集、アーカイブ、暗号化、同じサーバー上の別のセクションに配置します。 次に、別のサーバーがこれらのアーカイブをそれ自体にダウンロードします。 その結果、バックアップのコピーが2つあります。
アーカイブは、rsyncというコピーでスクリプトによって作成されました。

バックアップチェーンでrsyncバックアップチェーンをBitorent Sync(以降btsync)に変更しても、劇的な変化はありませんが、いくつかの違いがあります。

バックアップの関連性

rsyncの場合、設定時間にクラウンでコピーします。バックアップ作成時間より明らかに遅いです。 または、バックアップストレージサーバーからではなく、コピーが作成されたサーバーから、および作成直後にコピーを開始します。 2番目のケースでは、スクリプトの複雑さとストレージの信頼性に関する疑問(これらのコピーが作成されたサーバーにアクセスしながらコピーをリモートで削除できるという意味で)
btsyncの場合、ファイルは作成されるとすぐにコピーされ始めます(そして記事の最後にこれに関するニュアンスがあります)。

コピー速度とCPU使用率

クロスオーバーを介してサーバーからサーバーにコピーして測定しました。
1つのスレッドでプロセッサを70〜80%読み込むと、rsyncは165 Mbpsの安定した速度を生成します
btsyncは、非常に高いプロセッサー負荷で180-220 Mb / sの速度を生成します:複数のスレッドで40-150%
実際の速度では、インターネット経由でコピーする場合、違いは目立ちません。

データ伝送セキュリティ

rsyncはsshを介して機能します。
btsyncは暗号化された独自のプロトコルを使用しますが、ソースコードはありません(opensslを介してすべてのファイルが長いキーで暗号化されているため、これについてはあまり心配していません)。
最初は、btsync暗号化キーを知っていれば、どこからでもどこからでもファイルをダウンロードできますが、これは設定によって無効になっています。
btsyncを使用すると、読み取り専用パスワードを使用してデータを受信できるため、ソースでデータが削除されないように保護できます。

プロセスの本質を理解する

-vおよび--progressオプションを指定したrsyncは、コピーステータスに関する完全な情報を提供します。
btsyncは独自の生活を送っており、ログは非常に少なく、現在何で忙しいかを理解することは不可能な場合があります。

UbuntuまたはDebianのインストールと構成


製造元のWebサイトでは、btsyncはバイナリファイルとして配布され、起動時に有線パスに沿ってコンポーネントを解凍します。 この動作を防ぐには、構成を作成し、そのパスを指定する必要があります。 さらに長い道のりを経て、 debパッケージを作成しました(リンクからソースとアセンブリ用のスクリプトから)。

インストール後、ファイル/etc/btsync/sync.confを編集する必要があります

{ "device_name": "<>", //    "listening_port" : 8889, // ,   (    ) "storage_path" : "/usr/local/lib/btsync/", //      "pid_file" : "/var/run/btsync/btsync.pid", "check_for_updates" : false, "use_upnp" : false, "download_limit" : 0, // 0 -    "upload_limit" : 0, "shared_folders" : [ //       { "secret" : "<secret>", //   .   btsync --generate-secret "dir" : "<dir>", //    "use_relay_server" : false, "use_tracker" : false, "use_dht" : false, "search_lan" : false, "known_hosts" : [ ] } , //       { "secret" : "<secret>", //   .     ,   readonly   btsync --get-ro-secret <> "dir" : "<dir>", //    "use_sync_trash" : true, //        "" //         "use_relay_server" : false, "use_tracker" : false, "use_dht" : false, "search_lan" : false, "known_hosts" : [ "<ip-->:8889" //     ] } ] } 


shared_folders配列に要素を追加すると、1つのサーバーで複数のリソースを分散して受け入れることができます。
また、設定にshared_foldersセクションがあると、Webインターフェースが完全に無効になります。

次に、構成ファイルで指定されたすべてのディレクトリを作成し、btsyncユーザーに書き込み権限を付与して、サービスを再起動する必要があります。
 service btsync restart 


ログは、パス/usr/local/lib/btsync/sync.logにあります。
インデックス作成プロセス中にファイルが変更されたという呪いのある行がある場合は、これを防ぐためにスクリプトを少しやり直す必要があります。
.SyncIgnoreファイルには無視されるファイルマスクが含まれています。既存のものの1つ「._ *」を使用します。 新しいファイルを作成するときは、最初にピリオドとアンダースコアで始まる名前を付け、次にアーカイブと暗号化が完了したら、名前を変更します。

おわりに


このモードでbtsyncを使用するかしないかは、価値があります-誰もが自分で決めてください。 私は間違いなくこのオプションが好きで、戻ってくるつもりはありません。 このプログラムの唯一の重大な欠点は、閉じたコードです。 情報源の開示が期待できるかどうかは誰にもわかりませんか?

Source: https://habr.com/ru/post/J184702/


All Articles