আমি কীভাবে স্বচ্ছ, দক্ষ, ফাইল সিস্টেম স্ন্যাপশ্যাটিং বা ext3 / 4 এর সংস্করণ পেতে পারি?


11

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

আমি আমার প্রয়োজনীয়তার জন্য মডেলটিকে ext3CO বিবেচনা করি। স্বচ্ছ, দক্ষ, তবে আমি অতিরিক্ত ls abc@timestampবৈশিষ্ট্য ছাড়াই করতে পারি । যতক্ষণ না আমি কোনওভাবে অটোমেটেড হয়ে উঠি, আমার ফাইলগুলির স্বচ্ছ সংস্করণ।

এটি তাত্ক্ষণিক হতে পারে বা এটি 10s, 30s, 1m, 5m, 15m, ইত্যাদির বিরতিতে স্ন্যাপশটের উপর ভিত্তি করে তৈরি করা যেতে পারে Just 100 মিটার থেকে 1 জিবি উপরে।

আমি লিনাক্সে থাকায় জেডএফএস আসলেই কোনও বিকল্প নয় (এবং আমি ফিউজের মাধ্যমে এটি ব্যবহার না করা পছন্দ করব কারণ আমার কাছে ইতিমধ্যে ভার্সন করতে চাইছে আমার একটি এক্স 3 সেটআপ আছে, নতুন কিছু নয়)।

কী সমাধান আছে?

উত্তর:


7

আপনি যদি LVM ব্যবহার করে আপনার ফাইল সিস্টেমগুলি আবদ্ধ করেন, তবে আপনি অন্তর্নিহিত লজিকাল ভলিউম স্তরটি ব্যবহার করে একটি স্ন্যাপশট ভলিউম তৈরি করতে পারেন। এটি একটি খুব সহজ প্রক্রিয়া এবং স্ট্যান্ডার্ড "স্ন্যাপশ্যাটি" জিনিসগুলির জন্য আশ্চর্যজনকভাবে কার্যকর, যেমন ব্যাকআপ এবং পূর্বাবস্থায় ফিরে rm -frআসা।


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

6

8 বছর অনুসন্ধানের পরে আমি মার্কো আর গ্যাজেটা (যে জন ম্যাডেনের একই নামের সাথে পুরানো প্রকল্পের চেয়ে আলাদা [যা একটি বিভিন্ন কাজ করে]) দ্বারা এসভিএনএফএসকে পেয়েছি । এই SVNFS ব্যবহারসমূহ SVN স্বচ্ছভাবে দ / W অপারেশন:

নিজস্ব সংস্করণ তৈরি করে এমন একটি ফাইল সিস্টেম তৈরি করার পরিবর্তে, আমি একটি বিদ্যমান সংস্করণ সরঞ্জাম, বিপর্যয় ব্যবহার করেছি এবং এর ব্যবহারকে স্বচ্ছ করেছি। সুবিধাটি হ'ল এই ফাইল সিস্টেমটির জন্য আপনাকে নতুন সরঞ্জাম শেখার দরকার নেই, যদি আপনি বিবর্তন জানেন

এটি পাইথনে লেখা এবং FUSE ব্যবহার করে:

এখন আপনি সংযুক্ত স্ক্রিপ্টটি চাওয়ার মাধ্যমে সংস্করণ ফাইল সিস্টেম শুরু করুন:

python svnfs.py -o svnroot=/home/marco/svnfiles /home/marco/myfiles

সবকিছু ঠিকঠাক হয়ে গেলে, আপনি উভয় ডিরেক্টরিতে একটি তালিকা পেতে সক্ষম হবেন এবং দেখুন যে বিষয়বস্তুগুলি একই।

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

উদাহরণে এসভিএনএফএস রেপোর জন্য পৃথক ডিরেক্টরি ব্যবহার করে। যদিও আমি এটি পরীক্ষা করিনি। আমার প্রয়োজনের জন্য আমি আমার কার্যকরী ডিয়ারে ঠিকঠাক সংগ্রহ করতে চাই।


আমি 4 বছর আগেও রেজার 4 এর সংস্করণ সক্ষমতার রেফারেন্স পেয়েছি :

