কীভাবে বিটিআরএফএস স্ন্যাপশট করবেন?


22

আমার / হোম পার্টিশনটিতে একটি সম্পূর্ণ শারীরিক ডিস্ক থাকে। এটি বিটিআরএফএস হিসাবে ফর্ম্যাট করা আছে। আমি এটি স্ন্যাপশট করতে চাই। বিশেষত সাবভলিউম নামকরণের বিষয়ে আমি বিভ্রান্ত।

আমি সচেতন যে অনুরূপ প্রশ্ন রয়েছে, তবে প্রতিটি অনুরূপ প্রশ্ন আমি যা জিজ্ঞাসা করছি তার থেকে আলাদা কিছু জিজ্ঞাসা করছে বলে মনে হচ্ছে (এবং তারা বয়স্ক, যার অর্থ সম্ভবত পুরানো, বিটিআরএফএসের দ্রুত বিকাশের ফলে)। উদাহরণস্বরূপ, এই প্রশ্নের উত্তর স্পষ্টতই আমার প্রশ্নের উত্তর নয় কারণ আমার / হোম পার্টিশনটি একটি পৃথক ভলিউম এবং বিটিআরএফএসের ম্যান পৃষ্ঠাটি এখন স্ন্যাপশট তৈরির জন্য আলাদা কমান্ড দেখায়।

অন্য একই সমস্যা, কোন কঠিন সমাধান
নামকরণ সংক্রান্ত বিষয়ে আমার মতো অন্য কেউ বিভ্রান্ত

আমার প্রশ্ন:

সহজ শুরু: আমার হোম পার্টিশনের একটি সাধারণ স্ন্যাপশট গ্রহণ করার জন্য এটি সঠিক আদেশ?

btrfs subvolume snapshot /home/@home /home/@home_snapshot_20120421

আমি সত্যিই সাহসী হয়েছি এবং এটি পরীক্ষা করেছি এবং এটি কার্যকর হয় না। ত্রুটিটি হ'ল error accessing /home/@home। নীচে প্রদর্শিত হিসাবে, @ হোম তালিকাভুক্ত করা হয়েছে।

আমি অবশ্যই সাবভলিউমের নাম নিয়ে বিভ্রান্ত হয়ে পড়েছি। স্নাপশট তৈরি করতে আমার কি তাদের ব্যবহার করা দরকার? কিছু উদাহরণ /homeসোর্স প্যারামিটার হিসাবে ব্যবহার করে বাড়ির স্ন্যাপশট নেওয়া দেখায় , তবে রুট ভলিউমের উদাহরণের উপর ভিত্তি করে আমার কাছে মনে হয় যে আমাকে ব্যবহার করা দরকার /home/@home

এই আদেশ কাজ করবে? আর যদি না হয় তবে কেন?

btrfs subvolume snapshot /home /home/@home_snapshot_20120421

কি @শুধু একটি নামকরণ কনভেনশন? তা কি আদৌ অর্থবহ?

এখানে কিছু আউটপুট যা প্রাসঙ্গিক হতে পারে:

btrfs subvolume list /home
ID 256 top level 5 path @home

আমি ঠিক বুঝতে পারছি না এর অর্থ কী। যখন আমি চেষ্টা btrfs device scanকরি এটি একটি ত্রুটি দেয় (উদাহরণস্বরূপ ডিভাইস / dev / sda1 স্ক্যান করতে অক্ষম)। আমার ফাইল সিস্টেমে কোনও ত্রুটি নেই। সবকিছু ঠিক আছে.

এখানে আমার পার্টিশন আছে। একটি উত্তরের প্রতিক্রিয়া হিসাবে, কোনও / বাড়ি আমার একমাত্র বিটিআরএফ বিভাজন নয়।

/dev/sda1: (boot partition) TYPE="ext2"  
/dev/sda2: (root partition) TYPE="btrfs"  
/dev/sdb1: (home partition) TYPE="btrfs"  
/dev/sdc1: (shared partition) TYPE="btrfs"  
/dev/sdc2: TYPE="swap"  

