LVM স্ন্যাপশট বনাম ফাইল সিস্টেম স্ন্যাপশট


32

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

তবে, আমি কখনই এলভিএম স্ন্যাপশট এবং ফাইল সিস্টেম স্ন্যাপশটের মধ্যে পার্থক্য বুঝতে পারি নি understood যদি LVM এর সাথে স্ন্যাপশট নেওয়া সম্ভব হয় তবে কেউ ফাইল সিস্টেমে এটি প্রয়োগ করতে কেন তাদের সময় নেয়?

সম্পাদনা: এর মধ্যে কারও কি কিছু পরিস্থিতিতে পছন্দ হয়? কেন?

উত্তর:


25

এর মধ্যে বেশিরভাগ স্ন্যাপশট হ'ল কপিরাইট অন-রাইটিং স্ন্যাপশটগুলি, যা খুব কমই আপডেট হওয়া সিস্টেমগুলিতে সত্যই দ্রুত এবং সত্যই সস্তা (স্টোরেজ-ওয়াইস)। এলভিএম স্ন্যাপশটগুলি COW স্ন্যাপশট, জেডএফএস / বিটিআরএফএস উভয়েরই স্ন্যাপশটের জন্য একটি সিডাব্লু-মোড থাকে, রিসফার্সগুলিতে স্থানীয়ভাবে স্ন্যাপশট থাকে না, নোভেলের এনএসএস ফাইল-সিস্টেমটিও সিওডাব্লু হয়, উইন্ডোজ এনটিএফএস ভলিউমের শ্যাডো কপি ভলিউম হিসাবে।

অনুলিপি-অন-লিখন স্ন্যাপশটগুলি স্ন্যাপশট পুলের মধ্যে লক্ষ্য ভলিউমের মেটাডেটার একটি অনুলিপি নিয়ে যায়। তারপরে, তারা কোন মোডের সিডাব্লু ব্যবহার করছেন তার উপর নির্ভর করে, তারা ডেটা অনুলিপি করে যা নতুন লেখার মাধ্যমে নতুন তথ্য লেখার আগে স্ন্যাপশট পুলে ওভাররাইট করা হবে।

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

আমি LVM বেশীগুলির তুলনায় ফাইল-সিস্টেমের স্তরের স্ন্যাপশট ক্ষমতাগুলি পছন্দ করি কারণ প্রক্রিয়াটি পরিষ্কারভাবে পরিচালনার জন্য আমি নিজেরাই নিজের ফাইল-সিস্টেমকে আরও ভালভাবে বিশ্বাস করি। তবে, সরাসরি ফাইল সিস্টেম সমর্থন না থাকার কারণে, বেশিরভাগ ক্ষেত্রে এলভিএমের ঠিক কাজ করা উচিত।

স্বল্পমেয়াদী পুনরুদ্ধারের প্রয়োজনের জন্য আপনার যদি পয়েন্ট-ইন-টাইম ব্যাকআপের প্রয়োজন খুব দ্রুত গ্রহণ করা হয় তবে স্ন্যাপশটগুলি ভাল। যেমন প্রতিদিন, বা 4x প্রতিদিন করা, এক সপ্তাহের জন্য স্ন্যাপ রাখতে হবে। আপনার যদি দুর্ঘটনাক্রমে মুছে ফেলা ফাইল ব্যবহারকারীদের পুনরুদ্ধার করতে হয় বা একটি প্রাক-আপডেট কনফিগারেশনে একটি সম্পূর্ণ সিস্টেমকে রোল-ব্যাক করতে হয় তবে এটি কার্যকর। এগুলি কিছু ব্যাকআপ সিস্টেমে সম্পূর্ণ নিখুঁত ফাইল সিস্টেম হিসাবেও ব্যবহার করা যেতে পারে, তাই স্ন্যাপশট ভলিউম থেকে নেওয়া ব্যাকআপগুলিকে ওপেন ফাইলগুলি নিয়ে যাওয়ার বিষয়ে চিন্তা করার দরকার নেই। মনে রাখার মূল বিষয়টি হ'ল স্ন্যাপশট ভলিউমগুলি প্রাথমিক ভলিউমের সমান স্টোরেজে থাকবে, সুতরাং অ্যারে ব্যর্থতার ক্ষেত্রে আপনাকে কোনও কিছু দেবেন না।

