উবুন্টুতে দুটি সেভার মিরর করার কোনও উপায় আছে কি?


8

আমি ভাবছিলাম যে দুটি সার্ভারের মিরর দেওয়া সম্ভব, যেমন আপনি একটি সার্ভারে ফাইল আপলোড করতে পারেন এবং তারা অন্য সার্ভারে চাপ দিতে চান ইত্যাদি mirror সেটআপ (তবে এটি খুব সুন্দরও হবে!)


ফাইল মিররিং: গ্লাস্টার বা ডিআরডিবি; ওয়েবসাইট মিররিং: বার্নিশ বা HAProxy; ডিবি মিররিং: মাইএসকিউএল বিজ্ঞপ্তি প্রতিলিপি, বা পোস্টগ্রিজের প্রতিলিপি; - বেশিরভাগ সার্ভার প্যাকেজগুলির মধ্যে একটি ক্লাস্টার অপারেশন মোড থাকে, বা এমন বিপরীত প্রক্সি রয়েছে যা আপনাকে এটি করতে দেয়।
টম ও'কনোর

উত্তর:


6

এটি হাতের কাজের উপর নির্ভর করে।

আপনার কেন ফাইল মিররিং দরকার। আপনি কি এমন কোনও ওয়েবসাইট বা সামগ্রী সামগ্রীগুলির মতো কিছু আপডেট করতে চান যেখানে পর্যায়ক্রমে আপডেট করা ঠিক হয়। অথবা আপনার কি ডেটা রিয়েল টাইম সিঙ্ক্রোনাইজেশন দরকার?

ফাইলগুলির পর্যায়ক্রমিক অ্যাসিনক্রোনাস মিররিংয়ের জন্য সাধারণত আপনার স্টাফিং এরিয়া থাকা যথেষ্ট যে আপনি আপনার সমস্ত ডেটা আপলোড করেন। এবং যেখান থেকে আপনি এটি সার্ভারগুলিতে বিতরণ করেন। আপনার ক্ষেত্রে - দুটি সার্ভার সহ - আপনি যেখানে ডেটা স্থানান্তর করেন সেখানে (এসটিপি, এনএফএস, ডিএভি, এসএফটিপি ইত্যাদির মাধ্যমে) এসআরভি 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, লাস্টার এবং গ্লাস্টারএফএসে একবার নজর দিতে চান। যদিও লাস্টার এবং গ্লাস্টারএফস দুটি সার্ভার সেটআপের জন্য সত্যিই উপযুক্ত নয়।


ডিআরবিডি দেখতে দুর্দান্ত লাগছে। একটি সার্ভারের লাইভ থাকার সাথে এটি ব্যবহার করা কি খারাপ? এটি লাইভ সার্ভারকে কীভাবে প্রভাবিত করবে?
কাইল

নির্ভর করে - লাইভ সার্ভার কী করছে? এটি কি ওয়েবসারভার, ডাটাবেস সার্ভার, ফাইলসভার ইত্যাদি? ডিআরবিডি এটির সাথে যুক্ত সমস্ত ইমপ্লিকেশন সহ সিঙ্ক্রোনাস প্রতিলিপি করে। আপনি সিঙ্গেল-প্রাথমিক বা দ্বৈত-প্রাথমিক নির্দিষ্ট আই / ও ক্যাচিং (এবং ফাইল সিস্টেম) নিষেধাজ্ঞাগুলি প্রয়োগ করবে যা আপনার অ্যাপ্লিকেশনগুলিকে প্রভাবিত করে Dep বিশদগুলির জন্য আমি DRBD ব্যবহারকারীর গাইড drbd.org/users-guide-emb পড়ার পরামর্শ দিচ্ছি যা খুব ভালভাবে লেখা আছে এবং সমস্ত প্রচ্ছন্নতার বিষয়টি বিশদভাবে ব্যাখ্যা করে।
লুকাশ লোশে

5

