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


10

আমার একটি সার্ভার রয়েছে যা এনএফএসের মাধ্যমে নেটওয়ার্ক ক্লায়েন্টগুলিতে local মিলিয়ন ডলার ফাইল (বেশিরভাগ চিত্র) সম্বলিত একটি ডিরেক্টরি রফতানি করে ।

আমি এইচএ এর পক্ষে একটি দ্বিতীয় যুক্ত করা প্রয়োজন এবং এটির সাথে প্রথমটির সাথে সামান্য ব-দ্বীপের সাথে যতটা সম্ভব সম্ভব সামঞ্জস্য রেখেছি।

গবেষণা এর জন্য lsyncd বা অন্যান্য inotify ভিত্তিক সমাধানগুলি ব্যবহার করার পরামর্শ দিচ্ছে , তবে ইনোটিফাই ওয়াচগুলি তৈরি করা ফাইলগুলির সংখ্যা দেওয়া চিরন্তন লাগে takes একই জিনিস rsync

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

নোট করুন যে ক্রিয়াকলাপটি বেশিরভাগ ক্ষেত্রেই কম লেখার সাথে পড়ে।


2
ডিআরডিবি সূক্ষ্মভাবে কাজ করে এবং 2-মেশিনের ক্লাস্টার সেটআপে সেটআপ করা ও বোঝার পক্ষে সহজ; তবে এটি অদূর ভবিষ্যতে স্কেল করবে না। বিষয়টিতে অন্যান্য পন্থাও থাকতে পারে। highscalability.com/blog/2012/6/20/…
রুই এফ রিবেইরো

আপনি কি rsyncডেমন মোডে চালানোর চেষ্টা করেছিলেন ? rsyncকমান্ডটি চালানোর সময় এটি ফাইল তালিকার প্রাথমিক প্রজন্মের গতি বাড়িয়ে তুলবে , তবে ফাইলগুলির পরিমাণের উপর নির্ভর করে র‌্যাম নিবিড় হবে।
টমাস

আপনি কত বিলম্ব সহ্য করতে পারেন? আপনি কয়েক মিনিটের সহ্য যদি করতে পারেন (বা তার বেশি) ব্যবহার btrfsবা zfsএকটি বিকল্প, একটি ক্রন কাজ সঙ্গে মিলিত snapsnots তৈরি করতে হতে পারে এবং zfs sendবা btrfs sendব্যাকআপ সার্ভারে তাদের। আরএসসিএন-এর চেয়ে অনেক দ্রুত এবং অনেক বেশি হালকা ওয়ার্কলোড (প্রেরক এবং রিসিভার উভয় মেশিনের জন্য) কারণ স্ন্যাপশট + প্রেরণের জন্য ফাইল টাইমস্ট্যাম্প বা চেকসামের তুলনা করার দরকার নেই।
কাশ

বিটিডাব্লু , সিফের সাহায্যে আপনি এটি কোনও ফাইল সিস্টেমের পরিবর্তে অবজেক্ট স্টোর (যেমন অ্যামাজনের এস 3 বা ওপেনস্ট্যাকের সুইফ্ট) হিসাবে ব্যবহার করার বিকল্প পাবেন। আসলে, কেফের fs আসলে তার অবজেক্ট-স্টোরের উপরে স্তরযুক্ত।
কাস

@ থমাস: rsync -aডেমন (উত্স অনুসারে) ব্যবহার করতে 200 মিনিট সময় লাগে যা গ্রহণযোগ্যতার চেয়ে বেশি। @ ক্যাস: এটির জন্য btrfs sendআমি লক্ষ্য করব একটি শটের জন্য মূল্য হতে পারে। আমি কোনও বস্তুর দোকানে যেতে পারি না কারণ আমি যে অ্যাপ্লিকেশনগুলি ফাইলগুলি ব্যবহার করি তার বিকাশকারী না not
user60039

উত্তর:


1

আমি প্রতিলিপি প্রস্তাব করতে ঝুঁকছি যা ডেবিডির মতো ডেটা অজ্ঞোস্টিক। বিপুল সংখ্যক ফাইলগুলি "ব্লক স্টোরেজ" এর চেয়ে বেশি উচ্চ স্তরে বৃক্ষের হাঁটাচলা করার জন্য অযৌক্তিক সময় ব্যয় করতে পারে - যেমন আপনি আরএসসিএনসি ব্যবহার করে বা ইনোটিফাই ওয়াচ তৈরি করেছেন।

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

