বড় মঙ্গোডিবি ডাটাবেস কীভাবে ব্যাকআপ করবেন


15

মঙ্গোডিবি-তে বড় ডেটা সেটগুলি ব্যাক আপ করার প্রস্তাবিত উপায় কী? ধরা যাক 10TB এর ক্রমে আমাদের একটি ডেটা আকার রয়েছে - আপনি কীভাবে এটি ব্যাক আপ করবেন?

আমরা একটি লুকানো, সম্ভবত বিলম্বিত, প্রতিরূপ সেট নোড বিবেচনা করছি। বিলম্ব আমাদের পুরো ডাটাবেসের দুর্ঘটনাজনিত ড্রপ থেকে রক্ষা করবে। এটি কি একটি কার্যকর সমাধান এবং আপনি অন্য কোন বিকল্প অনুসন্ধানের সুপারিশ করবেন?

ধন্যবাদ!

উত্তর:


21

ব্যাক আপ করার জন্য 10 টিবি প্রয়োজন সহ এটি কিছুটা জটিল হয়ে যায়।

যথাযথ ব্যাকআপগুলির জন্য প্রতিলিপিগুলি কোনও প্রতিস্থাপন নয়

বিলম্বিত প্রতিরূপ সেট সদস্যরা আপনাকে দুর্ঘটনাজনিত ক্রিয়াকলাপে সহায়তা করার তুলনামূলক সহজ উপায় সরবরাহ করতে পারে, সঠিক ব্যাকআপের জন্য কোনও প্রতিস্থাপন নেই, অনেকটা RAID ফাইল সিস্টেম ভিত্তিক ব্যাকআপের জন্য প্রতিস্থাপন নয়।

প্রস্তাবনা

আপনার সেটআপটি কেমন দেখাচ্ছে তার উপর এটি ভারী নির্ভর করে।

সান স্ন্যাপশট

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

মংডাম্প ব্যবহার করবেন না

মোংডাম্প ব্যবহার সম্পর্কে আমার রোল্যান্ডোমাইএসকিউএলডিবিএর সাথে একমত হতে হবে না। প্রথমত, এটি সার্ভারে লক চাপায়। যদিও এগুলি তুলনামূলকভাবে দ্রুত উত্তোলন করা হয়েছে, তত সংখ্যক তালা যুক্ত হতে পারে এবং আপনার ক্রিয়াকলাপে হস্তক্ষেপ করতে পারে, যদি না কোনও গোপন নোডে চালানো হয় বা যখন দ্বিতীয়টি পড়ার পছন্দ না থাকে। এছাড়াও, এটি ঠিক দ্রুত নয়। আমি আশা করি এটি কয়েক ঘন্টা চালিত হবে, কমপক্ষে, সম্ভবত আপনার ব্যাকআপ উইন্ডোর চেয়ে বেশি সময় নিবে। সাইড নোট: সঙ্গে সবসময় চলতে mongodump --oplogবিকল্প। এছাড়াও মনে রাখবেন যে মংডাম্প সূচকগুলি ব্যাকআপ করে না, তবে সূচকগুলি তৈরি করার জন্য ক্রিয়াকলাপ। এই সূচকগুলি পুনরুদ্ধারকালে পুনরায় তৈরি করতে হবে, যা আপনার এটির জন্য প্রয়োজন সময় বাড়িয়ে দিতে পারে। আমার অভিজ্ঞতা থেকে, যদি আপনাকে কোনও ডাটাবেস পুনরুদ্ধার করতে হয় তবে আপনি এটি যত তাড়াতাড়ি করতে চান। মোংডাম্প কেন 10 টিবি ব্যাক আপ করার জন্য উপযুক্ত নয় Another

এলভিএম স্ন্যাপশটের নোটস

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

