লিনাক্সের আওতায় 'মোট বাইট লিখিত' পরিমাপ করা হচ্ছে


36

আমরা একটি সার্ভার পরিবেশে এসএসডি ড্রাইভগুলি ব্যবহারের সম্ভাবনাটি অন্বেষণে বেশ আগ্রহী। তবে, একটি জিনিস যা আমাদের প্রতিষ্ঠিত করা দরকার তা হ'ল ড্রাইভের দৈর্ঘ্য। এই নিবন্ধ অনুসারে প্রস্তুতকারকরা 'মোট বাইট লিখিত' (টিবিডাব্লু) এর শর্তে ড্রাইভ সহনশীলতা রিপোর্ট করছেন। উদাহরণস্বরূপ, নিবন্ধ থেকে একটি ক্রুশিয়াল সি 400 এসএসডি 72TB টিবিডাব্লুতে রেট করা হয়েছে। আমাদের টিবিডাব্লু পরিমাপ করতে সহায়তা করার জন্য লিনাক্স বাস্তুতন্ত্রের অধীনে কি কোনও স্ক্রিপ্ট / সরঞ্জাম রয়েছে? (এবং তারপরে এসএসডি ড্রাইভগুলি ব্যবহারের সম্ভাব্যতা সম্পর্কে আরও শিক্ষিত সিদ্ধান্ত নিন)

উত্তর:


28

আরেকটি সম্ভাবনা হ'ল / প্রোক / ডিস্কস্ট্যাটগুলি দেখা । এটি রিবুটগুলি জুড়ে অবিচল নয়, তবে এতে প্রতিটি ব্লক ডিভাইসের ডেটা রয়েছে। সম্ভবত আপনার কাছে সবচেয়ে আকর্ষণীয় ক্ষেত্রটি 10, এতে লিখিত খাতগুলির মোট সংখ্যা রয়েছে। 512 বাইটের সেক্টর আকারের স্কিসি ডিস্কযুক্ত সিস্টেমে আপনি চালাতে পারেন

awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats

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

sda 728.759
sda1 79.0908
sda2 649.668


4
সেক্টরের আকার # ক্যাট / সিস / ব্লক / এসডিএ / সারি / hw_sector_size কমান্ড চালিয়ে পাওয়া যাবে
আন্তোনিও

@ অ্যান্টোনিও ধন্যবাদ! কখন যে যুক্ত হয়েছিল তা আমি নিশ্চিত নই। দেখে মনে হচ্ছে এটি ২.২-এ রয়েছে তবে ২.6.১৮ নয়।
সাইরাসাস

@ এসসিউরাস আপনি কি আপনার গণনার পিছনে গণিতটি ব্যাখ্যা করতে পারেন? আপনি সেক্টরের আকার = 512 সম্পর্কে কথা বলছেন তবে আপনার গণনাগুলি 2-1024
gyre

@ গ্রেয়ার ফিল্ড 10 এ 0.5 কিলোবাইট সেক্টরের লিখিত সংখ্যা রয়েছে। কিলোবাইটের সংখ্যা লিখিত পেতে আমি এটি 2 দিয়ে বিভক্ত করি। আমি তার পরে 1024 কে মেগাবাইটে রূপান্তর করতে পারি।
সাইরাসাস

@ অ্যান্টোনিও এটি সেক্টরের আকারকে অন্তর্নিহিত হার্ডওয়্যার দিয়ে ব্যবহার করা হচ্ছে তা দেখায়, তবে কার্নেল উত্স, আইওস্ট্যাট উত্স এবং অভিজ্ঞতা অভিজ্ঞতা থেকে বোঝা যায়, / সিকিউরিটি / ডিস্কস্ট্যাটে "সেক্টর" সংখ্যা সর্বদা 512 বাইট বোঝায়, এমনকি যখন hw_sector_sizeআলাদা হয় ( কমপক্ষে ২.৪ সিরিজ থেকে)। block/cfq-iosched.cবিশেষভাবে দেখুন cfqg_stats_update_dispatch()
পল

23

