আমি ভাবছিলাম যে দুটি সার্ভারের মিরর দেওয়া সম্ভব, যেমন আপনি একটি সার্ভারে ফাইল আপলোড করতে পারেন এবং তারা অন্য সার্ভারে চাপ দিতে চান ইত্যাদি mirror সেটআপ (তবে এটি খুব সুন্দরও হবে!)
আমি ভাবছিলাম যে দুটি সার্ভারের মিরর দেওয়া সম্ভব, যেমন আপনি একটি সার্ভারে ফাইল আপলোড করতে পারেন এবং তারা অন্য সার্ভারে চাপ দিতে চান ইত্যাদি mirror সেটআপ (তবে এটি খুব সুন্দরও হবে!)
উত্তর:
এটি হাতের কাজের উপর নির্ভর করে।
আপনার কেন ফাইল মিররিং দরকার। আপনি কি এমন কোনও ওয়েবসাইট বা সামগ্রী সামগ্রীগুলির মতো কিছু আপডেট করতে চান যেখানে পর্যায়ক্রমে আপডেট করা ঠিক হয়। অথবা আপনার কি ডেটা রিয়েল টাইম সিঙ্ক্রোনাইজেশন দরকার?
ফাইলগুলির পর্যায়ক্রমিক অ্যাসিনক্রোনাস মিররিংয়ের জন্য সাধারণত আপনার স্টাফিং এরিয়া থাকা যথেষ্ট যে আপনি আপনার সমস্ত ডেটা আপলোড করেন। এবং যেখান থেকে আপনি এটি সার্ভারগুলিতে বিতরণ করেন। আপনার ক্ষেত্রে - দুটি সার্ভার সহ - আপনি যেখানে ডেটা স্থানান্তর করেন সেখানে (এসটিপি, এনএফএস, ডিএভি, এসএফটিপি ইত্যাদির মাধ্যমে) এসআরভি 1-তে কিছু স্টেজিং ফাইলশেয়ার তৈরি করতে পারেন এবং তারপরে ক্রোনজব ফাইলগুলি "লাইভ" ডিরেক্টরিতে আরএসএনসি করতে পারেন srv1 এবং srv2। সেক্ষেত্রে আরএসসিএনসি ব্যবহারের সবচেয়ে সহজ উপায় হ'ল ডেটা স্থানান্তর করার জন্য আপনি যে এসএসএস কী-পিয়ার তৈরি করবেন এবং এটি আপনার ক্লাস্টারের সমস্ত সার্ভারে অনুমোদিত।
উদাহরণ:
srv1:/data/staging/ <= is where you upload your data
srv1:/data/production/ <= is where your servers get their production data from
srv2:/data/production/
srv1$ cat /etc/cron.d/syncdata.cron
=====
*/5 * * * * syncuser rsync -a --delete /data/staging/ /data/production/
*/5 * * * * syncuser rsync -az --delete -e ssh /data/staging/ srv2:/data/production/
=====
এটি আপনাকে একটি প্রাথমিক ধারণা দেওয়া উচিত। অবশ্যই আপনি কিছু স্ক্রিপ্টগুলিতে আরএসসিএনসি কলগুলি মোড়াতে এবং একটি সঠিক লকিং প্রয়োগ করতে চান যাতে সিঙ্কটি 5 মিনিটের বেশি গ্রহণ করে তবে এটি দ্বিগুণভাবে চালিত হয় না Also এছাড়াও, এটি স্টেজিং অঞ্চলটি বাধ্যতামূলক নয় বলে ছাড়াই যায়। আপনি পাশাপাশি srv1: উত্পাদনকে srv2: উত্পাদন সরাসরি সিঙ্ক করতে পারেন। Srv2 কেবল srv1 এর চেয়ে 5 মিনিটের বেশি পুরানো ডেটা দেখায়। আপনি দুজনের মধ্যে কীভাবে ভারসাম্য বজায় রাখছেন তার উপর নির্ভর করে কোন সমস্যা হতে পারে।
অবিচ্ছিন্নভাবে ফাইল বিতরণের আরেকটি উপায় হ'ল তাদের আরপিএম হিসাবে বা আপনার ক্ষেত্রে ডিবে ফাইল হিসাবে প্যাকেজ করা। এগুলিকে একটি কেন্দ্রীয় ভান্ডারে রাখুন এবং সেফেনিজিন, বানর বা কোনও ডিআই ম্যাসেজ বাস ভিত্তিক সমাধানের মতো কিছু মাধ্যমে ইনস্টল / আপডেট করুন have এটি মোতায়েন করা ডেটার ভার্সন করার দুর্দান্ত পার্শ্ব প্রতিক্রিয়া রাখে তবে কেবলমাত্র আপনি নিজেরাই উত্পাদন এবং স্থাপনের জন্য প্রয়োজনীয় পরিমাণের জন্য উপযুক্ত (আপনার নিজের সফ্টওয়্যারের সংস্করণগুলির মতো) is আপনি এটির সাথে টিবিএস ডেটা বিতরণ করতে চাইবেন না এবং প্রতি মিনিটে বা তারও বেশি সময় মতো উচ্চ ফ্রিকোয়েন্সি সহ পরিবর্তিত মিরর সামগ্রীতে এটি উপযুক্ত নয়।
আপনার যদি অদূরবর্তী রিয়েলটাইমে তথ্য প্রতিলিপি করা প্রয়োজন তবে ক্রোনকে কল করার পরিবর্তে এটি প্রায়শই সমকালীন হয় না তবে আপনি আপনার সিঙ্ক স্ক্রিপ্টগুলিতে কল করার জন্য ইতিমধ্যে উল্লিখিত ইনক্রনের মতো কিছু ইনোটিফাই ভিত্তিক পদ্ধতি ব্যবহার করতে পারেন। আর একটি সম্ভাব্যতা হ'ল গামিন (যা কার্নেলের সাথে উপস্থিত থাকলে অকার্যকর ব্যবহার করে) এবং আপনার নিজের সামান্য সিঙ্ক ডিমন লিখুন write সর্বশেষে তবে তা নয়, উদাহরণস্বরূপ, এসএফটিপি-র মাধ্যমে যদি সমস্ত ফাইলগুলি একটি সার্ভারে আপলোড করা হয় তবে আপনি পরীক্ষা করতে পারেন যে আপনার এসএফটিপি সার্ভার আপনাকে হুকগুলি নির্দিষ্ট করতে পারে যা ফাইল আপলোডের মতো নির্দিষ্ট ইভেন্টগুলির পরে ডাকা হয়। এই উপায়ে আপনি যখনই নতুন ডেটা আপলোড করবেন তখন আপনার সার্ভারকে আপনার সিঙ্ক স্ক্রিপ্টটি ট্রিগার করতে বলতে পারেন।
আপনার যদি ডেটাটির রিয়েল টাইম সিঙ্ক্রোনাস মিররিংয়ের প্রয়োজন হয় তবে একটি ক্লাস্টার ফাইল সিস্টেমটি ক্রমে থাকতে পারে। ইতিমধ্যে ডিআরডিবি নামকরণ করা হয়েছে। এটি ব্লক স্তরের প্রতিরূপের জন্য খুব সুন্দর এবং প্রায়শই উচ্চ উপলব্ধ মাইএসকিউএল সেটআপগুলির জন্য ব্যবহৃত হয়। আপনি জিএফএস 2, ওসিএফএস 2, লাস্টার এবং গ্লাস্টারএফএসে একবার নজর দিতে চান। যদিও লাস্টার এবং গ্লাস্টারএফস দুটি সার্ভার সেটআপের জন্য সত্যিই উপযুক্ত নয়।
মূলত আপনার 3 টি সম্ভাবনা রয়েছে:
আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে উপর নির্ভর করে - আপনি ডিআরবিডি http://www.drbd.org/ এর অনুরূপ কিছু ব্যবহার করতে পারেন
আপনি যদি এখানে একটি ব্যাকআপ সমাধান তৈরি করার চেষ্টা করছেন (যা আমি ব্যক্তিগতভাবে বেশ কয়েকটি একই সেটআপে করেছি) তবে মনোযোগী হোন। আপনার বিপরীতে অনেকগুলি দ্বিখণ্ডিত থিংগ রয়েছে যাগুলির মধ্যে একটি (তর্কযুক্ত) সবচেয়ে বড় অ্যাকসেন্টাল মুছে ফেলা - কোনও লাইভ প্রতিলিপি সিস্টেম কেবল মুছে ফেলার প্রতিলিপি তৈরি করবে এবং কোনও সুরক্ষা প্রমাণ করবে না। এটির জন্য দৈনিক প্রতিরূপ কাজ করে তবে এটি একটি বেশ দুর্বল উত্তর। আরএসএন্যাপশট চেষ্টা করুন।
অভিন্নতা আপনার পক্ষে ভাল কাজ করতে পারে তবে আমার কোনও ব্যক্তিগত অভিজ্ঞতা নেই।
অ্যাপ্রোপ্রেট ফ্ল্যাগগুলির সাথে উভয় দিকে রাইকিঙ্ক চালানো কাজ করতে পারে তবে এটি মুছে ফেলা ফাইলগুলি কীভাবে পরিচালনা করতে হবে তার বিশেষ জটিল সমস্যা রয়েছে, বিশেষ হ্যান্ডেলিং ছাড়াই এটি কেবল ফাইলগুলি পুনরুদ্ধার করে, যা আপনি যদি আমার মতো কিছু মুছতে না চান তবে ঠিক আছে, তবে কিছুটা অন্যথায় দরিদ্র কোনও ফাইল সরানো হলে এটি অদ্ভুত জিনিসগুলিও করে।
আপনি যা কিছু করছেন না কেন, যদি উভয় প্রান্তে একসাথে ফাইলগুলি সম্পাদনা করা যায় এমন কোনও পরিস্থিতি দেখা দিতে পারে তবে আপনার সমস্যা আছে। একত্রীকরণ হ'ল একমাত্র সমাধান যা আমি জানি এটি সন্তোষজনকভাবে এমনকি এটিকে হ্যান্ডেল করতে পারে।
যদি এটি একমুখী হয় (মানে, সর্বদা একটি সার্ভার থেকে অন্য সার্ভারে, তবে বিপরীতে নয়) আপনি ব্যবহার করতে পারেন incron
। এটি ক্রোন এর মতো তবে ফাইল সিস্টেমের ইভেন্টের উপর ভিত্তি করে।
যতবারই কোনও ফাইল তৈরি বা পরিবর্তিত হয়, এটি অন্য কোনও সার্ভারে স্কিপ বা আরএসআইএনসি ট্রিগার করে।
দ্বি-দিকীয় লুপগুলির সমস্যা আছে :)।
এটি আপনার প্রয়োজনের উপর নির্ভর করে ..... আমার কাছে ক্লাস্টারযুক্ত ওয়েবসার্ভারগুলির জন্য খুব "সস্তা এবং সহজ" সেটআপ রয়েছে।
আমার কাছে কেবল একটি "ফাইলসার্ভার" (এনএফএস) রয়েছে যেখানে সমস্ত ওয়েবসার্ভার নিম্নলিখিত ডায়ারগুলি মাউন্ট করে:
/etc/apache/sites-enabled
/etc/apache2/sites-avaliable
/var/www
মৃত সহজ এবং কাজ
ক্লোনজিলাও দেখতে পারে যা আরএসসিএন ব্যবহার করে