রেজাইজার 4 দেখুন ফাইলগুলি ডিরেক্টরি।

উদাহরণ: diff -u main.C main.C/r/123

অথবা বৈশিষ্ট্য অ্যাক্সেস করতে

cat main.C/p/svn-eolstyle

echo "foobar" > main.C/p/my-property 

মনে হয় যে এই মডেলটি অনুসরণ করা ভাল হবে, কারণ একটি বড় ফাইল সিস্টেম ইতিমধ্যে সেই পথে চলেছে।

-পল কেরনা

তবে আমি এটিও পরীক্ষা করে দেখিনি।


দু'বছর আগে আমি আরও অনুসন্ধান করতে গিয়েছিলাম, স্ট্যাকেবল ফাইল সিস্টেম তৈরির জন্য প্রকল্পের FiST খুঁজে পেয়েছি এবং অধ্যাপকের সাথে যোগাযোগ করেছি। Erez সাদোক এর স্টোনি ব্রুক বিশ্ববিদ্যালয় কে ছিলেন উপদেষ্টা / পরামর্শদাতা প্রকল্প নামক জন্য versionfs অনেক আগে। বরাত দিয়ে:

http://www.fsl.cs.sunysb.edu/docs/versionfs-fast04/

http://www.fsl.cs.sunysb.edu/docs/versionfs-msthesis/versionfs.pdf

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

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

শেষ অবধি, সংস্করণগুলি পূর্ববর্তী সিস্টেমগুলির দ্বারা নিযুক্ত সাধারণ অনুলিপি-অন-লেখার বাইরে চলে যায়: আমরা অনুলিপি-অনুলিপি প্রয়োগ করি। যদিও প্রথমে আমরা প্রত্যাশা করেছিলাম যে পুরানো এবং নতুন পৃষ্ঠাগুলির মধ্যে তুলনা করা খুব ব্যয়বহুল হবে, আমরা আবিষ্কার করেছি যে অপরিবর্তিত ব্লকগুলি লেখার সাথে সম্পর্কিত I / O এবং সিপিইউয়ের সময়সীমা সময়ের চেয়ে সিস্টেমের সময়ের বৃদ্ধি অফসেটের চেয়ে বেশি। যখন আরও ব্যয়বহুল স্টোরেজ নীতিগুলি ব্যবহার করা হয় (যেমন, সংক্ষেপণ), অনুলিপি অনুলিপি আরও কার্যকর।

এটি আমার কাছে খুব আকর্ষণীয় বলে মনে হয়েছিল তবে প্রকল্পে কাজ করা লোকদের সাথে যোগাযোগ করা থেকে জানা যায় যে হুমকির কারণ এটির উত্স কোডের কোনও অজানা জায়গা নয়। অধ্যাপক নিজেই মেলে বলেছেন:

ভার্শনফেসের কোডটি এখন খুব পুরানো এবং এটি কেবল কার্নেল ২.৪-এ কাজ করেছে। আপনি যদি এখনও স্ট্যাকযোগ্য সংস্করণ f / s চান, তবে প্রথমে এটি স্ক্র্যাচ থেকে লিখতে হবে - সম্ভবত র‌্যাপফের উপর ভিত্তি করে (wrapfs.files systemms.org/ দেখুন)।

সুতরাং এখানে কোনও কার্যনির্বাহী প্রকল্প নেই যদিও স্ট্যাকেবল ফাইল সিস্টেমের ধারণাটি আমার কাছে খুব সুন্দর লাগছে। যে কেউ wrapfs ভিত্তিক প্রকল্প শুরু করতে চান , দয়া করে আমাকে জানান :)


3

আপনি gitfs চেক করতে পারেন । এটি গিট, বেশ স্থিতিশীল এবং সহজেই ব্যবহারযোগ্য সুপার on

মূলত, এটি গিটের ওভারলে। আপনি যখনই কোনও ফাইল বা ডিরেক্টরি আপডেট করেন তখন এটি সেই পরিবর্তনের সাথে একটি প্রতিশ্রুতি তৈরি করে (কমিটগুলি ব্যাচ করতে জানে তাই আপনি যখন কোনও সংরক্ষণাগারটি আনজিপ করবেন না তখন 100 টি কমিট দিয়ে শেষ করবেন না)। আপনার দূরবর্তী সিঙ্ক করতে এবং 'সর্বদা আমার গ্রহণ করুন' কৌশলটি ব্যবহার করে সংঘাতগুলি মার্জ করতেও জানে।