মনে রাখবেন যে আপনাকে সম্ভবত মেশিনগুলির মধ্যে মাস্টার নির্বাচন করার উপায় খুঁজে পেতে হবে, বা বিতরণ লকিং প্রয়োগ করতে হবে। ভাগ করা ব্লক ডিভাইস সমাধানগুলির জন্য একটি ফাইল সিস্টেমের প্রয়োজন যা মাল্টি-মাস্টার সচেতন (জিএফএসের মতো), বা কেবলমাত্র একটি নোড ফাইল সিস্টেম রিড-রাইটিং মাউন্ট করতে পারে। তাদের নীচে ব্লক ডিভাইস স্তরে ডেটা পরিবর্তন করা হয় তখন সাধারণভাবে অপছন্দ করে ফাইল সিস্টেমগুলি। তার মানে আপনার ক্লায়েন্টদের সেখানে কোন মাস্টার এবং তা সরাসরি লেখার অনুরোধ জানাতে সক্ষম হবেন। এটি বড় উপদ্রব হতে পারে। জিএফএস এবং এর সমস্ত সহায়ক অবকাঠামো যদি একটি বিকল্প হয় তবে মাল্টি-মাস্টার মোডে ড্রিবড (তারা এটিকে "ডুয়াল প্রাথমিক" বলে ডাকে) ভালভাবে কাজ করতে পারে। এই বিষয়ে আরও তথ্যের জন্য https://www.drbd.org/en/doc/users-guide-83/s-dual-primary-mode

আপনি যে দিকনির্দেশনা নিয়েই যান না কেন, আপনি সান কোম্পানিকে কেবল একটি ট্রাক বোঝাই না দিয়ে রিয়েলটাইম করা এটি এখনও মোটামুটি বড় ব্যথা।


আমি ক্রোনটিতে আরএসসিএন কমান্ড থেকে বিতরণকারী ফাইল সিস্টেম ব্যবহার করে স্থানান্তরিত করার প্রাথমিক পর্যায়ে আছি। যদি গ্লাস্টার সমস্ত ইটগুলিতে স্ট্যাট (() চালায় তবে সমাধান হিসাবে আমার এটি পুনর্বিবেচনা করার প্রয়োজন হতে পারে।
যিশু’র

1
একটি প্রতিলিপি ফাইল সিস্টেমের ক্ষেত্রে এটি কেবলমাত্র; এটি stat()সমস্ত ইট নিয়ে চলতে থাকে যার মধ্যে আপনি যে নির্দিষ্ট ব্লকটি দেখছেন তার প্রতিলিপি রয়েছে। উদাহরণস্বরূপ, আপনার কাছে যদি 2x2 স্ট্রিপযুক্ত statপ্রতিলিপি থাকে তবে প্রতিলিপিটি ব্লকের সাথে দুটি ইটটিতে চালিত হবে তবে অন্য দুটিটিতে নয়। আমার অ্যাপ্লিকেশনটিতে প্রচুর ছোট ফাইল (প্রতিটি 4K ডেটার অধীনে এক মিলিয়ন ফাইলের ক্রম অনুসারে), এনএফএস বা এফইএসই উভয়ই প্রতিলিপিযুক্ত ভলিউমে ভাল পারফরম্যান্স সরবরাহ করতে পারে নি। এবং 20 ডলার মেশিনে জিওরপ্লিকেশন বেশ কয়েকটি কনফিগারেশনে খুব বিশ্বাসযোগ্য নয়।
dannysauer

1
আপনার মাইলেজটি পৃথক হতে পারে, তবে আমি গ্লাস্টার থেকে সর্বত্র সরে এসেছি (যা আমি প্রতিরূপের জন্য একচেটিয়াভাবে ব্যবহার করছিলাম, অন্যান্য সত্যিই দুর্দান্ত জিনিসগুলির জন্য নয় যা গ্লাস্টার আসলে ভাল করে থাকে) নেটিভ ফাইল সিস্টেমে আরএসএনসি করতে। :) আমি ক্রোনের পরিবর্তে এখন lsyncd ( github.com/axkibe/lsyncd ) এ যাওয়ার দিকে তাকিয়ে আছি , যাতে আমি গ্লাস্টার ওভারহেড ছাড়াই রিয়েল- টাইমের কাছে যেতে পারি।
dannysauer

0

আমি প্রক্সমাক্স ভিই সেটআপটির সাহায্যে আরএসসিএনসি থেকে সিপিতে সরিয়েছি।

এখন আমি লাইভ রেপ্লিকেশন সহ একটি ক্লাস্টারে 14 টিবি পরিচালনা করছি। প্রায় 4 বছর ধরে।

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