রিয়েল-টাইম ফাইল সিঙ্ক্রোনাইজেশন


22

ডিস্কে ফাইলটি লেখার সাথে সাথে দুটি বা ততোধিক লিনাক্স সার্ভারের মধ্যে ফাইল সিঙ্ক করার জন্য কি কোনও সরঞ্জাম উপলব্ধ রয়েছে? rsyncকমান্ড এই আমাকে অনুসারে না, যদি আমি সেট কারণ rsyncক্রন মধ্যে, সর্বনিম্ন সময় আমি সেট করতে পারেন 1 মিনিট, কিন্তু আমি রিয়েল-টাইম ভিত্তিতে এটি প্রয়োজন।


2
আপনার কি এক রিড-রাইটিং সার্ভার থেকে এক বা একাধিক রিড-ওয়ান সার্ভার (গুলি) তে সিঙ্ক্রোনাইজেশন দরকার, অথবা আপনার দ্বি-মুখী সিঙ্ক্রোনাইজেশন (উভয় দিকের প্রচার সহ) বা এন-ওয়ে প্রয়োজন? আপনি যদি দুটি / এন-ওয়ে চান, তবে আপনি বিরোধগুলি কীভাবে সমাধান করবেন?
গিলস 'অশুভ হওয়া বন্ধ করুন'

উত্তর:


18

এটি নিজে ব্যবহার করেননি তবে সম্প্রতি এটি সম্পর্কে পড়ুন। একটি ডেমন বলা হয় lsyncd, যা আমি অনুমান করি যা আপনার প্রয়োজন ঠিক ঠিক তাই করে।

এটি সম্পর্কে আরও পড়ুন এখানে


2
আইএমএইচও, এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। lsyncdব্যবহার করে inotifyএবং এফএস স্তরের দ্রুততম হওয়া উচিত। Github.com/axkibe/lsyncd- এ আরও । সেই পৃষ্ঠা থেকে: Lsyncd একটি স্থানীয় ডিরেক্টরি ট্রি ইভেন্ট ইভেন্ট মনিটরের ইন্টারফেস (ইনোটাইফাই বা ফিসেন্টস) দেখে। এটি কয়েক সেকেন্ডের জন্য ইভেন্টগুলি একত্রিত করে এবং তারপরে পরিবর্তনগুলি সিঙ্ক্রোনাইজ করার জন্য একটি (বা আরও) প্রক্রিয়া (এস) তৈরি করে। ডিফল্টরূপে এটি rsync। Lsyncd হ'ল একটি হালকা ওজনযুক্ত লাইভ মিরর সমাধান যা নতুন ফাইল সিস্টেম বা ব্লক ডিভাইসের প্রয়োজন হয় না এবং স্থানীয় ফাইল সিস্টেমের কার্যকারিতা ব্যাহত করে না ইনস্টল করা তুলনামূলক সহজ।
SACHIN GARG

5

Inotify-সরঞ্জাম

এতে একটি ইন্টারফেস সরবরাহ করুন inotify:

inotifywait

এই কমান্ডটি শেল স্ক্রিপ্টগুলিতে ব্যবহারের জন্য উপযুক্ত করে এটিকে সহজভাবে ইনোটিফাই ইভেন্টগুলিতে ব্লক করে। এটি ফাইল এবং ডিরেক্টরিগুলির যে কোনও সেট দেখতে পারে এবং পুনরাবৃত্তভাবে পুরো ডিরেক্টরি গাছ দেখতে পারে।

inotifywatch

এই কমান্ডটি ফাইল-সিস্টেমের ব্যবহারের পরিসংখ্যান সংগ্রহ করে এবং প্রতিটি ইনোটাইফাই ইভেন্টের আউটপুট গণনা করে।


4

মাল্টি মাস্টার মোডে একাধিক সার্ভারের মধ্যে রিয়েলটাইম ফাইল সিঙ্ক্রোনাইজেশন

