এই প্রশ্নটি সম্পর্কে আকর্ষণীয় কিছু রয়েছে - বিশেষত ডাউনটাইমের ধারণা সম্পর্কে। ধারণার অংশটি হ'ল যদি কোনও অ্যাপ্লিকেশন ডাউনটাইমের সংবেদনশীল হয় তবে পুনরুদ্ধারের সময়টি অবশ্যই অবলম্বন করা উচিত ( )।
ইবিএস সম্পর্কে কিছুটা
ইবিএস ভলিউম এবং স্ন্যাপশটগুলি একটি ব্লক স্তরে কাজ করে - যার ফলস্বরূপ ইবিএস ভলিউম ব্যবহার করা সত্ত্বেও কোনও উদাহরণ চলাকালীন স্ন্যাপশট গ্রহণের অনুমতি দেয়। তবে, কেবলমাত্র ডেটা যা প্রকৃতপক্ষে ডিস্কে থাকে (যেমন কোনও ফাইল ক্যাশে নয়) স্ন্যাপশটে অন্তর্ভুক্ত করা হবে। এটি পরবর্তী কারণ যা ধারাবাহিক স্ন্যাপশটের ধারণাকে জন্ম দেয়।
- প্রস্তাবিত উপায় হ'ল ভলিউমটি বিচ্ছিন্ন করা, স্ন্যাপশট করা এবং এটি পুনরায় সংযুক্ত করা - সাধারণত ব্যবহারিক নয়।
- পরবর্তী সেরা বিকল্পের মধ্যে ডিস্কে রাইটিং-ক্যাশগুলি ফ্লাশ করা, ফাইল সিস্টেমকে হিমায়িত করা এবং আপনার স্ন্যাপশট নেওয়া অন্তর্ভুক্ত
এখানে একটি মজার বিষয় হ'ল উপরের উভয় ক্ষেত্রেই আপনাকে ডিস্পে পুনরায় সংযুক্তকরণ / আনফ্রিজ করা এবং লেখার পুনরায় কাজ শুরু করতে স্ন্যাপশটের অপেক্ষা করতে হবে না - একবার স্ন্যাপশট শুরু হয়ে গেলে আপনার ডেটা সেই সময়ের সাথে সামঞ্জস্য থাকবে। সাধারণত এটির জন্য কেবল কয়েক সেকেন্ডের প্রয়োজন হয় যখন আপনার ডিস্কটি লক করা থাকে। যেহেতু বেশিরভাগ ডাটাবেসগুলি ডিস্কে যুক্তিসঙ্গত পদ্ধতিতে তাদের ফাইলগুলি কাঠামোযুক্ত করে - সেখানে সন্নিবেশকারীরা বিদ্যমান ব্লকগুলির একটি ন্যূনতম প্রভাব ফেলতে পারে - যা স্ন্যাপশটে যুক্ত ডেটাটিকে ন্যূনতম করে।
ব্যাকআপের বিষয়টি বিবেচনা করুন
ইবিএস ভলিউমগুলি ইতিমধ্যে একটি প্রাপ্যতা অঞ্চলে প্রতিলিপি করা হয়েছে - সুতরাং এখানে একটি ডিগ্রি রিডানডেন্সি অন্তর্নির্মিত রয়েছে your যদি আপনার উদাহরণটি বন্ধ হয়ে যায়, আপনি কেবল ইবিএস ভলিউমটিকে একটি নতুন উদাহরণের সাথে সংযুক্ত করতে পারেন এবং (ধারাবাহিকতার অভাবে অতীত হওয়ার পরে) পুনরায় শুরু করুন যেখানে আপনি ছেড়ে দেওয়া অনেক ক্ষেত্রেই এটি ইবিএস ভলিউমটিকে অনেকটা বেমানান স্ন্যাপশটের মতো করে তোলে তবে আপনি এটি অ্যাক্সেস করতে পারেন provided এটি বলেছিল, বেশিরভাগ ইসি 2 ব্যবহারকারী সম্ভবত ২০১১ সালের প্রথম দিক থেকে ইবিএস ভলিউমের ক্যাসকেডিং ব্যর্থতাগুলি স্মরণ করতে পারেন - খণ্ডগুলি একাধিক দিনের জন্য অ্যাক্সেসযোগ্য ছিল, এবং কিছু ব্যবহারকারীর ডেটাও হারিয়েছিল।
RAID1
আপনি যদি কোনও ইবিএস ডিস্কের ব্যর্থতা থেকে রক্ষা করার চেষ্টা করছেন (এটি ঘটে), আপনি একটি RAID1 সেটআপ বিবেচনা করতে পারেন। যেহেতু ইবিএস ভলিউমগুলি ব্লক ডিভাইস, আপনি আপনার পছন্দসই কনফিগারেশনে এগুলি সেটআপ করতে সহজেই এমডিএডএম ব্যবহার করতে পারেন। যদি আপনার কোনও ইবিএস ভলিউম যদি অনুমান না করে থাকে তবে ম্যানুয়ালি ব্যর্থ হওয়া (এবং পরে এটি অন্য ইবিএস ভলিউমের সাথে প্রতিস্থাপন করা) যথেষ্ট সহজ। অবশ্যই, এতে ডাউনসাইডস রয়েছে - প্রতিটি লেখার জন্য সময় বাড়ানো, পরিবর্তনশীল পারফরম্যান্সের প্রতি বৃহত্তর সংবেদনশীলতা, আই / ও ব্যয়ের দ্বিগুণ (মানিটারিলি, কর্মক্ষমতা অনুযায়ী নয়), আরও বিস্তৃত এডাব্লুএস ব্যর্থতার বিরুদ্ধে সত্যিকারের সুরক্ষা (গত বছর একটি সাধারণ সমস্যা ছিল না) লক অবস্থায় থাকা ইবিএস ভলিউমগুলি আলাদা করতে অক্ষমতা) এবং অবশ্যই ব্যর্থতায় ডিস্কের অসামঞ্জস্যপূর্ণ অবস্থা।
S3FS
নির্দিষ্ট অ্যাপ্লিকেশনগুলির জন্য একটি বিকল্প (অবশ্যই ডেটাবেসের জন্য নয়) হ'ল স্থানীয় ফাইল সিস্টেম হিসাবে S3 মাউন্ট করা (যেমন s3fs এর মাধ্যমে)। এটি ধীর গতির, কোনও ফাইল সিস্টেমের কাছ থেকে প্রত্যাশা করা কিছু বৈশিষ্ট্যের অভাব রয়েছে এবং এটি প্রত্যাশার মতো আচরণ করতে পারে না (পরিণতিগত ধারাবাহিকতা)। এটি বলেছিল, আপলোড করা ফাইলগুলি উদাহরণ হিসাবে সর্বদা উপলব্ধ করার মতো একটি সহজ উদ্দেশ্যে, এতে যোগ্যতা থাকতে পারে। স্পষ্টতই এটি এমন কোনও কিছুর জন্য নয় যেটির জন্য ভাল পড়ার / লেখার পারফরম্যান্স প্রয়োজন।
মাইএসকিউএল বিন-লগ
মাইএসকিউএল সম্পর্কিত আরও একটি বিকল্প হতে পারে বিন-লগের ব্যবহার। আপনি একটি দ্বিতীয় ইবিএস ভলিউম সেটআপ করতে পারেন যা আপনার বিন-লগ (আপনার ডাটাবেজে যুক্ত হওয়া লেখাগুলির প্রভাব হ্রাস করতে) সংরক্ষণ করবে এবং আপনি যে কোনও ডাটাবেস ডাম্প গ্রহণ করবেন তার সাথে এটি ব্যবহার করুন। এমনকি আপনি এস 3 এফ দিয়ে এটি করতে সক্ষম হবেন, যা পারফরম্যান্স সহনীয় হলে আসলে যোগ্যতা অর্জন করতে পারে (সরাসরি এসএসএফ ব্যবহারের চেষ্টা করার চেয়ে একটি আরএসসিএনসি সম্ভবত আরও ভাল হতে পারে, এবং আপনি যা করতে পারেন তা আপনি সংক্ষেপিত করতে চাইবেন)।
আবার একবার, আমরা উদ্দেশ্য ধারণা ফিরে আসা। উপরের পরামর্শগুলি দিয়ে কী হবে তা বিবেচনা করুন:
- ইবিএস ভলিউম অ্যাক্সেসযোগ্য:
- RAID1 - অকেজো, যেহেতু আপনি ডেটাতে পাচ্ছেন না
- বিন-লগ - অকেজো, যদি আপনি এটি এস 3 তে রফতানি না করেন - সম্ভবত আপনি যদি এটি করেন তবে দেরি
- দৃষ্টান্ত অপ্রত্যাশিতভাবে শেষ হয়:
- RAID1 - আপনার ডিস্কগুলি উপলভ্য, তবে সুসংগত নয়, আপনার ডাটাবেসটি তার নিজের মতো করে অসঙ্গতি থেকে পুনরুদ্ধার করতে পারে
- বিন-লগ - আপনার ডেটা অ্যাক্সেসযোগ্য হওয়া উচিত, যদিও আপনাকে শেষ কয়েকটি ইভেন্টগুলি পর্যালোচনা করতে হতে পারে
- কেউ রুট হিসাবে ড্রপ ডেটাবেস চালায়:
- RAID1 - আপনার অস্তিত্বহীন ডাটাবেসের দুটি নিখুঁত অনুলিপি রয়েছে
- বিন-লগ - আপনার কমান্ডের ঠিক আগে ইভেন্টগুলি পুনরায় খেলতে সক্ষম হওয়া উচিত, সুতরাং আপনার ঠিক আছে
সুতরাং সত্যই, RAID1 বেশিরভাগই অকেজো, এবং বিন-লগ খুব দীর্ঘ সময় নেয় - উভয় নির্দিষ্ট পরিস্থিতিতে যোগ্যতা থাকতে পারে, তবে ধারণা ব্যাকআপ থেকে অনেক দূরে।
স্ন্যাপশট
এটি লক্ষ করা গুরুত্বপূর্ণ যে স্ন্যাপশটগুলি ডিফারেনশিয়াল এবং কেবলমাত্র প্রকৃত ব্লকগুলিতে সঞ্চয় করে যা ডেটা থাকে (এবং সংকোচিত হয়)। কোনও ইবিএস ভলিউমের সাথে পৃথক নয়, যেখানে আপনার যদি 20 গিগাবাইট ভলিউম থাকে তবে কেবলমাত্র 1 জিবি ব্যবহার করেন তবে আপনাকে এখনও 'প্রভিডড' স্টোরেজ (20 জিবি) জন্য চার্জ করা হবে। একটি স্ন্যাপশট সহ, আপনি কেবল যা ব্যবহার করেন তার জন্য আপনাকে চার্জ করা হয়। যদি স্ন্যাপশটের মধ্যে কোনও ডেটা পরিবর্তন না হয় তবে (তাত্ত্বিকভাবে) কোনও চার্জ নেই। (স্ন্যাপশটগুলি পুটস / জিইটিএস এবং ব্যবহৃত স্টোরেজের জন্য চার্জ করা হয়)।
একদিকে যেমন, আমি আপনাকে সুপারিশ করব আপনার অ্যাপ্লিকেশন ডেটা (ডাটাবেসগুলি সহ) আপনার মূল ভলিউমে (যা আপনার ইতিমধ্যে সেটআপ থাকতে পারে) না সঞ্চয় করা উচিত। সুবিধাগুলির মধ্যে একটি হ'ল আশা করি, আপনার মূলের ভলিউম সর্বনিম্ন পরিবর্তন দেখতে পাচ্ছে - এর অর্থ যে এর স্ন্যাপশটগুলি কম ঘন ঘন হতে পারে (বা সর্বনিম্ন পরিবর্তন হতে পারে) ব্যয় হ্রাস করতে এবং ব্যবহারের সহজতা করতে পারে।
এটি উল্লেখ করার সাথেও প্রাসঙ্গিক যে আপনি যে কোনও সময় পুরানো স্ন্যাপশটগুলি মুছতে পারেন - যদিও তারা পার্থক্যযুক্ত তারা অন্যান্য স্ন্যাপশটগুলিকে প্রভাবিত করবে না। এটি বলেছে যে, কোনও স্ন্যাপশটে বরাদ্দ হওয়া প্রতিটি ব্লক ততক্ষণ পুনরায় বাতিল করা হবে না যতক্ষণ না কোনও স্ন্যাপশট উপস্থিত নেই যা সেই ব্লকের উল্লেখ রয়েছে।
পর্যায়ক্রমিক ডাম্পগুলির সাথে সমস্যাটি প্রথমত ডাম্পগুলির মধ্যে হয় (সম্ভবত মাইএসকিউএল এর লিন-লগ ব্যবহার করে সম্বোধন করা হয়) এবং পুনরুদ্ধারের অসুবিধাও হয়। একটি বড় ডাম্প আমদানি করতে এবং বিন-লগ থেকে সমস্ত ইভেন্টের পুনরায় খেলতে সময় লাগে। এছাড়াও, একটি ডাম্প তৈরি করা তার কার্যকারিতা সংক্রান্ত প্রভাব ছাড়াই নয়। যুক্তিযুক্তভাবে, এই জাতীয় ডাম্পগুলির জন্য সম্ভবত স্ন্যাপশটের চেয়ে অনেক বেশি স্টোরেজ প্রয়োজন। কেবলমাত্র ডাটাবেসগুলির জন্য একটি ইবিএস ভলিউম সেটআপ করা এবং স্নাপশ্যাটিংয়ের ক্ষেত্রে যা বেশিরভাগ ক্ষেত্রেই বেশি পছন্দনীয় (যেমনটি বলেছে যে, স্ন্যাপশট গ্রহণের সাথে কিছুটা পারফরম্যান্সের জড়িত থাকতে পারে)।
স্ন্যাপশট এবং ইবিএস ভলিউমের সৌন্দর্য হ'ল এগুলি অন্যান্য পরিস্থিতিতে ব্যবহার করা যেতে পারে। যদি আপনার উদাহরণটি বুট করতে ব্যর্থ হয়, আপনি সমস্যাটি সনাক্ত করতে এবং এটি সমাধান করতে - বা কেবল এটি থেকে আপনার ডেটা অনুলিপি করতে - এবং কেবল কয়েক মিনিটের ডাউনটাইম দিয়ে রুট ভলিউমগুলি স্যুইচ করতে পারেন (উদাহরণটি বন্ধ করুন, বিচ্ছিন্ন করুন) মূল ভলিউম, একটি নতুন মূল ভলিউম সংযুক্ত করুন, উদাহরণটি শুরু করুন)। এই একই ধারণাটি দ্বিতীয় EBS ভলিউমে আপনার ডেটা থাকার ক্ষেত্রে প্রযোজ্য। মূলত, আপনি কেবলমাত্র আপনার কাস্টম এএমআই থেকে একটি নতুন উদাহরণ সজ্জিত করেছেন এবং এতে আপনার বর্তমান ইবিএস ভলিউম সংযুক্ত করেছেন - এটি ডাউনটাইম হ্রাস করতে সহায়তা করে।
(কেউ যুক্তি তৈরি করতে পারে (এবং আমি সম্ভবত এটি সুপারিশ করব না)) যে আপনি একই সার্ভারে দুটি মাস্টার মাইএসকিউএল সেট করতে পারেন (মাস্টার-স্লেভ), দুটি ইবিএস খণ্ড ব্যবহার করে এবং তার স্ন্যাপশট নিতে আপনার দাসকে শাটডাউন করতে পারেন ইবিএস ভলিউম - এটি কোনও ডাউনটাইম সহ সামঞ্জস্যপূর্ণ হবে - তবে পারফরম্যান্স ব্যয়গুলি এটির পক্ষে উপযুক্ত নয়)।
এডাব্লুএস-এর অটোক্যাসিং রয়েছে - যা ধ্রুবক সংখ্যক দৃষ্টান্ত বজায় রাখতে সক্ষম হবে (যদিও এটি সংখ্যা 1) - তবে আপনি স্ন্যাপশট থেকে মোতায়েন করবেন - সুতরাং যদি আপনার স্ন্যাপশটটি কার্যকর না হয় তবে তার ভিত্তিটি খুব বেশি কার্যকর নয় isn't ।
আরেকটি পয়েন্ট - আপনি একটি একক স্ন্যাপশট থেকে যতগুলি ইচ্ছে হিসাবে মোছা করতে পারেন (কোনও ইবিএস ভলিউমের বিপরীতে যা কোনও নির্দিষ্ট সময়ে কেবল কোনও একক সংখ্যার সাথে সংযুক্ত থাকতে পারে)। এছাড়াও, ইবিএস ভলিউমগুলি প্রাপ্যতা অঞ্চলে ব্যবহার করতে সীমাবদ্ধ, অন্যদিকে স্ন্যাপশটগুলি কোনও অঞ্চলে ব্যবহার করা যেতে পারে।
আদর্শভাবে, একটি স্ন্যাপশটের সাহায্যে, যদি আপনার সার্ভারটি নীচে চলে যায়, আপনি কেবল শেষ স্ন্যাপশটটি ব্যবহার করে একটি নতুন চালু করতে পারেন - বিশেষত আপনি যদি আপনার ডেটা থেকে আপনার মূলের পরিমাণকে আলাদা করেন, একটি খারাপ আপডেটের ফলে সর্বনিম্ন ডাউনটাইম হওয়া উচিত (যেহেতু আপনি কেবলমাত্র আপনার ডেটা সমেত EBS ভলিউমটি স্থানান্তর করুন - এবং কোনও অসম্পূর্ণতার কারণে ক্ষতিগ্রস্থ হতে পারে এমন কিছু সংরক্ষণের জন্য এটির একটি স্ন্যাপশট নিন)।
পার্শ্ব নোট হিসাবে, অ্যামাজন জানিয়েছে যে শেষ স্ন্যাপশট থেকে তাদের পরিবর্তিত তথ্যের পরিমাণের সাথে ইবিএস ভলিউমের ব্যর্থতার হার বৃদ্ধি পায়।
চূড়ান্ত সুপারিশ
- স্ন্যাপশট ব্যবহার করুন - এগুলি দুর্দান্ত - তারা ডাউনটাইমকে কারণ হিসাবে তৈরি করে তার থেকে অনেক বেশি হ্রাস করে
- ডেটা এবং মূল ভলিউম পৃথক করুন, এমনকি ডাটাবেসগুলি তাদের নিজস্ব ভলিউমে রেখে এবং প্রয়োজনে আপডেটের আগে স্ন্যাপশট
- যতটা সম্ভব 'হট' থাকার জন্য বিন-লগটি ব্যবহার করুন - এটি (সংকুচিত) এস 3 এ আপলোড করুন
- নিশ্চিত করুন যে আপনি প্রকৃতপক্ষে ডেটাটি পেয়ে গেছেন (যদিও কোনও ইবিএস ভলিউমে ডেটা অক্ষত থাকলেও ভলিউমটি অস্থায়ীভাবে অ্যাক্সেসযোগ্য হতে পারে)।
প্রস্তাবিত পঠন:
(আমি বিশ্বাস করি যে আমি খুব বেশি লিখেছি, তবে যথেষ্ট পরিমাণে বলা হয়নি - তবে আশা করি আপনি পড়ার মতো কিছু খুঁজে পেয়েছেন)।