দুটি দূরবর্তী লিনাক্স সার্ভারের মধ্যে বৃহত ফাইল গাছের দ্বি-নির্দেশিত রিয়েল-টাইম সিঙ্ক


21

বড় ফাইল ট্রি দ্বারা আমার অর্থ প্রায় 200k ফাইল, এবং সর্বদা বাড়ানো। অপেক্ষাকৃত কম সংখ্যক ফাইলের যে কোনও নির্দিষ্ট সময়ে পরিবর্তন করা হচ্ছে।

দ্বি নির্দেশমূলক দ্বারা আমি বোঝাতে চাইছি যে কোনও একটি সার্ভারে পরিবর্তনগুলি দেখা দিতে পারে এবং অন্যটিতে ধাক্কা দেওয়ার প্রয়োজন হয়, সুতরাং rsync উপযুক্ত বলে মনে হয় না।

দূর থেকে আমি বোঝাতে চাইছি যে সার্ভারগুলি উভয়ই ডেটা সেন্টারে রয়েছে তবে ভৌগলিকভাবে একে অপর থেকে দূরে রয়েছে। বর্তমানে কেবল ২ টি সার্ভার রয়েছে তবে এটি সময়ের সাথে সাথে প্রসারিত হতে পারে।

রিয়েল-টাইম দ্বারা, সিঙ্কের মধ্যে কিছুটা বিলম্ব হওয়া ঠিক আছে তবে প্রতি 1-2 মিনিটে ক্রোন চালানো সঠিক মনে হয় না, যেহেতু ফাইলগুলির খুব ছোট ভগ্নাংশ কোনও নির্দিষ্ট সময়ের মধ্যে পরিবর্তিত হতে পারে, এক মিনিট চলুন।

সম্পাদনা : এটি ভিপিএস-এ চলছে তাই আমি যে ধরণের কার্নেল-স্তরের জিনিসগুলি করতে পারি তার মধ্যে আমার সীমাবদ্ধ থাকতে পারে। এছাড়াও, ভিপিএসগুলি সংস্থান-সমৃদ্ধ নয়, তাই আমি এমন সমাধানগুলি থেকে দূরে থাকি যার জন্য প্রচুর পরিমাণে ভেড়া প্রয়োজন (গ্লাস্টারের মতো?)।

এটি সম্পন্ন করার জন্য সেরা / সর্বাধিক "গৃহীত" পদ্ধতির কী? এটি মনে হয় এটি একটি সাধারণ প্রয়োজন হবে তবে আমি এখনও একটি সাধারণভাবে গৃহীত পদ্ধতির সন্ধান করতে পারিনি, যা অবাক করার মতো ছিল। (আমি জনগণের সুরক্ষা চাইছি। :)

ফাইল সিস্টেম পরিবর্তন স্তরটিতে একটি সিঙ্ক তৈরি করতে আমি lsyncd জুড়ে এসেছি । এটিকে চতুর বলে মনে হয় যদিও এটি অতি সাধারণ না, এবং আমি বিভিন্ন লিঙ্কযুক্ত পন্থায় কিছুটা বিভ্রান্ত হয়ে পড়েছি। আরএসইএনসি-র সাথে সবেমাত্র লিনসিএনসিডি ব্যবহার করা হচ্ছে, তবে এটি দ্বিদ্বিধায়নের জন্য ভঙ্গুর হতে পারে কারণ আরএসসিএন-এর স্মৃতিচারণের ধারণা নেই (উদাহরণস্বরূপ- A- এ মুছে ফেলা ফাইলটি বি-তে মুছে ফেলা উচিত কিনা বা এটি বি তে একটি নতুন ফাইল রয়েছে কিনা তা জানতে) এটিকে অনুলিপি করা উচিত)। ঠোঁটসিঙ্কটি কেবল একটি লিনসিএনডি + আরএসএনসিই বাস্তবায়ন হিসাবে দেখা যাচ্ছে, তাই না?

তারপরে csync2 এর সাথে lsyncd ব্যবহার করা হচ্ছে , এর মতো: https://icicimov.github.io/blog/devops/File-system-sync-with-Csync2-and-Lsyncd/ ... আমি এই পদ্ধতির দিকে ঝুঁকছি , তবে যদিও আমি এটির একটি সফল পরীক্ষা করেছিলাম, তবে সিএনসিএন 2 একটু উদ্ভট is আমি বেশিরভাগ ক্ষেত্রেই উদ্বিগ্ন যে আমি এই পদ্ধতির অনেক সম্প্রদায় নিশ্চিতকরণ খুঁজে পাইনি।

এখানকার লোকেরা ইউনিসনকে অনেক পছন্দ করতে পারে বলে মনে হয় তবে এটি মনে হয় যে এটি আর সক্রিয় বিকাশের অধীনে নেই এবং এটি স্পষ্ট নয় যে এটিতে লিসএনসিডির মতো একটি স্বয়ংক্রিয় ট্রিগার রয়েছে।

আমি গ্লাস্টারকে উল্লেখ করে দেখেছি , তবে আমার প্রয়োজনের জন্য ওভারকিল হতে পারে?

আপডেট: fyi- আমি উল্লিখিত মূল সমাধানটি সহ শেষ করেছিলাম: lsyncd + csync2। এটি বেশ ভালভাবে কাজ করছে বলে মনে হচ্ছে এবং সার্ভারগুলি খুব স্বাচ্ছন্দ্যে যোগদানের আর্কিটেকচারাল পদ্ধতিটি পছন্দ করি, যাতে প্রতিটি সার্ভার তাদের মধ্যে লিঙ্কের গুণমান নির্বিশেষে নিজেরাই অনির্দিষ্টকালের জন্য পরিচালনা করতে পারে।