আসুন ধরে নেওয়া যাক আপনার 500 ঘন্টা গিগাবাইটের পরিবর্তনের হার রয়েছে। এবং এটি যে কোনও স্টোরেজে আপলোড হওয়ার আগে আপনি আপনার ব্যাকআপটি পিছলে যেতে চাইছেন। এমনকি সমান্তরাল bzip2 ব্যবহার করার সময় , 10 টিবির সংক্ষেপণটি শেষ করতে কয়েক ঘন্টা প্রয়োজন হবে, কেবলমাত্র কারণ যে আপনি সম্ভবত স্টোরেজ থ্রুপুটটি আপনার সীমিত ফ্যাক্টর হয়ে উঠবেন। আসুন ধরে নেওয়া যাক 2TB তে ডেপ্রেস করতে 2 ঘন্টা সময় লাগবে। সুতরাং এতক্ষণে আমাদের কিছুটা 2 টিবি + 2 * 500 জিবি ফ্রি ডিস্ক স্পেস মোট প্রয়োজন হবে, এলভিএম স্ন্যাপশটের জন্য 1TB প্রয়োজন। এটি কমপক্ষে আপনার ফাইল সিস্টেমের অতিরিক্ত সংস্থান করার প্রয়োজনীয়তা তৈরি করবে30%। আপনি যদি যথাযথ সুরক্ষা মার্জিন রাখতে চান তবে এটি সহজেই মূল ফাইল সিস্টেমের জন্য ০.৮ ব্যবহারের জন্য factor০-70০% (২০%) হয়ে যেতে পারে, স্ন্যাপশটের আকারের সাথে একইভাবে বিজেপিড ব্যাকআপের জন্য প্রয়োজনীয় স্থান প্রয়োজন )। বেশিরভাগ উত্পাদনের পরিবেশে, এটি অগ্রহণযোগ্য হবে, যেহেতু ওভারের বিধানটি অচল থাকবে (আপনি আপনার এলভিএমের সাথে গতিশীলভাবে ব্যাকআপ স্ক্রিপ্ট চাইবেন না, আপনি কি?)।

এমএমএস ব্যাকআপ

এমএমএস ব্যাকআপে কিছু দুর্দান্ত বৈশিষ্ট্য রয়েছে (ধারাবাহিক ব্যাকআপ, সময় পুনরুদ্ধারের সহজ পয়েন্ট), এটি কিছু গুরুতর অসুবিধা নিয়ে আসে: বড় মোতায়েনের জন্য এর মূল্য ট্যাগটি হাজারে সহজেই হতে পারে। এই 10 টিবিতে 500 গিগাবাইটের অনুমানযুক্ত ঘন্টার পরিবর্তনের হারের সাথে এটি ক্লাউড ব্যাকআপের জন্য মাঝারি ছয়-চিত্রের যোগফল হবে । মাসিক।

আমার পরামর্শ তিনি আপনার সার্ভারগুলির জন্য ব্যাকআপ সহ প্রাইমিস এমএমএস উদাহরণ পাওয়ার যোগ্যতার জন্য একটি এন্টারপ্রাইজ সাবস্ক্রিপশন নেবেন ।

সারসংক্ষেপ

অগ্রাধিকারের ক্রমবর্ধমান ক্রমটি আমি গ্রহণ করব এমন বিকল্পগুলি এখানে।

  1. সান স্ন্যাপশটস: তুলনামূলকভাবে সস্তা, কার্যকর করা সহজ
  2. এন্টারপ্রাইজ সাবস্ক্রিপশন: সেরা বৈশিষ্ট্য। এটি ইনস্টল করুন, এটি কনফিগার করুন, এটি ভুলে যান, যখন আপনার প্রয়োজন হবে এটি সেখানে রয়েছে
  3. LVM স্ন্যাপশট: কার্যকর করা সহজ, তবে বিধানের জন্য প্রয়োজনীয় ব্যয়গুলি সময়ের সাথে সামঞ্জস্য হতে পারে।

5

