タグ付けされた質問 「lsyncd」

6
2つの離れたLinuxサーバー間での大きなファイルツリーの双方向のリアルタイム同期
大きなファイルツリーとは、約20万ファイルを意味し、常に成長しています。しかし、比較的少数のファイルが任意の1時間で変更されています。 双方向とは、どちらかのサーバーで変更が発生し、他方にプッシュする必要がある可能性があることを意味するため、rsyncは適切ではないようです。 遠いということは、サーバーは両方ともデータセンターにありますが、地理的には互いに離れているということです。現在、サーバーは2つしかありませんが、時間が経つにつれて拡大する可能性があります。 リアルタイムでは、同期の間に少しの遅延があっても問題ありませんが、1分ごとに1時間でファイルのごく一部が変更される可能性があるため、1〜2分ごとにcronを実行することは適切ではないようです。 編集:これはVPS上で実行されているので、できるカーネルレベルのものの種類に制限されるかもしれません。また、VPSはリソースが豊富ではないため、大量のRAMを必要とするソリューション(Glusterなど)を避けます。 これを達成するための最良の/最も「受け入れられた」アプローチは何ですか?これは一般的な必要性のように思えますが、一般的に受け入れられているアプローチをまだ見つけることができませんでした。これは驚くべきことでした。(私は大衆の安全を求めています。:) ファイルシステムの変更レベルで同期をトリガーするためにlsyncdに出会いました。それは非常に一般的ではありませんが賢いようで、さまざまなlsyncdアプローチに少し混乱しています。rsyncでlsyncdを使用しているだけですが、rsyncにはメモリの概念がないため(たとえば、Aで削除されたファイルをBで削除する必要があるか、Bで新しいファイルであるかを知るため)それをA)にコピーする必要があります。 lipsyncは単なるlsyncd + rsyncの実装のようです。 次に、次のようにcsync2でlsyncdを使用しています:https : //icicimov.github.io/blog/devops/File-system-sync-with-Csync2-and-Lsyncd/ ...このアプローチに傾いていますが、 csync2は少し風変わりですが、テストは成功しましたが。私は、この方法についてコミュニティで多くの確認を見つけることができなかったことを主に心配しています。 ここの人々はユニゾンをとても気に入っているように見えますが、もはや活発に開発されていないようで、lsyncdのような自動トリガーを持っているかどうかは明らかではありません。 Glusterが言及しているのを見たことがありますが、必要なものが多すぎるかもしれません。 更新: fyi-私が言及した元のソリューションであるlsyncd + csync2に行きました。それは非常にうまく機能しているようであり、サーバーを非常に緩やかに結合させるアーキテクチャーのアプローチが好きです。

2
Vagrant同期フォルダーは大文字と小文字を区別しません
私たちのWebスタックでは、WindowsサーバーからCentOSに移行しています。開発を容易にするために、Vagrantを使用してCentOS VMをローカルで実行しています。Vagrantの同期フォルダー機能を使用して、開発者がホストマシンでお気に入りのIDEを使用できるようにしていますが、このセットアップにはファイルシステムの大文字と小文字の区別という重要な機能が1つ欠けています。 VM内の同期フォルダーは明らかにホストのファイルシステムのプロパティを取得するため、WindowsマシンまたはOSXから開発している場合、ファイルシステムでは大文字と小文字が区別されません。本番サーバーは純粋なCentOSであり、ファイルシステムでは大文字と小文字が区別されるため、これは大きな問題です。 大文字と小文字の区別は、ローカルVMが必要な主な理由の1つです。「自分のマシンで動作します!」 検討または試したいくつかの回避策: lsyncdを使用してvagrant共有から大文字と小文字を区別するVM内の場所に同期します ホスト上のファイルを更新しても、lsyncがリッスンするVMでイベントが生成されないようです ホストで大文字と小文字を区別するパーティションを作成します (Windowsでは機能しません) サンバを使う これはオプションかもしれませんが、まだ検証していません。 もっと良い方法はありますか?Windows、OS X、Ubuntuを使用する開発者がいるため、ソリューションはどこでも機能する必要があります。

4
GlusterFSはウェブサーバーの同期を維持するのに適した選択肢ですか?
私は2つのWebサーバーを持っていますが、途中でサーバーを追加する必要がある可能性があります。現在、lsyncd + csync2を使用してこれらのサーバーを同期させています。すべてのファイルが両方のサーバー上にあるため(ファイルをローカルで開くためにネットワークアクセスは必要ありません)、パフォーマンスは優れていますが、それ以外の場合はそれほどうまくいきません。 この1つの例は、サーバー1上のファイルを削除し、すぐに同じ名前の新しいファイルをサーバー1にアップロードする場合です。その後、ファイルはサーバー2から削除され、サーバー2がサーバー1に削除イベントを送信して「更新サークル」を完了すると、サーバー1に新しくアップロードされたファイルが削除されます。 サーバーを同期させるためのより良い方法があるはずだと私は思わずにはいられません。私はGlusterFSを見てきましたが、すべてのファイルがすべてのサーバーに複製される設定はお勧めできません。ただし、私はこれらのサーバーでDrupalのようなCMSシステムを実行しています。このようなCMSシステムは多くの場合、かなりの数のファイルを開きますが、これらのファイルを取得するにはネットワークトラフィックが多すぎると、リクエストの速度が低下するのではないかと心配しています。 lsyncd + csync2を、すべてのファイルをすべてのノードにレプリケートするように設定されたGlusterFSに置き換えることを検討するのは良い考えですか、それとも悪い考えですか?

1
Lsyncdが機能しないファイルまたはフォルダーを除外する
マスターとスレーブ間のライブ同期にlsyncdを使用していますが、.htaccessやgitファイルなどのファイルをスレーブサーバーに除外したいです。私はこのように設定しました: 同期{ default.rsync、 source = "/ home / test /"、 target = "202.63.240.146:/home/test"、 excludeFrom = "/ home / test / public_html / .htaccess"、 rsync = {archive = true、perms = true、owner = true、_extra = {"-a"}、rsh = "/ usr / bin / ssh -l root -i /root/.ssh/id_rsa"、} } しかし、機能していないようです。誰でも私の設定を修正してください。私のlsyncdバージョンは2.2です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.