সম্পূর্ণ স্ন্যাপশটগুলি যদি সেগুলি কোনওরকমের অপসারণযোগ্য বা দূরবর্তী মিডিয়াতে নেওয়া হয় তবে তা ভাল। আপনার যদি নেটওয়ার্ক স্টোরেজ থাকে তবে প্রাথমিক স্টোরেজটি যে হোস্ট করা হয় তার চেয়ে লক্ষ্য আলাদা আলাদা আইএসসিএসআই বা ফাইবার চ্যানেল অ্যারে হতে পারে This এটি আপনাকে কিছু ধরণের ত্রুটির জন্য কিছুটা অফ-অ্যারে সুরক্ষা দেয়। অপসারণযোগ্য মিডিয়া যেমন 3TB ESATA ড্রাইভ ব্যবহার করে, আপনি এটিকে একটি সাধারণ ব্যাকআপ-টু-ডিস্ক সিস্টেম হিসাবেও ব্যবহার করতে পারেন। এই স্ন্যাপশটগুলি তাদের COW ভাইয়ের চেয়ে আলাদা আলাদা হার্ডওয়ারে থাকতে পারে, তাই দুর্যোগ-স্থিতিস্থাপকতার জন্য দরকারী।


সম্পূর্ণ বনাম COW স্ন্যাপশটগুলিতে।

'স্ন্যাপশট' শব্দটি বছরের পর বছর ধরে খানিকটা সরে গেছে। এই বছর, আমি বেশ নিশ্চিত যে এর অর্থ "ব্লক-রিমোকেশন ব্যবহার করে মূল ডেটার একটি অনুলিপি অনুলিপি" means এই সংজ্ঞা অনুসারে, উপস্থাপিত "সম্পূর্ণ" স্ন্যাপশটটি আসলে একটি স্ন্যাপশট নয়, এটির প্রতিলিপি। কিছু স্টোরেজ বিক্রেতারা তাদের সম্পাদিত বিভিন্ন ব্লক-স্তরের ক্রিয়াকলাপ বর্ণনা করতে অতীতে 'স্ন্যাপশট' এর বিভিন্ন সংজ্ঞা ব্যবহার করেছে। যেখানে এটি বিভ্রান্তিকর হয় এমন সিস্টেমগুলি যা প্রতিলিপি প্রক্রিয়াটির অংশ হিসাবে স্ন্যাপশট ব্যবহার করে।


«LVM এর মাধ্যমে একটি ফাইল সিস্টেমের স্তরের স্ন্যাপশট সবচেয়ে সহজ for এটি সাধারণ কারণে যে স্ন্যাপশট প্রক্রিয়া চলাকালীন ফাইল সিস্টেম কীভাবে নিজেকে সামঞ্জস্য রাখতে পারে জানে, যেখানে এলভিএম 'can' করতে পারে - এটি সত্য নয় বলে প্রমাণিত হয়েছে। এটি পরীক্ষা করে দেখুন: serverfault.com/questions/300961/…
পোয়েজ

1
«জেডএফএস এবং (অবশেষে ইতিমধ্যে সেখানে না থাকলে) বিটিআরএফএসের পূর্ণ-স্ন্যাপশট ক্ষমতা রয়েছে» - "পূর্ণ" স্ন্যাপশটগুলির সাহায্যে আপনার কী বোঝানো উচিত explain আফাইক, জেডএফএসের সাথে স্ন্যাপশটের জন্য কোনও "সিওডাব্লু / ফুল" পছন্দ নেই। সমস্ত স্ন্যাপশটগুলি COW তবে তবুও পুরো ফাইল সিস্টেম বা ভলিউম হিসাবে আলাদা মিডিয়ায় পরে সংরক্ষণ করা যায়।
jlliagre

