ইসি 2 - কীভাবে সঠিকভাবে PostgreSQL ডেটা ব্যাক আপ করবেন?


9

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

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

(২) লাইভ পোস্টগ্র্যাস এসকিউএল ডেটা ডিরেক্টরিতে থাকা ভলিউমটি ভাল পরিমাপের জন্য (দৈনিক) ব্যাক আপ করা হবে। এই ভলিউমের একটি স্ন্যাপশট করার আগে, আমি একটি pg_dump ইস্যু করি এবং ফলাফল এসকিউএল ফাইলটি ডেটা ডিরেক্টরিতে রেখে দেওয়া হয়। প্রকৃত ডাটাবেস ডেটা ধারাবাহিকভাবে নিশ্চিত করার জন্য কি সাবধানতা অবলম্বন করার কোনও বিন্দু আছে? লাইভ স্ন্যাপশট গ্রহণের ফলে (ক) ব্যাকআপ কনফিগারেশন ফাইলগুলি (postgresql.conf, pg_hba.conf, pg_ident.conf) এবং (খ) এসকিউএল ডাম্প ফাইলের ব্যাকআপ নেওয়ার বিষয়টি সঠিকভাবে ধরে নেওয়া উচিত? এই দুটি জিনিসের ব্যাক আপ নেওয়া, এসকিউএল ডাম্প ফাইল এবং কনফিগার করা ফাইলগুলি এই ভলিউমের স্ন্যাপশ্যাটিংয়ের মূল বিষয়। ডিবি খুব বড় নয় তাই ডেটা ফাইলগুলি এই স্ন্যাপশটটি ফুটিয়ে তুলবে এই বিষয়টি আমি আপত্তি করি না। এবং এই ক্ষেত্রে, আমি কেবল একটি লাইভ স্ন্যাপশট করতে পারি - সঠিক?

(২ ক) ডেটা ডিরেক্টরিটি মূল ভলিউমে রাখা ভাল, এবং একটি ব্যাকআপ স্ক্রিপ্ট আছে যা এসকিএল ডাম্প ফাইলের পাশাপাশি অন্য ভলিউমে কনফিগার করা ফাইলগুলি অনুলিপি করে, এবং অনুলিপিটি শেষ হওয়ার পরে এই ভলিউমের স্ন্যাপশট করে?

(3) এর কোড সহ ভলিউম হিসাবে, আবার ফাইল সিস্টেম সিঙ্ক করার এবং হিমায়িত করার কোনও অর্থ আছে কি? অথবা কেবল একটি লাইভ স্ন্যাপশট নেওয়া যেতে পারে? এই ডেটা মোটামুটি "স্থিতিশীল" হওয়া উচিত।

(4) এটি কি শক্ত ব্যাকআপ স্কিম? মূল ভলিউমটি নিয়মিতভাবে ব্যাক আপ করা হয় না কারণ এটি সেট আপ এবং কনফিগার করার পরে আমি কেবল কোনও মেশিন চিত্র রাখব।

ধন্যবাদ

উত্তর:


13

