লিনাক্সের ext4 + LVM + সফ্টওয়্যার RAID এ কাজ করে এসএসডি ট্রিম পাওয়া (বাতিল) করা সম্ভব?


18

আমরা একটি এমডি ডিভাইস তৈরি করতে লিনাক্সে (বর্তমানে ২.6.৩7) এমডি সহ RAID1 + 0 ব্যবহার করি, তারপরে ডিভাইসের শীর্ষে ভলিউম পরিচালনার জন্য LVM ব্যবহার করি এবং তারপরে LVM ভলিউম গ্রুপগুলিতে আমাদের ফাইল সিস্টেম হিসাবে ext4 ব্যবহার করি।

ড্রাইভ হিসাবে এসএসডি সহ, আমরা টিআরআইএম কমান্ডগুলি ডিভাইসগুলিতে স্তরগুলি (ext4 -> LVM -> এমডি -> এসএসডি) মাধ্যমে প্রচার করতে দেখতে চাই।

দেখে মনে হচ্ছে সাম্প্রতিক ২.6.৩ এক্স কার্নেলগুলিতে ডিভাইস ম্যাপার পরিস্থিতিগুলির আরও অনেক কভারেজ সহ অনেকগুলি নতুন এসএসডি-সম্পর্কিত টিআরএম সমর্থন যুক্ত হয়েছে, তবে আমরা এখনও এটি সঠিকভাবে ক্যাসকেডে নামার মতো দেখতে পাচ্ছি না।

এটি কি এখনও সম্ভব? যদি তাই হয়, কিভাবে? তা না হলে কি কোনও অগ্রগতি হচ্ছে?


আপডেট করা সার্ভারফল্ট দেখুন / a
229486/

উত্তর:


7

সম্ভব নয়, কারণ লিনাক্স সফট RAID এটি (এখনও?) সমর্থন করে না।

UPD। আমাকে লেট করার জন্য Wodin ধন্যবাদ জানি - অনুযায়ী lkml.org/lkml/2012/3/11/261 এই কার্মিক হয়েছে যোগ প্রস্তাবিত সম্প্রতি। প্রস্তাবিত ! = স্বীকৃত , যদিও।


আপনি এখনও এই উত্তরটি বিয়োগ করতে পারেন তবে এটি
এলএসআরকে ট্রিম

3
এটা এখন। lkML.org/lkML/2012/3/11/261
Wodin

@ ওডিন, আমি প্রস্তাবিত পরিবর্তনগুলি 3.5 তেও পাই না। তারা গ্রহণযোগ্য বলে মনে হচ্ছে না।
পোজ

14

২.6.৩7 হিসাবে এটি উপস্থিত থাকতে হবে ( উত্স ) । কার্নেলটি ব্যাকগ্রাউন্ডে এটি করে না, ব্লক বাতিল করার প্রক্রিয়াটি বর্তমানে চাহিদা অনুযায়ী চালিত করার জন্য ডিজাইন করা হয়েছে (ক্রোন স্ক্রিপ্ট!)। Dm-crypt সমর্থন এখনও বিদ্যমান নেই।

১৩ ই জানুয়ারী, ২০১১-তে একটি প্যাচটি ডিএম-রেইড 1 সিটিতে একীভূত করা হয়েছিল যাতে লেখা আছে:

dm raid1: support discard

Enable discard support in the DM mirror target.
Also change an existing use of 'bvec' to 'addr' in the union.

আমি 100% নই, তবে আমি মনে করি এটি 2.6.38 এর জন্য একত্রীকরণ উইন্ডো।

এক্সভি 4 কিছুটা আগে সমর্থন যোগ করেছে, যেমন এলভিএম করেছিল। RAID এমন একটি কী যা সমর্থন করে না। 1/13/2011 পর্যন্ত, এটি সমর্থন যোগ করা হয়েছে বলে মনে হয়। এটি ২.6.৩৮ বা সম্ভবত ২.6.৩৯ এ সন্ধান করুন।


সময় পার হয়ে গেছে এবং ট্রিম সমর্থন অবশ্যই ৩.7 কার্নেলের অন্তর্ভুক্ত রয়েছেকমিট প্রক্রিয়ার অনুরূপ RAID10 সার্চ জন্য :