সম্প্রদায় রেপো সম্পর্কে সিদ্ধান্ত নেবে ...
ওয়ান জিরো

উত্তর:


19

উবুন্টু 12.04-এ আমার হোম পার্টিশনের একটি স্ন্যাপশট তৈরি করার সঠিক আদেশটি কী?

বাড়িটি একটি বিটিআরএফ বিভাজনে রয়েছে এবং এটি / হোম হিসাবে মাউন্ট করা হয়েছে এই সত্যটি প্রদান করে সঠিক আদেশটি হ'ল:

sudo btrfs subvolume snapshot /home/ /home/<any_name_you_choose_for_the_snapshot>

আমার ফলাফলগুলি এখানে:

আজ কমান্ড চালানোর আগে:

$ btrfs subvolume list /home  
ID 256 top level 5 path @home  
ID 257 top level 5 path @home/@snapshot_20120521_1936

আদেশ:

$ sudo btrfs subvolume snapshot /home/ /home/@snapshot_20120611_1307  
Create a snapshot of '/home/' in '/home/@snapshot_20120611_1307'

আজ কমান্ড চালানোর পরে:

$ btrfs subvolume list /home  
ID 256 top level 5 path @home  
ID 257 top level 5 path @home/@snapshot_20120521_1936  
ID 258 top level 5 path @home/@snapshot_20120611_1307

এই পদ্ধতির সাথে একমাত্র সমস্যা হ'ল আপনি যখন (তালিকাভুক্ত) / বাড়িতে থাকবেন তখন স্ন্যাপশটগুলি প্রদর্শিত হবে।

উবুন্টু সম্প্রদায় উইকি এটির সমাধানের জন্য আপডেট হয়েছে। এটা এখানে:

উবুন্টুর লেআউটে স্ন্যাপফটগুলির সাথে কীভাবে কাজ করবেন

উবুন্টু লেআউটে / বা / হোম স্ন্যাপশটগুলির সাথে কাজ করার জন্য বিআরটিএফএস ফাইল সিস্টেমটি একটি পৃথক স্থানে মাউন্ট করা এবং মাউন্ট করা সাবভলিউমগুলির চেয়ে বিটিআরএসফ গাছের উপরের অংশ থেকে কাজ করা খুব সুবিধাজনক। <- এটিই সমাধান। দুর্ভাগ্যক্রমে, এটি সুবিধাজনক নয়

sudo mount /dev/sdX# /mnt

একটি স্ন্যাপশট তৈরি করতে আমি উপরে ব্যবহৃত একই বাক্য গঠনটি ব্যবহার করুন:

sudo btrfs subvolume snapshot /mnt/@ /mnt/@_snapshot

এটি বিটিআরএফএস গাছের শীর্ষে অবস্থিত @_snaphot নামের @ সাবভলিউমের একটি স্ন্যাপশট তৈরি করবে। যেহেতু এটি গাছের শীর্ষে রয়েছে তাই মাউন্ট ভলিউমে ফাইল তালিকাভুক্ত করার সময় এটি প্রদর্শিত হবে না।

একটি স্ন্যাপশটে ফিরে যেতে, আপনাকে কেবল উবুন্টু যে নামটি চাপিয়েছে এবং পুনরায় বুট করা হবে তার নামটি পরিবর্তন করতে হবে। নামটি কীভাবে পরিবর্তন করবেন তা এখানে:

sudo mv /mnt/@ /mnt/@_badroot
sudo mv /mnt/@_snapshot /mnt/@

একটি স্ন্যাপশট ব্যবহার মুছতে:

sudo btrfs subvolume delete /mnt/@_badroot