দেখুন জরিমানা ম্যানুয়াল । আমার পরামর্শ যদি এর সাথে কোনওভাবেই সাংঘর্ষিক হয় তবে তা ঠিক।

  1. সিঙ্কটি কোনও খারাপ ধারণা নয়, যতক্ষণ না আপনার অনুলিপি সরঞ্জাম fsync () এর দ্বারা লেখা প্রতিটি WAL ফাইল এবং এর পরবর্তী ডিরেক্টরিটি অনুলিপি করার আগে এটি ডিরেক্টরিতে থাকে। একটি অসম্পূর্ণ শেষ ওয়াল ফাইল খুব বেশি গুরুত্ব দেয় না; সবচেয়ে খারাপ, আপনি কেবল এটি মুছুন। পিজি সাধারণত একটি অসম্পূর্ণ ওয়ালকে দম বন্ধ করে দেবে - যদিও চেকসামিং করা হয়নি, তাই আপনি করতে পারেনসত্যিই দুর্ভাগ্য হোন এবং এটি আবর্জনা ডেটা প্রয়োগ করার চেষ্টা করুন যা নিছক পাগলির দ্বারা প্রকৃত ওয়াল রেকর্ডের মতো দেখা যায় happened আপনার অবস্থানে আমি কোনও স্ন্যাপশটের আগে ভলিউম সিঙ্ক করব এটি নিশ্চিত করার জন্য যে কোনও র‌্যামের অলিখিত লিখিত নোংরা বাফারটি ডিস্কে থাকা ফাইল সিস্টেমের ছবিতে আঘাত করে। একটি জমাট অগোছালো তবে অ-মারাত্মক আংশিক লিখিত ওয়ালগুলি এড়াতে সহায়তা করবে, সুতরাং এটি কোনও ভয়ঙ্কর ধারণা নয় তবে গুরুত্বপূর্ণ নয়। কী জরুরি তা হল পুনরুদ্ধারের পয়েন্ট অবধি অব্যক্ত সময়সীমা আপ করা। ব্যক্তিগতভাবে, আমি আমার ওয়ালগুলি অস্থায়ী ফাইলের নামে লিখি এবং কেবলমাত্র একবার সম্পূর্ণ অনুলিপি করে তাদের চূড়ান্ত নামে পুনরায় নামকরণ করি; আপনি যদি এটি করেন তবে আপনার জমাট বাঁধার দরকার নেই।

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

    2A। কিছু ডিস্কের জায়গা বাঁচাতে পারে। অন্যথায় সামান্য পার্থক্য। আপনি স্ন্যাপশটগুলিতে লাইভ ডাটাবেসের সমস্ত মন্থন ছাড়াই অনেক বেশি সময় ধরে রাখতে পারবেন।

  3. এমনকি আপনার কোড ভলিউম স্ন্যাপশট কেন? একটি সরল ফাইল স্তরের অনুলিপি ঠিক ঠিক হতে পারে। অবশ্যই একটি লাইভ স্ন্যাপশট হওয়া উচিত।

  4. এটি কোনও শক্ত ব্যাকআপ স্কিম নয়। এটি একটি সমালোচনামূলক ক্ষেত্রে ব্যর্থ: এখানে কোনও পুনরুদ্ধার পরীক্ষা এবং বৈধতা কার্যকর হচ্ছে না। আপনি সত্যই সেগুলি পুনরুদ্ধার করতে পারবেন তা নিশ্চিত করার জন্য আপনার নিয়মিত আপনার ব্যাকআপগুলি পরীক্ষা করা উচিত ।

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

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


2
+1, বিশেষত অ্যামাজন ইসি 2 তে নেই এমন অন্য মেশিনে ডেটা ব্যাক আপ করার জন্য। ব্যর্থতার অনেকগুলি একক পয়েন্টকে ব্যবহারিক হিসাবে বাদ দিন।
মাইক শেরিল 'ক্যাট রিক্যাল'

1
সহায়ক তথ্য, ধন্যবাদ। একটি জিনিস যা আমি পাই না তা হ'ল আপনি কেন বলছেন "সমস্ত ব্যাক আপ করা ডেটা এখনও একই মেশিনে রয়েছে।" EBS স্ন্যাপশটগুলি এস 3 এ সংরক্ষণ করা হয়, যা 99.999999999% স্থায়িত্ব দাবি করে (10,000 টি বস্তু সঞ্চয় করে এবং 10 মিলিয়ন বছরে একটি ব্যর্থতা আশা করে)। আমার বোধগম্যতা হ'ল এটি একই অঞ্চলে একাধিক ডেটা সেন্টারে অনুলিপি করা হয়েছে; আপনি নিজেই অন্যান্য অঞ্চলে অনুলিপি করতে পারেন। অবশ্যই সরবরাহকারীর স্বাধীনতা বজায় রাখার জন্য এডাব্লুএস এর বাইরে একটি অনুলিপি নিয়ে কোনও সমস্যা নেই।
মার্ক বেরি

2
@ মারকবেরি আপনি একদম ঠিক বলেছেন - আমার ধারণা আমি এই লেখার সময় ব্যাখ্যাটির সেই অংশটি ভুল বুঝেছিলাম। আমি উত্তরটি সংশোধন করব।
ক্রেগ রিঞ্জার

আমার একটি মোটামুটি বিশদ ফলো-আপ প্রশ্ন ছিল যা আমি একটি নতুন প্রশ্ন হিসাবে পোস্ট করার সিদ্ধান্ত নিয়েছিলাম: dba.stackexchange.com/q/68461/41155
মার্ক বেরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.