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



All Articles