বিটিআরএফস স্ন্যাপশটগুলি তাদের নিজের মধ্যে সাবভলিউম এবং স্ব-অন্তর্ভুক্ত, পুরানো @ সাবভলিউমকে মুছে ফেলা ভাল, যদি আমাদের প্রতিস্থাপন থাকে।

দ্রষ্টব্য: বিটিআরএফএস-সরঞ্জাম কমান্ড set-defaultউবুন্টুর লেআউটটি ভেঙে দেবে।


তো তুমি ঠিক আছে? এখন আপনার স্ন্যাপশটগুলি মাউন্ট করতে সক্ষম হওয়া উচিত।
টার্বো

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

হ্যাঁ আমি এটি তৃতীয় পয়েন্টেও উল্লেখ করেছি। দুঃখিত এটি চিহ্নিত করতে হয়েছিল;)
টার্বো

আমি আপনাকে উত্তরটি হিসাবে তার সমাধান চিহ্নিত করার পরামর্শ দিচ্ছি।
টার্বো

আপনি যখন / বাড়িতে থাকবেন তখন স্ন্যাপশটগুলি দেখানোর একটি সমাধান রয়েছে। আমি এখন তথ্য দিয়ে আমার উত্তর সম্পাদনা করছি।
মনিকা সেলিওর জন্য মাউন্টেনএক্স

11

ঠিক আছে প্রথম জিনিস:

  • আপনি যে সাবভলিউমটি দেখছেন তার @homeনাম দেখানো হয়েছে btrfs subvolume list /home। এটি মাউন্ট করা হয়েছে /home। @ হোম সাবভলিউমের নামও এতে 256 আইডি রয়েছে তাই সম্ভবত আপনার / বাড়িটি বিটিআরএফএস হিসাবে গঠন করা হয়।

  • এখন @ হোমে একটি স্ন্যাপশট তৈরি করতে আপনাকে ইস্যু করতে হবে: sudo btrfs subvolume snapshot /home/ /home/@home_snapshot_20120421

  • সাবভলিউমের কোনও নাম থাকতে পারে। @ ইনস্টল করার সময় উবুন্টুর কনভেনশন। (আপনি যদি apt-btrfs-snapshotমূল সাবভলিউমটি ব্যবহার করেন তবে নামকরণ করতে হবে @বিটিডাব্লু)) সম্প্রদায় উইকিটি দৃ strongly ়ভাবে @মূল @homeহিসাবে এবং বাড়ির মতো রাখার পরামর্শ দেয় কারণ এটি সেভাবে মাউন্ট করা হয়। এটি বিশেষত গুরুত্বপূর্ণ যদি আপনি ফিরে রোল করতে চান: আপনার বিটিআরএফস সাবভলিউম সেট-ডিফল্ট ব্যবহার করা উচিত নয় (উদ্দেশ্য অনুসারে সিনট্যাক্স নয়)।

  • জন্য btrfs device scanআপনি ব্যবহার করতে হবে sudo

  • একটি সাবভলিউম মুছতে আপনি ব্যবহার করতে পারেন sudo btrfs subvolume delete @home_snapshot_20120421

সমস্ত বিটিআরএফএস কমান্ড সংক্ষিপ্তভাবে সংক্ষিপ্ত করা যেতে পারে যতক্ষণ না সেগুলি দ্ব্যর্থহীন, সুতরাং উদাহরণস্বরূপ , বা এর মধ্যবর্তী কিছুতে sudo btrfs device scanকেটে নেওয়া যেতে পারে ।sudo btrfs d ssudo btrfs dev sc

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


আমি একটি ত্রুটি পেয়েছি:$ sudo btrfs subvolume snapshot @home home/@snapshot_20120611_1257 ERROR: error accessing '@home'
মনিকা সেলিও

এছাড়াও, আমার সাথে btrfs device scanএখনও সাফল্য হয়নি। কোনও রূপান্তর, ব্যবহার সহ sudoত্রুটি দেয় "ERROR: ডিভাইস '/ dev / sdX'" স্ক্যান করতে অক্ষম যেখানে এক্স কোনও বৈধ নাম যেমন a, a1, b, ইত্যাদি
মোনিকা সেলিও