মূলত আপনার 3 টি সম্ভাবনা রয়েছে:

  1. আপনার অ্যাপ্লিকেশনটিকে উভয় সার্ভারে ফাইলগুলি ধাক্কা দিন।
  2. অ্যাসিঙ্ক্রোনাস প্রতিলিপি, উদাহরণস্বরূপ ক্রোন কাজের সাথে প্রতি 15 মিনিটে (বা তার কম) আরএসসিএনসি
  3. ফাইল সিস্টেমে সিঙ্ক্রোনাস প্রতিলিপি (যেমন গ্লাস্টারএফএস ) বা ব্লক ডিভাইস স্তর (যেমন ডিআরবিডি )। আপনি ব্লক ডিভাইস স্তরের উপর রেপ্লিকেশন ব্যবহার করেন, তাহলে আপনি একটি ফাইল ব্যবস্থা যা বিতরণ করা লকিং (যেমন সমর্থন প্রয়োজন OCFS2 বা GFS2- র ) আপনি R / আছে W একই সময়ে উভয় সার্ভার থেকে ফাইলগুলিতে অ্যাক্সেসের চাই।



1

আপনি যদি এখানে একটি ব্যাকআপ সমাধান তৈরি করার চেষ্টা করছেন (যা আমি ব্যক্তিগতভাবে বেশ কয়েকটি একই সেটআপে করেছি) তবে মনোযোগী হোন। আপনার বিপরীতে অনেকগুলি দ্বিখণ্ডিত থিংগ রয়েছে যাগুলির মধ্যে একটি (তর্কযুক্ত) সবচেয়ে বড় অ্যাকসেন্টাল মুছে ফেলা - কোনও লাইভ প্রতিলিপি সিস্টেম কেবল মুছে ফেলার প্রতিলিপি তৈরি করবে এবং কোনও সুরক্ষা প্রমাণ করবে না। এটির জন্য দৈনিক প্রতিরূপ কাজ করে তবে এটি একটি বেশ দুর্বল উত্তর। আরএসএন্যাপশট চেষ্টা করুন।

অভিন্নতা আপনার পক্ষে ভাল কাজ করতে পারে তবে আমার কোনও ব্যক্তিগত অভিজ্ঞতা নেই।

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

আপনি যা কিছু করছেন না কেন, যদি উভয় প্রান্তে একসাথে ফাইলগুলি সম্পাদনা করা যায় এমন কোনও পরিস্থিতি দেখা দিতে পারে তবে আপনার সমস্যা আছে। একত্রীকরণ হ'ল একমাত্র সমাধান যা আমি জানি এটি সন্তোষজনকভাবে এমনকি এটিকে হ্যান্ডেল করতে পারে।


নোট করুন যে নীচে উল্লিখিত লুপগুলি রাইকিঙ্কের সাথে কোনও সমস্যা হবে না, কারণ এটি সঠিকভাবে সেট করা থাকলে ফাইলগুলি স্থানান্তর করার পরিবর্তনের তারিখগুলি বজায় রাখে।
থিংমমি

0

যদি এটি একমুখী হয় (মানে, সর্বদা একটি সার্ভার থেকে অন্য সার্ভারে, তবে বিপরীতে নয়) আপনি ব্যবহার করতে পারেন incron। এটি ক্রোন এর মতো তবে ফাইল সিস্টেমের ইভেন্টের উপর ভিত্তি করে।

যতবারই কোনও ফাইল তৈরি বা পরিবর্তিত হয়, এটি অন্য কোনও সার্ভারে স্কিপ বা আরএসআইএনসি ট্রিগার করে।

দ্বি-দিকীয় লুপগুলির সমস্যা আছে :)।


0

এটি আপনার প্রয়োজনের উপর নির্ভর করে ..... আমার কাছে ক্লাস্টারযুক্ত ওয়েবসার্ভারগুলির জন্য খুব "সস্তা এবং সহজ" সেটআপ রয়েছে।

আমার কাছে কেবল একটি "ফাইলসার্ভার" (এনএফএস) রয়েছে যেখানে সমস্ত ওয়েবসার্ভার নিম্নলিখিত ডায়ারগুলি মাউন্ট করে:

/etc/apache/sites-enabled
/etc/apache2/sites-avaliable
/var/www

মৃত সহজ এবং কাজ


0

ক্লোনজিলাও দেখতে পারে যা আরএসসিএন ব্যবহার করে


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