Syncthing同期プログラムの概要+ Raspberry PiおよびMacbookへのインストール

syncthingクラウドbittorrentsync dropbox arudmin
この記事では、クライアントサーバーモデルに従って動作し、参加者間(P2P)でファイルを同期するように設計され新しいオープンクロスプラットフォームアプリケーションであるSyncthingについて説明します。 アプリケーションはGoで記述されており、機能面ではBitTorrent Syncに似ています。

新しいサービスを確認した後、Raspberry Piにインストールしてラップトップと同期しようとします。

システム概要


P2Pネットワークのノード間でファイルを同期するために、シンプルで効率的で安全なBlock Exchange Protocol (BEP)が作成されました。 Syncthingプログラムはこのプロトコルの機能を実装していますが、どのソフトウェアでも使用できます。 開発は完全にオープンで、すべてのソースコードはGithubで公開されています。 プロトコルも公開されているため、バグをすぐに検出して修正できます。 このプログラムはMac OS X、Windows、Linux、FreeBSD、およびSolaris向けにリリースされており、便利なWebインターフェースを介して簡単に設定でき、ローカルネットワークまたはインターネット経由で動作します。

管理パネルのインターフェースは次のとおりです。


既製のアセンブリは、すべての主要プラットフォームのGithubで入手できます。サイトには、 ドキュメント(英語)およびクイックスタートガイド(英語)もあります。

プログラムの特徴:


インストールとセットアップ


さて、簡単な概要の後、アプリケーションのインストールと設定に直接進みます。 Webインターフェイスを備えたメインホストとしてホームMacBookを使用し、クライアントをRaspberry PIモデルBにインストールします。

Macbookで
現在のリリースのダウンロードページにアクセスして、必要なアーカイブをダウンロードします。MacOSの場合は、 syncthing-darwin-amd64-v0.8.13.tar.gzをダウンロードする必要があります

現在サポートされているプラ​​ットフォームのリスト:


ダウンロードしたアーカイブを解凍し、プログラムフォルダーsyncthingファイルを実行します。

プログラムが終了するのを待ち、コンソールで次の形式の行を見つけます。
私のID:WFDJGOXZBKCC45BFO36JCTFM2EPIKSPXZACUZAUTXRYD2RJAELGS

これはシステム識別子です。覚えておいてください。少し後で役立つでしょう。 それでは、クライアントに対処しましょう。

Raspberry Piで
Raspberry Piコンソールを開き、このプラットフォーム用のパッケージをダウンロードします。

wget https://github.com/calmh/syncthing/releases/download/v0.8.13/syncthing-linux-armv5-v0.8.13.tar.gz 


今すぐ開梱してサービスを開始します
 tar xvzf synct* cd synct* ./syncthing 


一意の識別子キーが生成されるまでしばらく待機し、それを記憶(書き込み)する必要があります。
その後、ラップトップで生成された最初のキーをconfig.xml構成ファイルに追加する必要があります。
nano /home/pi/.config/syncthing/config.xml
「ラップトップ」IDをリポジトリブランチと新しいノードに追加します。

<リポジトリID = "default"ディレクトリ= "/ home / pi / Sync" ro = "false">
<node id = "raspberry-pi-ID"> </ node>
<node id = "your-computer-id"> </ node>
</ repository>

<node id = "your-computer-id" name = "hostname"> <address>動的</ address>
</ node>


このようになった
<リポジトリID = "default"ディレクトリ= "/ home / pi / Sync" ro = "false" ignorePerms = "false">
<node id = "EGOE6LPEVKJQ3EVYJNZJ2QC6NHTQA7L5SPCOGCSZ33DTLTTCM22D"> </ node>
<node id = "WFDJGOXZBKCC45BFO36JCTFM2EPIKSPXZACUZAUTXRYD2RJAELGS"> </ node>
<versioning> </ versioning>
</ repository>
<node id = "EGOE6LPEVKJQ3EVYJNZJ2QC6NHTQA7L5SPCOGCSZ33DTLTTCM22D" name = "raspberrypi">
<address>動的</ address>
</ node>
<ノードID = "WFDJGOXZBKCC45BFO36JCTFM2EPIKSPXZACUZAUTXRYD2RJAELGS" name = "macbook">
<address>動的</ address>
</ node>


一般に、構成ファイルは十分に読み取り可能であり、可能なパラメーターがあります。詳細については、資料を参照してください。

Raspberry Piでのクライアントのセットアップが完了しました。コマンドでサービスを再起動する必要があります
 ./syncthing & 

または、/ etc / rc.localの起動に追加します。

作業確認


ノートパソコンのブラウザでアドレスhttp://127.0.0.1:8080を再度開き、右上隅の[編集]→[ノードの追加]を選択します


表示されるウィンドウで、以前に受信したRaspberry Pi ID、ホスト名を示すフィールドに入力します。 [ アドレス]フィールドは「動的」のままです。


ディレクトリを同期してみましょう。 デフォルトでは、同期フォルダーは各ノードの〜/ Sync /に作成されます。
ファイルを配置すると、しばらくすると他のノードと同期されます。

これで、高速プロトコルを使用してマシン間でデータを同期できます。 ファイルを交換するには、共有ストレージを整理したい相手にコンピューターIDを伝えるだけです。

統計



Raspberry Pi Load

Syncthing管理パネルから:
RAM使用率:〜10MB
CPU使用率:安静時で最大1%、同期中に最大60%。

同期中のメモリとプロセッサの出力統計(htop)


Macbook Pro'13ロード

Syncthing管理パネルから:
RAM使用率:〜20MB
CPU使用率:〜12-30%

システムユーティリティのアクティビティモニターからの画面統計


統計情報を収集する過程で、ブラウザで管理パネルを開いていると、プロセッサ時間の使用が何度も増加することがわかりました(5〜40%)

バックグラウンドプロセス(管理パネルなし)は2〜4%しか消費しませんが


たとえば、Bittorrent Syncは5〜9%を消費します。 もちろん、データは相対的であり、他の要因の鉄に依存しますが、いくつかの結論はそれを可能にします。
結論の根拠-管理パネルをブラウザで開いたままにしないでください。バックグラウンドタブでも、不必要に開いたままにしないでください。


おわりに


このアプリケーションが、同じBittorrent Sync(私がすでに慣れている)よりもどれだけ便利で効率的であるかが、時間を教えてくれます。 この投稿は、Syncthing情報を発見してからわずか数時間後に熱心に書かれました。

コメントに質問を書いてください。サービスをテストする予定です。興味深い場合は、同期速度、負荷などに関する情報を投稿に追加しようとします。

関連リンク
ギハブプロジェクト: github.com/calmh/syncthing#
さまざまなプラットフォーム用のプログラムの現在のバージョン: github.com/calmh/syncthing/releases/latest
画像 ドキュメント: discourse.syncthing.net/category/documentation
画像 サポートフォーラム: discourse.syncthing.net

Raspberry Pi(Debian)の自動実行スクリプト: gist.github.com/arudmin/5a13e9105814c3f568ec

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


All Articles