@ ওনেজিরো: আমার কাছে এখনও সমস্ত উত্তর নেই, তবে আমি উবুন্টু ১২.০৪-তে আমার হোম পার্টিশনের একটি স্ন্যাপশট তৈরি করার জন্য সঠিক কমান্ডটি খুঁজে পেয়েছি এবং নীচের উত্তর হিসাবে আমি এই তথ্যটি দিয়েছি।
মনিকা সেলিও

এটা সত্যিই অদ্ভুত। আমি আমার বিটিআরএফস বিভাজনটি যাচাই করেছিলাম btrfs sub snap @ /mnt/randomএবং এটি আমার পক্ষে কাজ করে। তারপরে আবার আমি / এমএনটি ছিলাম যেখানে @ মাউন্ট করা হয়েছিল। বিভ্রান্তির জন্য দুঃখিত
টার্বো

@ টার্বো: আপনার উত্তরটি খুব সহায়ক ছিল। সাহায্য করার চেষ্টা করার জন্য ক্ষমা চাইতে হবে না। এমনকি উবুন্টু পৃষ্ঠাগুলিও পরিষ্কার নয়। আমরা সব শেষ পর্যন্ত এটি সন্ধান করা হবে।
মনিকা সেলিও

10

ইনস্টল করুন apt-btrfs-snapshotপ্যাকেজ, এবং তার subcommands ব্যবহার list, snapshot, deleteএবং set-default

এটি এমন একটি স্ক্রিপ্ট যা নিম্ন স্তরের btrfsকমান্ডগুলিকে আবৃত করে । এটি প্রথমে কোথাও বিটিআরএফএস মূল ফাইল সিস্টেম মাউন্ট করে কাজ করে। এর মাধ্যমে আমি প্রকৃত মূলটিকে বোঝাই /@যা সাধারণত যে সাব - ভলিউম হিসাবে মাউন্ট হয় তার বিপরীতে /। অন্য কথায়, আপনি চালাতে প্রয়োজন mount /dev/sda1 /mntযাতে আপনি সাবভলিউমগুলি দেখুন যে হিসাবে তালিকাভুক্ত করা হবে দেখতে পারেন /mnt/@, /mnt/@homeএবং যে কোনো জন আপনাকে তৈরি করেছেন। সেখান থেকে আপনি পারবেন btrfs subvolume snapshot /mnt/@home @snapshot-today, যা /@homeনামের একটি স্ন্যাপশট তৈরি করবে /@snapshot-today। এটি চলমান সাথে তুলনা করুন btrfs subvolume snapshot /home /home/@snapshot_today, যা পরিবর্তে একটি শিশু হিসাবে স্ন্যাপশট তৈরি করে /@home, তাই আপনি ls /homeএবং এর আসল নামটি যখন প্রদর্শিত হয় তখন তা প্রদর্শিত হয় /@home/@snapshot-today

একটি স্ন্যাপশট ফিরে ঘূর্ণায়মান শুধুমাত্র একটি সহজ পুনঃনামকরণ অপারেশন হল: mv /mnt/@home @backup ; mv /mnt/@snapshot-today @home। পরের বার আপনি বুট করুন, এটি মাউন্ট /@homeইন করতে গেলে /homeএটি স্ন্যাপশটটি খুঁজে পাবে।

আপনার মাথাটি চারপাশে মুড়িয়ে ফেলা কিছুটা জটিল কারণ আপনি যখন বিটিআরএফএস কীভাবে কার্নেলগুলি কীভাবে জিনিসগুলি দেখেন তার মধ্যে পার্থক্যটি মাথায় রাখতে হবে, যা মাউন্ট অপশন দ্বারা প্রভাবিত হয় (বিশেষত সাবভল = যুক্তি)।

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