চাইল্ড সাবভলিউমগুলির সাথে বিটিআরএফএস সাবভলিউমের পিছনে ঘূর্ণায়মান


9

সাবভলিউম স্ন্যাপশটে চাইল্ড সাবভলিউম রয়েছে এমনটিতে ফিরে যাওয়ার কোনও আধ্যাত্মিক উপায় আছে কি? সুতরাং উদাহরণস্বরূপ, এটি আমার বিটিআরএফএস ভলিউম বিন্যাস:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var

সুতরাং আপনি দেখতে পাচ্ছেন যে বাড়ি, অপ্ট এবং ভ্যার হ'ল __এ্যাকটিভের চাইল্ড সাবভলিউম। যদি আমি স্ন্যাপশট __অ্যাক্টিভ করে থাকি তবে এটি আমার নতুন লেআউট:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

আমি যদি __অ্যাকটিভের স্ন্যাপশটে ফিরে যেতে চাই, তবে নতুন __অ্যাকটিভটিতে বাড়ির পুনরায় যোগাযোগ, অপ্ট এবং ভেরি করার কোনও উপায় কি আছে?

উত্তর:


3

আপনি যদি আবার বোঝাতে চান তবে যা আপনার btrfs subvolume listপ্রদর্শন করবে:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

তারপর কোন সেখানে এখন যে কাজ করতে উপায় btrfs-progs

সাব-ভলিউম কেবল তখনই মুছে ফেলা যায় যখন সমস্ত শিশু-সাবভলিউমগুলি (এর সাথে তৈরি btrfs subvolume create ...) খালি থাকে তবে স্ন্যাপশটের ক্ষেত্রে এটি সত্য নয় (যা দিয়ে তৈরি করা হয় btrfs subvolume snapshot ...Sn স্ন্যাপশট অপসারণ করতে সমস্যা।

যদিও চাইল্ড সাবভলিউম এবং স্ন্যাপশট উভয়ই একই গাছের কাঠামোতে উপস্থিত হয় এবং btrfs subvolume delete ..কমান্ডটি ভাগ করেও তারা একই কাজ করে না।


1

প্রথমত, তৈরি করার সময় __snapshot/__active, সাবভলিউমগুলি (হোম, অপ্ট, ভার) স্ন্যাপ করা হয় না। পরিবর্তে খালি ডিরেক্টরি তৈরি করা হয়। সুতরাং __snapshot/__activeসহজেই সরানো যেতে পারে, যেখানে __activeপারে না।

কিন্তু মূল বিন্দু পুনরূদ্ধার করা হয়েছিল __activeসঙ্গে __snapshot/__active। আমি যতদূর জানি, এটি পরমাণুভাবে করা যায় না। তবে আপনি আনন্দের সাথে mvস্ন্যাপশট এবং অন্যান্য সাবভলিউমগুলি আশেপাশে নিতে পারেন (যতক্ষণ না সেগুলি লিখনযোগ্য)। যেমন করছেন

mv __active __snapshot/__active.old
mv __snapshot/__active __active

__activeস্ন্যাপশট থেকে পুনরুদ্ধার করে তবে সাবভলিউমগুলিতে সরানো হয় __snapshot/__active.old/{home,opt,var}। এগুলি পুনরায় সংযুক্ত করতে আপনি এখন ব্যবহার করতে পারেন

mv __snapshot/__active.old/{home,opt,var} __active/

এবং আপনি পাবেন

ID 257 gen 59804 top level 258 path __snapshot/__active.old
ID 258 gen 59786 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 5 path __active

যদি আপনার স্ন্যাপশটটি কেবল পঠনযোগ্য হয়ে যায় তবে উদাহরণস্বরূপ আপনি এটি করতে পারেন

mv __active __snapshot/__active.old
btrfs subvolume snapshot __snapshot/__active __active
mv __snapshot/__active.old/{home,opt,var} __active/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.