এটি এমডি রেইডকে 10 টিআরএম সমর্থন করে। যদি একটি ডিস্ক বাতিল এবং অন্যটিকে সমর্থন করে না, বা অন্যটিতে একটি_রিজো_ডাটা এবং অন্যটি না রয়েছে, তবে এই জাতীয় ডিস্কগুলির ডেটাগুলির মধ্যে অসঙ্গতি থাকতে পারে। তবে এটি কোনও বিষয় নয়, বাতিল করা ডেটা অকেজো। যদিও এটি পুনর্নির্মাণে অতিরিক্ত অনুলিপি যুক্ত করবে।


এই থ্রেডটি দেখেছি, এবং সম্পর্কিত কমিটস, তবে আমি যেমন প্রশ্নে বলেছিলাম - এর অর্থ কি এটি সঠিকভাবে কেবল এলভিএম (ডিভাইস ম্যাপার) নয়, এমডি (সফ্টওয়্যার রেড) দিয়ে যাবে?
ডন ম্যাকস্কিল

1
এটি আশাব্যঞ্জক মনে হলেও আমার বোধগম্যতা হল যে ডেমরাইড মূলত তথাকথিত 'ফকলিআইডি' হার্ডওয়্যার র‌্যাড কন্ট্রোলারের জন্য ব্যবহৃত হয়। আমি যে বিষয়ে কথা বলছি তা হ'ল শীর্ষস্থানীয় এলভিএম সহ একটি আরও সাধারণ সফটওয়্যার-কেবল এমডিএমডিএম RAID-1 (+0) অ্যারে (গুলি)। আফাইক, এই সেটআপটি ডিএমরেডের ডিসকার্ডগুলি হ্যান্ডেল করার নতুন-সক্ষমতা থেকে উপকৃত হয় না। রাইট?
ডন ম্যাকস্কিল 21

1
@DonMacAskill 'raid1.c' ফাইলটির ট্রিম, ফিট্রিআইএম, বা 'নিষ্পত্তি' উল্লেখ করার জন্য কোনও প্রতিশ্রুতি নেই। সুতরাং, দেখে মনে হচ্ছে m دادm --create RAID সমর্থন এখনও নেই।
sysadmin1138

@ sysadmin1138 আমার মনে হয় আপনি বোঝাতে চাইছেন discard, এটিই লিনাক্স কার্নেলের মধ্যে ডাকা হয়। এবং সেই প্যাচটি বাতিল করার কথা বলে মনে হচ্ছে।
মাইকেল হ্যাম্পটন

1

মোঃপ্রিমের আরও কাজের প্রয়োজন হতে পারে:

Cyberax-mdtrim-0a40e8d# ./mdtrim.py -m /dev/md4 -s /home
Scratch directory is /home, trimmer file size is 0 GB 790 MB
Found slave sdc2 on /dev/sdc with MD offset 0 and partition offset 249856
Creating trimmer file
252,2: device not found in /dev
Traceback (most recent call last):
  File "./mdtrim.py", line 120, in <module>
    if lines[2].find("assuming %d byte sectors" % sector_size) == -1:
IndexError: list index out of range

0

আপনি আমার এমডিটিআরআইএম স্ক্রিপ্টটি ব্যবহার করতে পারেন ( https://github.com/Cyberax/mdtrim/ ) ট্রাইম খালি জায়গায় ট্র্যাকটি ext4 / 3 স্তর -1 RAID- তে। আমরা ক্রোন থেকে পর্যায়ক্রমে এটি শুরু করি এবং এটি আমাদের জন্য দুর্দান্ত কাজ করে।

অন্যান্য RAID স্তরের জন্য সমর্থন যোগ করা সম্ভব, তবে তার জন্য আমার কাছে সময় (বা প্রয়োজন) নেই।


0

এখানে পরামর্শ হিসাবে আপনি ব্যবহার করতে পারেন

lsblk -D

আপনার ব্লক ডিভাইসগুলি বাতিল করা আদেশগুলি দিয়ে যায় কিনা তা পরীক্ষা করতে।

এছাড়াও মনে রাখবেন অধ্যায় ডিভাইসের মধ্যে lvm.conf একটি বিকল্প issue_discards ধারণ করে। দেখা

man 5 lvm.conf

আরও তথ্যের জন্য.

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