আমরা বর্তমানে একটি মাইএসকিএল সার্ভার এবং ফাইলসভারটি অ্যাক্সেস করে একাধিক ওয়েবসার্ভার ব্যবহার করি। মেঘে সরে যাওয়ার দিকে তাকিয়ে, আমি কি এই একই সেটআপটি ব্যবহার করতে এবং একাধিক মেশিনের উদাহরণগুলির সাথে ইবিএস সংযুক্ত করতে পারি বা অন্য কোনও সমাধান কী?
আমরা বর্তমানে একটি মাইএসকিএল সার্ভার এবং ফাইলসভারটি অ্যাক্সেস করে একাধিক ওয়েবসার্ভার ব্যবহার করি। মেঘে সরে যাওয়ার দিকে তাকিয়ে, আমি কি এই একই সেটআপটি ব্যবহার করতে এবং একাধিক মেশিনের উদাহরণগুলির সাথে ইবিএস সংযুক্ত করতে পারি বা অন্য কোনও সমাধান কী?
উত্তর:
আপডেট (এপ্রিল ২০১৫) : এই ব্যবহারের ক্ষেত্রে আপনার নতুন নতুন অ্যামাজন ইলাস্টিক ফাইল সিস্টেম (ইএফএস) সন্ধান করা উচিত যা আপনি যেভাবে চান ঠিক তেমনভাবে সংযুক্ত করার জন্য ডিজাইন করা হয়েছে। ইএফএস এবং ইবিএসের মধ্যে মূল পার্থক্য হ'ল তারা বিভিন্ন বিমূর্ততা সরবরাহ করে: ইএফএস এনএফএসভি 4 প্রোটোকল প্রকাশ করে, যেখানে ইবিএস কাঁচা ব্লক আইও অ্যাক্সেস সরবরাহ করে।
নীচে আপনি কেন একাধিক মেশিনে কাঁচা ব্লক ডিভাইস নিরাপদে মাউন্ট করা সম্ভব নয় তা সম্পর্কে আমার মূল ব্যাখ্যাটি পাবেন।
মূল পোস্ট (২০১১):
এমনকি যদি আপনি একাধিক উদাহরণের সাথে কোনও ইবিএস ভলিউম সংযুক্ত করতে সক্ষম হন তবে এটি একটি _REALLY_BAD_IDEA_ হবে। কেকোয়ার উদ্ধৃতি দিতে, "এটি একবারে দুটি কম্পিউটারে একটি হার্ড ড্রাইভ ব্যবহার করার মতো"
কেন এটি একটি খারাপ ধারণা? ... আপনি একাধিক উদাহরণের সাথে একটি ভলিউম সংযুক্ত করতে না পারার কারণটি হ'ল ইবিএস একটি "ব্লক স্টোরেজ" বিমূর্ততা সরবরাহ করে যার উপর গ্রাহকরা একটি ফাইল সিস্টেম চালান ext2 / ext3 / ইত্যাদি। এই ফাইল সিস্টেমগুলির বেশিরভাগ (উদাহরণস্বরূপ, ext2 / 3, FAT, NTFS, ইত্যাদি) ধরেই ধরে নেওয়া হয় যে ব্লক ডিভাইসে তাদের একচেটিয়া অ্যাক্সেস রয়েছে। একই ফাইল সিস্টেমে অ্যাক্সেস করার দুটি উদাহরণ প্রায় অবশ্যই অশ্রু এবং ডেটা দুর্নীতিতে শেষ হবে।
অন্য কথায়, ইবিএস ভলিউমের ডাবল মাউন্ট করা কেবলমাত্র তখনই কাজ করবে যদি আপনি ক্লাস্টার ফাইল সিস্টেম পরিচালনা করেন যা একাধিক মেশিনের মধ্যে একটি ব্লক ডিভাইস ভাগ করে নেওয়ার জন্য ডিজাইন করা হয়েছে। তদতিরিক্ত, এমনকি এটি যথেষ্ট হবে না be ইবিএসকে এই দৃশ্যের জন্য পরীক্ষা করা প্রয়োজন এবং এটি অন্যান্য ভাগ করা ব্লক ডিভাইস সমাধানগুলির মতো একই ধারাবাহিকতা গ্যারান্টি সরবরাহ করে তা নিশ্চিত করার জন্য ... যেমন, ডোম0 কার্নেল, জেন স্তর, এবং ডোমু কার্নেল। এবং তারপরে একাধিক ক্লায়েন্টের মধ্যে ব্লকগুলি সিঙ্ক্রোনাইজ করার পারফরম্যান্স বিবেচনা রয়েছে - বেশিরভাগ ক্লাস্টারযুক্ত ফাইল সিস্টেমগুলি উচ্চ-গতির ডেডিকেটেড SAN- তে কাজ করার জন্য ডিজাইন করা হয়েছে, সেরা-প্রচেষ্টা সামগ্রীর ইথারনেট নয়। এটি খুব সহজ শোনায়, তবে আপনি যা চাইছেন তা অত্যন্ত অনাকাঙ্ক্ষিত একটি জিনিস।
বিকল্পভাবে, দেখুন আপনার ডেটা ভাগ করে নেওয়ার দৃশ্যটি এনএফএস, এসএমবি / সিআইএফএস, সিম্পলডিবি বা এস 3 হতে পারে। এই সমাধানগুলিতে ভাগ করা ব্লক ডিভাইস সাবসিস্টেম না করে ফাইলগুলি ভাগ করে নেওয়ার উদ্দেশ্যে উচ্চতর স্তর প্রোটোকল ব্যবহার করা হয়। অনেক সময় এই জাতীয় সমাধান আসলে আরও কার্যকর।
আপনার ক্ষেত্রে, আপনার কাছে এখনও একক মাইএসকিএল ইনস্ট্যান্স / ফাইলসভার থাকতে পারে যা একাধিক ওয়েব ফ্রন্ট-এন্ড দ্বারা অ্যাক্সেস করা যায়। এরপরে ফাইলসভারটি এটির ডেটা কোনও ইবিএস ভলিউমে সংরক্ষণ করতে পারে, যা আপনাকে রাতের স্ন্যাপশটের ব্যাকআপ নিতে দেয়। ফাইলসভারটি চালাবার উদাহরণটি যদি হারিয়ে যায় তবে আপনি ইবিএস ভলিউমটি আলাদা করে নতুন ফাইলসভারের সাথে পুনরায় সংযুক্ত করতে পারেন এবং কয়েক মিনিটে ব্যাক আপ হয়ে চলতে পারেন।
"ফাইল সিস্টেম হিসাবে এস 3 এর মতো কিছু আছে কি?" - হ্যা এবং না. হ্যাঁ, এস 3 এফ এর মতো তৃতীয় পক্ষের সমাধান রয়েছে যা "ওকে" কাজ করে তবে হুডের অধীনে তাদের প্রতিটি পড়ার / লেখার জন্য তুলনামূলকভাবে ব্যয়বহুল ওয়েব পরিষেবা কল করতে হবে। ভাগ করা সরঞ্জামগুলির জন্য ডির, দুর্দান্ত কাজ করে। এইচপিসি বিশ্বে আপনি যে ধরণের ক্লাস্টারযুক্ত এফএস ব্যবহার করছেন তা দেখার সুযোগ নেই। আরও ভাল করতে, আপনার একটি নতুন পরিষেবা দরকার যা এনএফএসের মতো বাইনারি সংযোগ-ভিত্তিক প্রোটোকল সরবরাহ করে। যুক্তিসঙ্গত পারফরম্যান্স এবং আচরণ সহ এমন একটি বহু-মাউন্টড ফাইল সিস্টেম সরবরাহ করা ইসি 2 এর জন্য একটি দুর্দান্ত বৈশিষ্ট্য অ্যাড-অন হবে। আমি দীর্ঘদিন যাবত এমন কিছু তৈরির জন্য অ্যামাজনের পক্ষে একজন উকিল হয়েছি।
একই উপলভ্যতা অঞ্চলের মধ্যে এডাব্লুএস নাইট্রোর মধ্যে সর্বাধিক নতুন উদাহরণগুলির মাধ্যমে এটি এখন সম্ভব। কিছু সাবধানতা রয়েছে তবে নির্দিষ্ট ব্যবহারের ক্ষেত্রে এটি দুর্দান্ত যাগুলির জন্য ইবিএসের গতি প্রয়োজন এবং যেখানে ইএফএস সম্ভাব্য নয়।
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html
না, এটি দুটি কম্পিউটারে একটি হার্ড ড্রাইভ ব্যবহার করার মতো।
আপনি যদি ভাগ করা ডেটা চান, আপনি এমন একটি সার্ভার সেটআপ করতে পারেন যা আপনার সমস্ত দৃষ্টান্ত অ্যাক্সেস করতে পারে। আপনি যদি আপনার সমস্ত দৃষ্টান্তের জন্য একটি সাধারণ স্টোরেজ অঞ্চল চান, তবে আপনি বিতরণযোগ্য এবং স্কেলযোগ্য ডেটা সঞ্চয় করতে অ্যামাজনের এস storage স্টোরেজ পরিষেবাটি ব্যবহার করতে পারেন।
ক্লাউডে স্থানান্তরিত করে, আপনি ঠিক একই সেটআপ রাখতে পারেন, তবে আপনি সম্ভবত এস 3 দিয়ে ফাইলসভারটি প্রতিস্থাপন করতে পারেন, বা আপনার সমস্ত দৃষ্টান্ত আপনার ফাইলসভারের সাথে সংযুক্ত করতে পারেন।
আপনার কাছে প্রচুর বিকল্প রয়েছে তবে উদাহরণগুলির মধ্যে একটি হার্ড ড্রাইভ ভাগ করে নেওয়া সম্ভবত সেরা বিকল্প নয়।
না, ইবিএস ডক্স অনুসারে: "একটি ভলিউম একবারে কেবল একটি উদাহরণের সাথে সংযুক্ত করা যায়"।
আপনি বর্তমানে ভাগ করা স্টোরেজটি কীভাবে ব্যবহার করছেন? যদি এটি কেবল ফাইলসার্ভার থেকে ফাইল পরিবেশন করার জন্য থাকে তবে আপনি কি একটি সিস্টেম সেটআপ করার কথা বিবেচনা করেছেন যাতে আপনি ওয়েবসার্সগুলি সেই ফাইলগুলি পরিবেশন করার পরিবর্তে ফাইলসভারে কোনও প্রক্রিয়াটির জন্য নির্দিষ্ট অনুরোধগুলির প্রক্সি করতে পারেন?
aws ec2 describe-volumes
একটি অ্যারে ফিরে আসে ।
আমি মোটামুটি নিশ্চিত যে আপনি পারবেন না তবে আপনি একটি ইবিএস ক্লোন করতে এবং এটি অন্য একটি উদাহরণের সাথে সংযুক্ত করতে পারেন।
এটি স্থির ডেটাসেটগুলির জন্য, বা 'রিয়েল' ডেটা পরীক্ষার জন্য দরকারী তবে একক ব্লকের স্টোরটিতে 1 টিরও বেশি উদাহরণ পরিচালনা করতে দেয় না
মাইএসকিউএল সার্ভার ও ফাইল সার্ভার অ্যাক্সেস করে একাধিক ওয়েব সার্ভারগুলি এডাব্লুএসে স্বাভাবিক। উল্লিখিত স্থাপত্যের জন্য অনুসরণ করা কয়েকটি সেরা অনুশীলনগুলি হ'ল:
পয়েন্ট 1) ইসি 2 এ মাইএসকিউএলকে এডাব্লুএসে অ্যাসিঙ্ক / আধা সিঙ্ক মোডে মাস্টার-স্লেভ হিসাবে সেটআপ করা যেতে পারে। উচ্চ কার্যকারিতা ডিবি-র জন্য RAID 0 এ EBS-OPT + PIOPS প্রস্তাবিত recommended
পয়েন্ট 2) বিকল্পভাবে আপনি অ্যামাজন আরডিএস + মাল্টি-এজেড মোড ব্যবহার করতে পারেন। পড়ার স্কেলিংয়ের জন্য একাধিক আরডিএস রিডের প্রতিলিপি মাইএসকিউএল আরডিএসের সাথে সংযুক্ত করা যেতে পারে।
পয়েন্ট 3) ইবিএস ভলিউম একসাথে একাধিক ইসি 2 এর সাথে সংযুক্ত করা যাবে না। আপনি ইবিএস ব্যবহার করে অ্যামাজন ইসি 2 তে গ্লাস্টারএফ-এর ভিত্তিতে ফাইল সার্ভার তৈরি করতে পারেন। একাধিক ওয়েব সার্ভারগুলি AWS ইনফ্রাতে একসাথে গ্লাস্টারএফের সাথে কথা বলতে পারে।
পয়েন্ট 4) আপনার অ্যাপ্লিকেশনটি এস স্টোরের সাথে ফাইল স্টোর হিসাবে সংহত করা যায়, তবে এটি আর্কিটেকচারে স্থিতিশীলতার কারণে পছন্দনীয় preferred আপনি আপনার অ্যাপ্লিকেশন থেকে এস 3 ফিউজের মতো সরঞ্জাম ব্যবহার করে এস 3 অ্যাক্সেস করতে পারেন।
ইবিএস সবেমাত্র এটি সম্ভব বলে ঘোষণা করেছে: https://aws.amazon.com/about-aws/whats-new/2020/02/ebs-m Multi-attach-available-provisioned-iops-ssd-volume/
ক্লাস্টার্ড ফাইল সিস্টেম, রেডহাট জিএফএস, ওরাকল ওসিএফএস 2, ভেরিটাস সিএফএস নামে পরিচিত আইটি বিশ্বে এমন কিছু আছে ...
সংক্ষিপ্ত উত্তরটি একটি শ্রেণিবদ্ধ "না"। অন্যরা উপরে এটি বলেছেন।
যারা "হ্যাঁ" বলেছেন তারা প্রশ্নের উত্তর দেয়নি, তবে একটি ভিন্ন প্রশ্নের। যদি ইএফএসটি কেবল একটি এনএফএস পরিষেবা হয়, তবে এটি মূলত বর্ণিত প্রশ্নের উত্তর নয়। এবং ইএফএসটি "সমস্ত অঞ্চলে ঘূর্ণিত" হয়েছে কিনা তা বিবেচ্য নয়, কারণ আপনি নিজের এনএফএস উদাহরণটি বেশিরভাগ ক্ষেত্রে করতে পারেন এবং একাধিক সার্ভার মাউন্ট এনএফএস করতে পারেন। এটি নতুন কিছু নয়, আমরা 1992 সালে এটি ইতিমধ্যে করেছি। এসএমবি এবং এসএসএফ, এই সমস্তগুলি কেবল একটি দূরবর্তী ফাইল সিস্টেম হিসাবে ড্রাইভগুলি মাউন্ট করার উপায় ways
যারা "কেন আপনি এটি করতে চান" বা "এটি সমস্ত অশ্রুসজল হয়ে যাবে" বলেছিলেন তারা ভুল। আমরা কয়েক দশক ধরে একাধিক সার্ভারে একাধিক ডিস্ক মাউন্ট করছি। আপনি যদি কখনও কোনও সান (স্টোরেজ এরিয়া নেটওয়ার্ক) এর সাথে কাজ করেন তবে সাধারণত ফাইবারচ্যানেল স্যানের মাধ্যমে একই ডিভাইসটিকে একাধিক নোডের সাথে সংযুক্ত করার ক্ষমতা সম্পূর্ণ স্বাভাবিক। সুতরাং যে কেউ ভার্চুয়ালাইজেশন / ক্লাউড সার্ভার সর্বব্যাপী হওয়ার আগে এক দশক আগে সার্ভারগুলি চালিয়েছে তার কিছুটা এক্সপোজার রয়েছে।
শীঘ্রই এখানে ক্লাস্টারযুক্ত ফাইল সিস্টেম রয়েছে যেখানে দুটি সিস্টেমই একই ভলিউমে পড়তে এবং লিখতে পারে। আমি বিশ্বাস করি ইতিমধ্যে ইতিমধ্যে ভ্যাক্স এবং আলফা ভিএমএস সময়ের সাথে এটি শুরু হয়েছিল। ক্লাস্টারযুক্ত ফাইল সিস্টেমগুলি সরাসরি ব্লকগুলি ম্যানিপুলেট করতে সক্ষম হতে একটি বিতরণ করা মিউচুয়াল বর্ধন স্কিম ব্যবহার করে।
একাধিক নোডে একই ডিস্ক মাউন্ট করার সুবিধা হ'ল গতি এবং ব্যর্থতার একক পয়েন্ট হ্রাস করা।
এখন, ক্লাস্টারযুক্ত ফাইল সিস্টেমগুলি "ভোক্তা" হোস্টিং ব্যবসায় খুব বেশি জনপ্রিয় হয়ে উঠেনি, এটি সত্য। এবং এগুলি জটিল এবং কিছু সমস্যা রয়েছে। তবে একাধিক কম্পিউট নোডের সাথে সংযুক্ত একটি ডিস্ক ব্যবহার করতে আপনার একটি ক্লাস্টারযুক্ত ফাইল সিস্টেমেরও দরকার নেই। আপনি যদি কেবল পঠনযোগ্য ড্রাইভ চান? এমনকি আপনার ক্লাস্টারযুক্ত ফাইল সিস্টেমের দরকার নেই! আপনি কেবল নিজের / etc / fstab তে একই শারীরিক ডিভাইসে কেবল পঠন (আরও) রেখেছেন। তারপরে আপনি 2 বা 10 ইসি 2 সার্ভারে মাউন্ট করুন এবং সেগুলি সবাই সরাসরি সেই ডিভাইস থেকে পড়তে পারেন!
মেঘ সার্ভারের বিশ্বে এটির জন্য স্পষ্টভাবে ব্যবহারের কেস রয়েছে যখন দ্রুত স্কেলিং ফার্মগুলি তৈরি করা হয়। আপনার মূল সিস্টেম ডিস্কটি প্রস্তুত থাকতে পারে এবং প্রতিটি সার্ভারের জন্য খুব ছোট একটি বুট এবং কনফিগারেশন ডিস্ক ব্যবহার করতে পারেন। আপনি এমনকি তাদের সকলকে একই বুট ডিস্ক থেকে বুট করতে পারেন, এবং রিড-রাইটিং মোডের পুনঃনির্মাণের ঠিক আগে, আপনি 3 স্তর সহ ইউনিয়ন-এফএস সন্নিবেশ করতে পারেন:
সুতরাং, হ্যাঁ প্রশ্নটি অনেক বোঝায় এবং দুর্ভাগ্যক্রমে উত্তরটি (এখনও) "না"। আর কোনও এনএফএস ব্যবহারের ক্ষেত্রে কোনও দুর্দান্ত প্রতিস্থাপন নয় কারণ এটি সিস্টেম ডিস্ক থেকে সমস্ত পঠিত ক্রিয়াকলাপকে দণ্ড দেয়। তবে, আমি উপরে বর্ণিত ব্যবহারের ক্ষেত্রে প্রয়োগ করার ক্ষেত্রে এনএফএস সিস্টেম ডিস্কের নেটওয়ার্ক বুটই একমাত্র বিকল্প। দুর্ভাগ্যক্রমে, যেহেতু নেটওয়ার্ক বুট এজেন্ট এবং এনএফএস সেটআপ করা ঠিক একই শারীরিক ব্লক ডিভাইসটি অ্যাক্সেস করার চেয়ে অনেক বেশি জটিল।
পিএস: আমি মন্তব্য হিসাবে এটির একটি সংক্ষিপ্ত সংস্করণ জমা দিতে পছন্দ করতাম, তবে আমি নির্বোধ ৫১ ক্রেডিট পয়েন্টের দ্বারহীনতার কারণে পারি না, তাই আমাকে একই জরুরী "না" দিয়ে একটি উত্তর লিখতে হবে তবে আমার বক্তব্যটি কেন তা কেন অন্তর্ভুক্ত করতে হবে? একটি প্রাসঙ্গিক প্রশ্ন যা প্রাপ্য উত্তর পাচ্ছে না।
পিপিএস: আমি সবেমাত্র স্ট্যাকএক্সচেঞ্জের আইসিএসআইআই উল্লেখ করে কাউকে পেয়েছি। আইএসসিএসআই কিছুটা এনএফএসের মতো, তবে যৌক্তিকভাবে একটি ফাইব্রেচেন স্যানের মতো। আপনি শারীরিক ব্লক ডিভাইসগুলিতে অ্যাক্সেস করতে (এবং ভাগ করে নিতে) পান। এটি বুট ডিস্ক ভাগ করে নেওয়া সহজ করে তুলবে যাতে আপনার বুটড নেটওয়ার্ক বুটিং সেট আপ করতে হবে না যা ফাইনিক হতে পারে। তবে তারপরে এডাব্লুএস-তে কোনও নেটওয়ার্ক বুট করার ব্যবস্থা নেই।
যদিও ইবিএস পূর্বে কেবলমাত্র একটিমাত্র ইসি 2 উদাহরণকে প্রদত্ত ভলিউমের সাথে সংযুক্ত করার অনুমতি দিয়েছে, তবে কমপক্ষে io1 ভলিউমের ক্ষেত্রে মাল্টি-সংযুক্তি এখন সম্ভব। আরও তথ্যের জন্য এই এইডব্লিউএস ব্লগ পোস্টটি দেখুন ।
আপনি পুরোপুরি AWS- এ একাধিক সার্ভারে একটি ড্রাইভ ব্যবহার করতে পারেন। আমি একটি বহিরাগত ড্রাইভ মাউন্ট করতে এবং এসিএফএস ব্যবহার করি এটি ইসি 2 তে একাধিক সার্ভারের সাথে ভাগ করে।
একক ড্রাইভকে একাধিক সার্ভারের সাথে সংযুক্ত করার জন্য যে কারণটি আমার প্রয়োজন তা হ'ল স্থানীয়ভাবে টান দেওয়ার আগে আমার সমস্ত ব্যাকআপ রাখার জন্য একটি একক জায়গা have