5

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


3

খুব পরিষ্কার সমস্যা: এলভিএম এর স্ন্যাপশটগুলিতে এলভিএমের কারণে সামঞ্জস্যপূর্ণ এফএস জিউ থাকার গ্যারান্টি নেই যে এফএস এর সাথে পেওলড হচ্ছে সে সম্পর্কে "জানে" কিছুই নেই

সম্পাদিত (মন্তব্যগুলি দেখুন): - সত্য যদি না এফএসের সমর্থন .freeze_fsনা থাকে, অন্যথায় এটি এফএস দ্বারা নিখুঁতভাবে পরিচালনা করা উচিত।


2
মিথ্যা; এলভিএম স্ন্যাপশট নেওয়ার আগে ফাইল সিস্টেমটিকে নিজেই সিঙ্ক করতে উত্সাহ দেয়।
ওম্বল

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

1
@ ওম্বল, ১) সিঙ্ক করা যথেষ্ট নয় , যেহেতু সিঙ্ক এবং এলভিএমের স্ন্যাপশট হ্যান্ডলিংয়ের মধ্যে নতুন I / O অনুরোধগুলির জন্য একটি উইন্ডো থাকবে। এটির জন্য এক ধরণের অবরুদ্ধ হওয়া দরকার। 2) এক্সএফএসের "ফ্রিজ" ( xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.) নামে একটি বিশেষ বৈশিষ্ট্য রয়েছে - স্ন্যাপশটের জন্য বিশেষ জিনিস, এলভিএম -2 এটি সম্পর্কে জানে এবং ইতিমধ্যে এটি ব্যবহার করে? ৩) ব্যবহারকারী-স্পেসে ( উত্স. redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) বা কার্নেল উত্সে আমাকে বলুন যে আপনি সঠিকভাবে বলছেন যে LVM আপনাকে এফএস প্রেরণ করবে সুসংগত.
পোয়েজ

9
ঠিক আছে, আমি আমার হোমওয়ার্ক করেছি এবং এখন আমার প্রশ্নের তৃতীয় অংশের উত্তর দিতে পারি - আসলে, এলভিএম কার্নেলের ফ্রিজ_দেব () ব্যবহার করে যা এর শিরোনামে বলা হয়েছে lock a filesystem and force it into a consistent state। সুতরাং, কমপক্ষে আমি বলতে পারি যে আমি সম্ভবত "সামঞ্জস্যপূর্ণ এফএস রাখার নিশ্চয়তা নেই" বলে ভুল বলছিলাম, যেহেতু এটি এফএস বাস্তবায়নের অভ্যন্তরে ফ্রিজ_ফস 'পদ্ধতি' সমর্থন করার বিষয় - কিছু এফএসের অবশ্যই এই জাতীয় সমর্থন রয়েছে (এক্সটি 3, রিজার 3, এক্সএফএস), এবং কিছু না (উদাহরণস্বরূপ, EXT2)। এছাড়াও, এটি ২ য় প্রশ্নের উত্তর দেয় - এক্সএফএসের ফ্রিজ স্বয়ংক্রিয়ভাবে এলভিএম দিয়ে হ্যান্ডেল হওয়ার সম্ভাবনা রয়েছে।
পোয়েজ

1

অন্যান্য উত্তরের পরিপূরক হিসাবে। এফএস স্ন্যাপশটগুলিতে আপনি সমস্ত স্ন্যাপশট জুড়ে সংক্ষেপণ এবং ডুপ্লিকেশন এর মতো এফএস বৈশিষ্ট্যগুলির সুবিধা পেতে পারেন।

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