lsyncdরিয়েল টাইম ভিত্তিতে একাধিক সার্ভারের মধ্যে ফাইল সিঙ্ক করার জন্য একটি ভাল সরঞ্জাম রয়েছে। এখানে আমি দুটি সার্ভার দিয়ে চেষ্টা করেছি।

হোস্টস: সার্ভার 1 এবং সার্ভার 2

ওএস ব্যবহৃত: CentOS 7

উভয় সার্ভারে প্যাকেজগুলির নীচে ইনস্টল করুন।

# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd

উভয় সার্ভারে ssh-key উত্পন্ন করুন এবং authorized_keysফাইলটিতে যুক্ত করুন। [সার্ভার 1 এর authorized_keysসার্বজনিক কী এবং সার্ভার 1 এর authorized_keysফাইলে সার্ভার 2 এর সর্বজনীন কী যুক্ত করুন]

সার্ভার 1 কনফিগারেশন

লাইনের শুরুতে /etc/lsyncd.confডিফল্ট কনফিগারেশনটি খুলুন এবং মন্তব্য --করুন এবং ফাইলটিতে নীচে কনফিগারেশন যুক্ত করুন।

settings {
  logfile = "/var/log/lsyncd/lsyncd.log",
  delay = 1
}
sync {
  default.rsync,
  source="/home/test/public_html/",
  target="server2:/home/test/public_html/",
  rsync = {
    compress = true,
    acls = true,
    verbose = true,
    owner = true,
    group = true,
    perms = true,
    rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
  }
}

targetপ্যারামিটারে লক্ষ্য আইপি পরিবর্তন করুন ।

delayআপনার প্রয়োজনীয়তা অনুযায়ী আপনি প্যারামিটারটি পরিবর্তন করতে পারেন । এখানে এটি সেট 1 সেকেন্ড।

এখন লগ ডিরেক্টরিটি তৈরি করুন।

# mkdir -p /var/log/lsyncd

lsyncdপরিষেবাটি স্বয়ংক্রিয়ভাবে শুরু করতে সক্ষম করুন ।

# systemctl enable lsyncd.service

পরিষেবাটি শুরু করুন।

# systemctl start lsyncd.service

সার্ভার 2 কনফিগারেশন

সার্ভার 1 হিসাবে একই কনফিগারেশন অনুসরণ করুন এবং targetআইপি পরিবর্তন করুন ।

এখন সিঙ্ক্রোনাইজেশন সেট করা আছে।

আপনি ক্রিয়াকলাপটি চেক করতে পারেন tailf /var/log/lsyncd/lsyncd.log

তার পরামর্শের জন্য মেলবার্সলানকে ধন্যবাদ।


সেটিংস ফাংশনের অধীনে বিলম্ব পরামিতি বৈধ নয়। ব্যবহারের maxDelays পরিবর্তে পরিবর্তনশীল। আমি এই সরঞ্জামটি প্রয়োগ করেছি। এটি সত্যিই শক্তিশালী।
হাসানুজ্জামান সাত্তার

3

সিঙ্কিং কোনও বিকল্প হতে পারে। এটি অত্যন্ত দ্রুত, স্থানান্তর এনক্রিপ্ট করা হয়েছে এবং একাধিক প্ল্যাটফর্মের জন্য ক্লায়েন্ট রয়েছে। পরিবর্তিত ফাইলগুলি তাত্ক্ষণিকভাবে সিঙ্ক করতে এটি "ইনোটাইফাই" ব্যবহার করে।


2

একটি ক্লাস্টারযুক্ত ফাইল সিস্টেম ধরণের সমাধানের সাথে আপনার এটির প্রয়োজন হবে - দুটি মেশিনের মধ্যে একটি সাধারণ সিঙ্ক আপনাকে রিয়েল-টাইম প্রতিক্রিয়া দেয় না।


আসলে সেই সার্ভারগুলি এডাব্লুএসে রয়েছে। সুতরাং আমরা একটি গুচ্ছ পরিবেশ পেতে পারি না! অন্য কোন উপায় নেই?
সৌরভ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.