আপনার কী ধরণের পরিবর্তনগুলি পরিচালনা করতে হবে? EG তৈরি, মুছে ফেলা, পরিবর্তন।
সাইরাস

এছাড়াও, আপনি কি বিরোধের প্রত্যাশা করছেন? উভয় সার্ভারে একই ফাইলটি সংশোধন করা যেতে পারে?
সাইরাস

সমস্ত পরিবর্তন: সৃষ্টি, মোছা, পরিবর্তন ification দ্বন্দ্বের সম্ভাবনা রয়েছে তবে সেগুলি বিরল হওয়া উচিত। আমার তখন কোনও দ্বন্দ্বের বিষয়ে যদি আমি কেবল সতর্কতা পাই তবে আমাকে ম্যানুয়ালি সমাধান করতে হবে তাতে আমি আপত্তি করব না।
dlo

উত্তর:


5

DRBD মধ্যে ডুয়াল-প্রাথমিক একটি সঙ্গে মোড প্রক্সি একটি বিকল্প।


প্রক্সিটি ওপেন সোর্স বা ফ্রি হতে পারে না, তাই না? আমি নিশ্চিত নই যে অ্যাসিঙ্ক মোডে প্রক্সি না রাখার পরিণতিটি আমি বুঝতে পেরেছি: বর্ধিত ডাউনটাইমের সময় যদি প্রক্সি না থাকে তবে [ছোট?] আউটপুট বাফার পূরণ করতে পারে এবং আমরা সিঙ্কটি হারাব? এটি থেকে পুনরুদ্ধার করা কি কঠিন?
dlo

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

2

সিঙ্ক করার পরিবর্তে, কেন এনএফএসের সাথে একই ফাইল সিস্টেমটি ভাগ করবেন না?


2
এনএফএস ভয়ঙ্কর, ঠিক ভয়ঙ্কর। যে কোনও কিছুই
এনএফএসের

2
মাল্টি-সার্ভার সেটআপের মূল পয়েন্টগুলির মধ্যে একটি হ'ল ফেলিওভার / রিডানডেন্সি। সুতরাং একটি সার্ভার অবশ্যই অন্যটি ছাড়া চালিয়ে যেতে সক্ষম হবে।
dlo

আপনার প্রশ্নটিতে তখন উল্লেখ করা উচিত ছিল - পুরোপুরি যুক্তিসঙ্গত উত্তর দেওয়ার দরকার নেই!
বার্ট বি

fyi আমি এটিকে হ্রাস করি নি - অন্য কেউ করেছে। তবে হ্যাঁ, আমার এটি শুরু হওয়া উচিত ছিল।
dlo

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

2

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

আমি মনে করি না যে গ্লাস্টার (বা এএফএস) মোটেই ওভারকিল হয়েছে।


গ্লাস্টারের জন্য 1 জিবি র‌্যাম দরকার? gluster.com/commune/docamentation/index.php/… ... আমি একটি ভিপিএসেও রয়েছি, সুতরাং এএফএসের প্রয়োজন হতে পারে কার্নেল স্তরের পরিবর্তনগুলি সম্পর্কে আমি নিশ্চিত নই। তবে আমি দেখতে শুরু করি যে একটি সঠিক বিতরণ করা fs সবচেয়ে ভাল পথ।
dlo

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

এএফএস হবার উপায়।
অ্যান্টনি জর্জিও

2

আপনার ক্ষেত্রে আমি ডুয়াল-প্রাথমিক-মোড এবং জিএফএস বা ocfs এ ডিআরবিডি সংমিশ্রনের প্রস্তাব দিচ্ছি।

ডুয়াল-প্রাথমিকের মধ্যে DRBD এর অপূর্ণতাটি এটি সিঙ্ক্রোনাস মোডে চলবে। তবে লেখার গতি এখানে ঠিক গুরুত্বপূর্ণ বলে মনে হচ্ছে না?

অনেকগুলি (২+) আইএসসিএসআই-টার্গেট ব্যবহার করে ডিআরবিডি-র বিকল্প একটি সফট-রেড 1 হতে পারে - তবে আমি দুটি নোডের সাথে ডিআরবিডি পছন্দ করব prefer


1
সিঙ্ক্রোনাস মোডটি খারাপ হবে - আমার এটির দরকার নেই, এবং সার্ভারগুলি মহাদেশ জুড়ে একটি ডাব্লুএইচএএন এর সাথে সংযুক্ত থাকায় আমি পারফরম্যান্সকে হ্রাস করতে চাই না। তবে অ্যাসিঙ্ক মোডে আপনার দ্বৈত-প্রাথমিক থাকতে পারে না?
dlo

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

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

0

উপরে প্রদর্শিত হিসাবে, অনেকগুলি সমাধান পাওয়া যায়, যার প্রতিটি তার সুবিধাগুলি এবং ঘাটতি রয়েছে।

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


0

একই জিনিসটি সম্পর্কে সন্ধানের কিছুটা অবসান ঘটিয়ে আমি গ্লাস্টার দিয়ে চলেছি। তবে, আমি কোনও পারফরম্যান্স পরীক্ষা করেছি বা খুঁজে পাইনি।

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