একটি স্ন্যাপশটের সাহায্যে আপনার ভার্চুয়ালাইজেশন সফ্টওয়্যারকে চারটি বিষয় সম্পর্কে নজর রাখতে হবে: সিপিইউ স্টেট, র্যাম, কনফিগারেশন (ভিএম-তে কতগুলি নেটওয়ার্ক কার্ড?) এবং ডিস্ক। আমি প্রথম তিনটি বিষয় উপেক্ষা করছি কারণ এগুলি বিপুল পরিমাণে ডেটা নয়, সফ্টওয়্যারটি তুলনামূলকভাবে ছোট ডেটা স্ট্রাকচারের অনুলিপি তৈরি করতে এবং সেগুলিকে একটি ফাইলে সংরক্ষণ করতে পারে। সুতরাং, এটি ব্যাখ্যা করতে কেবল ডিস্ক স্ন্যাপশ্যাটিং ছেড়ে যায়।
প্রথমে, ভিএম হার্ড ডিস্ক হিসাবে যা দেখায় তা হোস্ট ফাইল সিস্টেমে কেবলমাত্র ফাইলগুলির একটি সেট। একটি স্ন্যাপশট করার জন্য, ভার্চুয়াল মেশিন সফ্টওয়্যারটি একটি নির্দিষ্ট সময়ে VM এর ডিস্কটি গ্রহণ করে, এটি সংরক্ষণ করে, একটি নতুন খালি ডিস্ক ফাইল খুলবে এবং পরবর্তী প্রতিটি ডিস্ক অ্যাক্সেস সহ একটি অনুলিপি-অনুলিপি স্কিম করে।
ধরা যাক আপনার ডিস্ক ফাইলটি বিগভিএম.ডিস্ক। আপনি স্ন্যাপশট এবং এখন আপনার ভিএম সফ্টওয়্যার আপনার ডিস্কটির নাম পরিবর্তন করে বিগভিএম-এস 1.ডিস্কে রাখে, তারপরে একটি নতুন খালি BigVM.disk তৈরি করে। যখন আপনার ভিএম চলছে, সমস্ত পঠন অনুরোধগুলি বিগভিএম.ডিস্কের মধ্য দিয়ে যায়। আপনার ভিএম ডিস্কের যে অংশটির জন্য যদি সেই ফাইলটির প্রবেশ নেই, তবে বিগভিএম-এস 1.ডিস্কের ডেটা ফিরে আসে। একটি লেখায়, ডেটা বিগভিএম-এস 1.ডিস্কের পরিবর্তে বিগভিএম.ডিস্কে লেখা হয়। ভবিষ্যতে সেই একই সেক্টরে পঠিত বিগভিএম.ডিস্ক থেকে বিগভিএম-এস 1.ডিস্কে থাকা মূল স্ন্যাপশটের পরিবর্তে ডেটা ফিরিয়ে দেবে। বিগভিএম-এস 1.ডিস্কে আপনার স্ন্যাপশট হিসাবে আপনার ভিএম এর হার্ড ডিস্কের অবস্থা রয়েছে, যখন বিগভিএম.ডিস্কে সেই স্ন্যাপশট থেকে আপনার ডিস্কের সমস্ত পার্থক্য রয়েছে।
আপনি কোনও পুরানো স্ন্যাপশটে ফিরে গেলে কী ঘটে? ভিএম সফ্টওয়্যার বিগভিএম.ডিস্কের সামগ্রীগুলি ছুঁড়ে ফেলে নতুন শুরু করে বিগভিএম.ডিস্ক দিয়ে শুরু করে যা বিগভিএম-এস 1.ডিস্কে এখনও নির্দেশ করে।