আপনি যখন এটি মাউন্ট করবেন, এটি আপনার কাছে দুটি ডিরেক্টরি আনবে: বর্তমান এবং ইতিহাস ├── current │   ├── test1.md │   ├── test2.md │   ├── test3.md -> current/test2.md │   ├── test4.md │   └── test_directory └── history ├── 2014-11-23 │   ├── 20-00-21-d71d1579a7 │   │   └── testing.md │   └── 20-42-32-7d09611d83 │   ├── test2.md │   └── testing.md ├── 2014-12-08 │   ├── 16-38-30-6d6e71fe47 │   │   ├── test2.md │   │   └── test1.md

আরও তথ্য এই পৃষ্ঠায় পাওয়া যাবে ।


আরও তথ্য যুক্ত করা এই উত্তরটির উন্নতি করবে।
ডেভ এম

2

বুপ আশাব্যঞ্জক দেখাচ্ছে।

এটির পুরানো আলোচনা এখানে: http://lwn.net/Articles/380983/


গিট ভিত্তিক কিছু ব্যবহার করার ক্ষেত্রে একটি সতর্কতা রয়েছে, গিটে পরিবর্তনগুলি মূল থেকে ডেল্টাস হিসাবে বিবেচিত হয় না - প্রতিটি প্রতিশ্রুতি পূর্ণ ফাইল হয় এমনকি আপনি কেবল একটি বাইট পরিবর্তন করলেও।
সংশ্লেষক

0

আরএসএন্যাপশট ব্যবহার করে দেখুন - আমি নিজে এটি ব্যবহার করি নি, তবে @ ফাইল-স্তরের ডুপ্লিকেশন সিস্টেমগুলি খুঁজতে গিয়ে আমি এতে হোঁচট খেয়েছি


ইহা আকর্ষণীয়. আমি অবশ্যই এটি দেখতে হবে। আমার উদ্বেগ হ'ল এর আইও লোডটি আমার সিস্টেমে হুড়োহুড়ির কারণ হবে (কিছুক্ষণ আগে আমি আরএসসিএনসি এর সাথে তেমন কিছু করিনি এবং এটি চালানোর সময় অন্যান্য কনসোলে হিট / স্টুটরিং আচরণের কারণে এটি ব্যবহার বন্ধ করে দিয়েছিলাম)।
ডেল ফরেস্টার

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

1
অসুবিধা আপনার প্রয়োজনীয়তা হয়। আরএসএন্যাপশট, বা এলভিএম এর মতো কিছু ছাড়াও , এক্সট 2 / এক্সট 3 এর মধ্যে একটি স্ন্যাপশটিংয়ের সুবিধা অন্তর্নির্মিত নেই ext আপনি এক্সট্রোইকটি দেখান, তবে আপনাকে অন্তর্নিহিত ফিল্ড সিস্টেমটি পরিবর্তন করতে হবে। নোট মনে হচ্ছে আপনি rsnapshot ব্যবহার এবং এ আপনার ডেটা সংরক্ষণ করতে পারেন দেখায় যে অন্য মেশিন, আমি জানিনা স্থান ধরনের আপনার সম্পর্কে কথা বলা, কিন্তু এটা জানার জন্য হতে পারে অন্য যন্ত্রে আপনার স্ন্যাপশট রাখা? এছাড়াও মনে রাখবেন যে কোনও ধরণের স্ন্যাপশটের জন্য ডিস্কের জায়গার প্রয়োজন হবে। যদি আপনার ড্রাইভগুলি ক্ষমতার কাছাকাছি থাকে তবে স্ন্যাপশটের জন্য আপনি কতটা জায়গা রেখে গেছেন?
জেসন

0

আর 1 সোফ্ট থেকে হট কপিটি একবার দেখুন।

http://www.r1soft.com/tools/linux-hot-copy/

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

আরও দেখুন: http://www.r1soft.com/tools/linux-hot-copy/hcp-tips/

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