আমি আমার নোটবুকে একই সমস্যাটির সাথে লড়াই করে যাচ্ছিলাম, তবে আমি প্রতিদিনের ভিত্তিতে এটিকে বেশ রিবুট করার সাথে সাথে গৃহীত উত্তরটি সহায়ক ছিল না। আমার কাছে একটি স্যামসুং এমএসএটিএসএসডি আছে, এতে স্মার্ট অ্যাট্রিবিউট # 241 টোটাল_ এলবিএ_ রাইট থাকে। অফিসিয়াল ডকুমেন্টেশন অনুসারে ,

মোট আকার গণনা করতে (বাইটে), এই বৈশিষ্ট্যের কাঁচা মান 512 বি দ্বারা গুণ করুন।

সুতরাং নীচের কমান্ডটি আমার এসএসডি ডিস্কে লিখিত মোট টিবি দেয় (এসডিবি)

sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '

এটি আমার এইচডিডি-তেও কাজ করে, আমি ধরে নিলাম এটি প্রতিটি আধুনিক হার্ড ডিস্কে কাজ করা উচিত।


3
না, এটি কেবলমাত্র এসএসডি ড্রাইভের কয়েকটি নির্দিষ্ট মডেলগুলিতে বিদ্যমান। এটি সর্বজনীন নয়।
মাইকেল হ্যাম্পটন

3
আমি বাতলান যে আপনার সমীকরণ আসলে একটি সংখ্যা বন্ধ হিসাবে এটি আরো সঠিক হবে উৎপন্ন চেয়েছিলেন: sudo smartctl -A /dev/sda1 | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" }'
জর্ডন বেডওয়েল

আমার ইন্টেল এসএসডি এর একই বৈশিষ্ট্য রয়েছে তবে এটি বলা হয় Host_Writes_32MiB। এছাড়াও অ্যাট্রিবিউট 249 রয়েছে NAND_Writes_1GiB। সুতরাং জেনে রাখুন যে প্রতিটি এসএসডি-তে এটি আলাদা বলে মনে হয় (যেমন আমার একটি এমএসএটিএ ইন্টেল এসএসডি-তে সেই বৈশিষ্ট্য নেই)
পুনরায় রিক্স করুন

আমার ইন্টেল এসএসডি প্রো 5400 (এসটিএ) তে জিবিতে Total_LBAs_Writtenনির্দিষ্ট করা আছে! লো 4714স্মার্টটি দেখানো ছিল এমন কোনও ধারণা তৈরি করতে পারেনি । তবে উইন্ডোজের ইনটেল এসএসডি টুলবক্সটি দেখে এটি জিবিতে প্রদর্শিত হয়েছিল।
মিঃ ক্যালভিন

15

আপনি / এক্স / সিএস / এফএস / এক্সট 4 / V ডিভাইস / আজীবন_রাইট_কিবিটিস দেখে একটি ext4 ফাইল সিস্টেমে কতটা ডেটা লেখা হয়েছে তা দেখতে পাবেন।


এটি একটি দুর্দান্ত বৈশিষ্ট্য যা আমি জানতাম না! লজ্জাজনকভাবে আমাদের বেশিরভাগ সিস্টেমে
এক্সটি 3

ext3 (এবং কিছুটা কম পরিমাণে) ext4 ফ্ল্যাশ লেখার জন্য ডিজাইন করা হয়নি। স্থানটি কতবার লেখা হয়েছে তার উপর নির্ভর করে ব্যর্থতা দেখা দেয় - এবং প্রচলিত ফাইল সিস্টেমের সাথে হটস্পটগুলি খুব দ্রুত বিকাশ লাভ করে। নির্মাতারা উদ্ধৃত পরিসংখ্যানগুলি অত্যন্ত বিভ্রান্তিমূলক কারণ তারা লেখার এমনকি একটি বিস্তৃতিও অনুমান করে। ফাইল সিস্টেম রয়েছে - যেমন জেএফএফএস 2 - বিশেষত আপনার এসএসডিগুলির আয়ু বাড়ানোর জন্য ডিজাইন করা হয়েছে।
সিমকিয়ান

2
@ সাইমকিবিয়ান - বর্তমান সময়ের ফ্ল্যাশ ডিভাইস সহ এটি বেশিরভাগ ক্ষেত্রেই একটি অ-ইস্যু। তাদের সবার বোর্ড কন্ট্রোলারগুলিতে অন্তর্নির্মিত পরিধানের রুটিন রয়েছে।
EEAA

