আমি 2 বছর আগে একটি অনুরূপ প্রশ্ন জিজ্ঞাসা করেছি ।
তবে আমার ক্ষেত্রে, আমি কেবলমাত্র রেড 0-তে একটি ডিভাইস অনুলিপি করার পরিকল্পনা করছিলাম।
অবশেষে আমি একটি সমাধান খুঁজে পেয়েছি । সেই সময় আপনি raid0 থেকে raid10 তে রূপান্তর করতে পারবেন না, তবে কার্নেল ৩.৩ থেকে দেখে মনে হচ্ছে এটি এখন আপনি পারেন। যাতে সমাধানটি আপনার পক্ষে শেষ পর্যন্ত কার্যকর হতে পারে।
এই পদ্ধতির সাথে একটি সমস্যা হ'ল এটি fsuid অনুলিপি করে। যার অর্থ আপনি একই মেশিনে এফএস এবং এর অনুলিপি উভয়ই মাউন্ট করতে পারবেন না। সেই সময়ে, কোনও fsuidএফএস পরিবর্তন করার কোনও সরঞ্জাম ছিল না , তবে এটি এখন পরিবর্তিত হতে পারে।
মূল ডিভাইসের শীর্ষে একটি অনুলিপি স্তর যুক্ত করার ধারণাটি এটিতে লেখা যেতে পারে তবে কোনও পরিবর্তন অন্য কোথাও করা হয় যা আপনি পরে বাতিল করতে পারেন। এর অর্থ আপনার অতিরিক্ত সঞ্চয় স্থান প্রয়োজন (উদাহরণস্বরূপ বাহ্যিক ড্রাইভে)।
তারপরে মূলটির পরিবর্তে সেই COW'D FS টি মাউন্ট করুন, FS অনুলিপিটির জন্য ডিভাইসগুলি যুক্ত করুন এবং COW এর ডিভাইসটি সরান।
অনুলিপি অনুলিপি জন্য, আপনি ডিভাইস ম্যাপার ব্যবহার করতে পারেন।
লেখার ক্ষেত্রে ডিসপোজেবল কপির জন্য, আমি এখানে একটি লুপ ডিভাইস ব্যবহার করি।
এর আপনি আপনার ক্লোন করতে চান বলতে দাও /dev/sdaসম্মুখের /dev/sd[bcde]:
COW পিছনের দোকান তৈরি করুন:
truncate -s 100G /media/STORE/snap-store
losetup /dev/loop0 /media/STORE/snap-store
এখন মাউন্ট করা থাকলে অরিজিনাল এফএস আনমাউন্ট করুন এবং modprobe -r btrfsএটি হস্তক্ষেপ করছে না এবং এটির ডিভাইস স্ক্যানটি ভুলে যেতে পারে তা নিশ্চিত করে।
তারপরে COW'd ডিভাইসটি তৈরি করুন:
echo "echo 0 $(blockdev --getsize /dev/sda) snapshot /dev/sda /dev/loop0 N 8 | dmsetup create cowed
এখন এটির /dev/mapper/cowedমতো /dev/sdaযা এতে লিখিত কিছু শেষ হয়ে যাবে /dev/loop0এবং /dev/sdaতা অচ্ছুত হবে।
এখন, আপনি এটি মাউন্ট করতে পারেন:
mount /dev/mapper/cowed /mnt
অন্যান্য ডিভাইস যুক্ত করুন:
btrfs dev add /dev/sd[bcde] /mnt
এবং পুরানোটি সরান:
btrfs dev del /dev/mapper/cowed /mnt
এটি শেষ হয়ে গেলে, আপনি শাটডাউন এবং আনপ্লাগ করতে বা /dev/sdaপঠনযোগ্যভাবে তৈরি করতে চাইতে পারেন কারণ এটি অন্যদের মতো একই রকম ফসুইড পেয়েছে, btrfsএখনও এটির সাথে বিচলিত হতে পারে।
এখন, আমি যদি সঠিকভাবে বুঝতে পারি তবে ধরে নিই যে আপনার কাছে সাম্প্রতিক বিটিআরএফএস-প্রগতি রয়েছে, আপনি একটি করতে সক্ষম হবেন:
btrfs balance start -d convert=raid10 /mnt
RAID10 এ রূপান্তর করতে। তত্ত্ব অনুসারে, এটি নিশ্চিত হওয়া উচিত যে প্রতিটি ডেটা অংশ কমপক্ষে 2 টি ডিস্কে অনুলিপি করা হয়েছে।
আমি দৃ strongly়ভাবে সুপারিশ করব যে আপনি প্রথমে লুপ ডিভাইসে একটি ডামি বিটিআরএফ পরীক্ষা করে নিন যা মেমোরি থেকে আসে এবং আমি এটি ভুল করে ফেলতে পারি (উদাহরণস্বরূপ আমার সম্পাদনার আগে আমার প্রাথমিক উত্তর দেখুন)।
নোট করুন যে কার্নেল ৩.6 থেকে, বিটিআরএফএস প্রয়োগগুলি zfs এর মতো কিছু পাঠায় / গ্রহণ করে। এটি আপনার পক্ষে একটি বিকল্প হতে পারে।