দুটি বিকল্প আছে

শারীরিক ব্যাকআপ

আপনি যদি ডাউনটাইম আপত্তি না করেন তবে করণীয় সহজ কাজ

service mongod stop

একটি ডিভিএম স্ন্যাপশট বা cpঅন্য ডিস্কে মঙ্গো ডেটা ফোল্ডারের একটি জোর বল প্রয়োগ করুন

service mongod start

অবশ্যই, আপনি ডাউনটাইম চান না যদি 10 টিবি ডেটা স্ট্যান্ডেলোন মেশিনে থাকে।

বিলম্বিত রেপ্লিকা সেট

আপনার যদি তিনটি নোড সহ একটি প্রতিলিপি সেট থাকে তবে ব্যাকআপগুলির জন্য নোডগুলির মধ্যে একটি ব্যবহার করুন

{
        "_id" : "myreplica",
        "version" : 1,
        "members" : [
                {
                        "_id" : 1,
                        "host" : "10.20.30.40:27017",
                        "priority" : 2
                },
                {
                        "_id" : 2,
                        "host" : "10.20.30.41:27017"
                },
                {
                        "_id" : 3,
                        "host" : "10.20.30.42:27017",
                        "priority" : 0,
                        "slaveDelay" : 3600
                }
        ]
}

আপনার "_id' : 3সমস্ত শারীরিক ব্যাকআপ সহ নোডটি ব্যবহার করুন । অতএব, কোনও ডাউনটাইম নেই। মধ্যরাতের স্ন্যাপশটটি পেতে, লুকানো নোডটি 1 ঘন্টা পিছনে থাকায় আপনি সকাল 1:00 টায় ব্যাকআপটি চালু করতে পারেন।

অবশ্যই, এই অপূর্ণতাটি 10 ​​টিবি এবং সিসাদমিনের বিচক্ষণতার সাথে আরও দুটি সার্ভার থাকবে।

MONGODUMP

আপনি স্ট্যান্ডেলোন মেশিনের বিরুদ্ধে মঙ্গোডাম্প ব্যবহার করতে পারেন তবে মোংডাম্প অন্য কোনও সংযোগের মতো সংযোগ ব্যবহার করে ক্লায়েন্ট প্রোগ্রাম হওয়ায় আপনার অবশ্যই পারফরম্যান্স অবক্ষয়ের আশা করতে হবে।

আপনি যদি পয়েন্ট-ইন-টাইম ব্যাকআপ চান তবে আপনার ব্যবহার করা উচিত

mongodump --oplog 

লজিকাল BSON ব্যাকআপ শারীরিক ব্যাকআপের চেয়ে ছোট (বিশেষত জিজিপড বা বিজিপড) হবে।

mongodump --oplogলুকানো নোডের বিরুদ্ধে ব্যবহার করা ভাল। এইভাবে, মাস্টারের উপর কোনও পারফরম্যান্স নেই।

DISCLAIMER পড়ুন

আমি তুলনামূলকভাবে মঙ্গোডিবিতে নতুন (দুর্ঘটনাজনিত / ঘটনামূলক মঙ্গোডিবিএ) new আমি আশা করি আমার উত্তরটি সাহায্য করবে।


1
মঙ্গোডিবির একটি অর্থ প্রদানের পরিষেবাও
জেমস

আমি বিলম্বিত প্রতিরূপ সেট সদস্যটির ব্যবহার দেখতে পাচ্ছি না। এটি কৃত্রিমভাবে লাইভ ডেটা এবং ব্যাকআপের মধ্যে একটি ফাঁক তৈরি করে। যে কোনও সাধারণ প্রতিলিপি সেট সদস্য ব্যবহার করা যেতে পারে, যেহেতু ব্যাকআপটি যে কোনওভাবেই অনুলিপি উইন্ডো চলাকালীন করতে হবে।
মার্কাস ডাব্লু মাহলবার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.