1
@ সাইমকিবিয়ান - দুটি ধরণের ফ্ল্যাশ ডিভাইস রয়েছে। মেমরি টেকনোলজি ডিভাইসগুলি (বা এমটিডি) ফ্ল্যাশ মেমরির সরাসরি ইন্টারফেস উপস্থাপন করে। এগুলি সাধারণত এম্বেড থাকা ডিভাইসে পাওয়া যায় এবং এগুলি JFFS2 এর মতো ফাইল সিস্টেমের জন্য নকশাকৃত। অন্য ধরণের ফ্ল্যাশ ডিভাইস ফ্ল্যাশ মেমোরিটি পরে ফ্ল্যাশ ট্রান্সলেশন (এফটিএল) এর আড়ালে রাখে যাতে এটি নিয়মিত ব্লক ডিভাইসের মতো লাগে। এসএসডি, ইউএসবি স্টিক এবং মেমরি কার্ডের মতো ভোক্তা প্রযুক্তি এভাবে প্রয়োগ করা হয়। জেএফএফএস 2 এর মতো ফাইল সিস্টেমগুলি এগুলির জন্য উপযুক্ত নয়; পরিবর্তে, আপনাকে এক্সট 4 এর মতো ফাইল সিস্টেম ব্যবহার করতে হবে যা ব্লক ডিভাইসের জন্য তৈরি করা হয়েছে।
সাইরাসাস

1
সাবধানবাণী: ext4 জীবনকাল_রাইট_কিবিটস এবং সেশন_ রাইট_কবিটগুলি এসএসডি মেমরি সেল লেখার প্রতিনিধি নয়। আমি ext4 আজীবন_রাইট_কিবিটসের জন্য একটি সিস্টেমের রিপোর্ট 15 টিবি দেখেছি, যখন এসএসডি নিজেই স্মার্ট অ্যাট্রিবিউট 241 এর মাধ্যমে কেবল 1 টিবি রিপোর্ট করেছিল। আমার সন্দেহ হয় যে এসএসডি চলাকালীন প্রত্যেকবার এই পরিসংখ্যানগুলিতে ফাইল সিস্টেমের মুক্ত স্থানের পুরো আকার যুক্ত হতে পারে even শেষ মুছে ফেলার পরে যদি এগুলি স্পর্শ না করা হত তবে নিয়ন্ত্রক স্পষ্টতই সমস্ত উপলব্ধ ব্লকগুলি মুছে ফেলবেন না। tune2fs -l আউটপুট একইভাবে বিভ্রান্তিকর বলে মনে হচ্ছে।
әɹsәɹoɈ

2

আপনি চেষ্টা করতে পারেন iostat। এটি আপনাকে আইও এবং সিপিইউ ব্যবহার সম্পর্কিত পরিসংখ্যান দেয়। ম্যানুয়ালটি দেখুন man iostat


আমি মনে করি এটি কাজ করতে পারে তবে আমি আশা করছিলাম যে উচ্চ স্তরের এমন কিছু উপলব্ধ ছিল যা সংখ্যক বাইট মোট সরবরাহ করতে পারে :)
বদনিউজ

2

আমার কিংস্টন SEDC400S37480G এর জন্য, উবুন্টু সার্ভার 14.04 এর অধীনে, আমি টিবিডাব্লু নিরীক্ষণ করতে নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করি। আমি প্রতিদিন একবার ক্রোন থেকে এটি চালান। স্ক্রিপ্ট একটি লগ ফাইল আউটপুট।

এটি কাজ করার জন্য আপনার ক্যালক প্রয়োজন। ব্যবহার করে ক্যালক ইনস্টল করুন:

apt-get install apcalc

স্ক্রিপ্ট সামগ্রী:

echo "*** $(date -R) ***" >> /scripts/tbw/log.txt
tbw=$(cat /sys/fs/ext4/sda1/lifetime_write_kbytes)
TB=1000000000
echo TB written to sda1: >> /scripts/tbw/log.txt | calc $tbw / $TB >> /scripts/tbw/log.txt

আউটপুট দেবে:

*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
    3.062138442

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