অন্তর্নিহিত ডিভাইসের চেয়ে ডিএম মাল্টিপথ ডিভাইসের জন্য কেন অপেক্ষা করা বেশি সময়?


20

আমাদের হিটাচি এইচএনএএস 3080 স্টোরেজের সাথে সেন্টোস 6.৪ ভিত্তিক সার্ভার সংযুক্ত রয়েছে এবং কেবল-পঠন মোডে ফাইল সিস্টেমের কার্নেলটির পুনরুদ্ধার পর্যবেক্ষণ হয়েছে:

মে 16 07:31:03 জিএনএস 3-এসআরভি-সিএমপি -001 কার্নেল: [1259725.675814] EXT3-fs (dm-1): ত্রুটি: ফাইল-সিস্টেম কেবল পঠনযোগ্য পুনরায় গণনা করা হচ্ছে

বেশ কয়েকটি আই / ও ত্রুটি এবং ডিভাইসটির সমস্ত পাথ নীচে নেমে যাওয়ার পরে এটি ঘটেছে:

মে 16 07:31:03 জিএনএস 3-এসআরভি-সিএমপি -001 মাল্টিপথ: এমপাথা: অবশিষ্ট সক্রিয় পাথ: 0

আমি সর লগগুলিতে দেখছি এবং কয়েকবার খুব বড় (2 সেকেন্ড) অপেক্ষা করার সময় দেখতে পাচ্ছি:

07:40:00       dev8-0     17.91    112.04     98.03     11.73      0.00      0.20      0.07      0.12
07:40:00      dev8-16      0.23      1.85      0.00      8.00      0.00      3.71      3.71      0.09
07:40:00      dev8-32     91.50   8338.76   5292.93    148.98      8.38     91.60      9.76     89.35
07:40:00     dev252-0     91.27   8336.91   5292.93    149.34     17.79    194.88      9.79     89.38
07:40:00     dev252-1    674.80   8168.16   5292.93     19.95   1473.53   2183.60      1.32     88.98

07: 30: 00-07: 40: 00 এর মধ্যে সময়কাল তখন ঘটে যখন ফাইল সিস্টেম কেবল পঠনযোগ্যভাবে মাউন্ট হয়। তবে, সাধারণ পরিস্থিতিতে এমনকি একটি পুনরাবৃত্তি পর্যবেক্ষণ হ'ল অন্তর্নিহিত ডিভাইসের জন্য অপেক্ষার সময়টি মাল্টিপাথ ডিভাইসের চেয়ে অনেক কম। এই ক্ষেত্রে:

00:00:00          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
00:10:00       dev8-0     19.27    129.41     78.61     10.80      0.01      0.27      0.16      0.32
00:10:00      dev8-16      0.23      1.80      0.00      8.00      0.00      0.86      0.84      0.02
00:10:00      dev8-32     94.88  10285.16   3363.48    143.86      3.39     35.76      6.83     64.82
00:10:00     dev252-0     94.65  10283.34   3363.48    144.18      3.64     38.47      6.86     64.89
00:10:00     dev252-1    435.06  10087.12   3363.48     30.92    118.42    272.21      1.47     64.12

dev8-0, স্থানীয় ডিস্ক হতে হবে যখন dev8-16 ( /dev/sdb) এবং dev8-32 ( /dev/sdc) dev252-0 জন্য অন্তর্নিহিত বেশী (হয় /dev/mapper/mpatha)। dev252-1 ( /dev/mapper/mpathap1) হ'ল একক পার্টিশন যা পুরো মাল্টিপাথ ডিভাইস জুড়ে রয়েছে। এখানে থেকে আউটপুট multipath -ll:

mpatha (2521501cbffffffffe96773b50ec30020) dm-0 BlueArc,NAS Platform
size=10T features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 9:0:0:0 sdc 8:32 active ready running
`-+- policy='round-robin 0' prio=1 status=active
  `- 8:0:0:0 sdb 8:16 active ready running

কেন অপেক্ষার সময়টি তার /dev/mapper/mpathap1চেয়ে অনেক বেশি /dev/mapper/mpathaবা এমনকি /dev/sdbবা তার চেয়ে বেশি হওয়া উচিত /dev/sdc?


1
মনে হচ্ছে লক্ষণীয় যে দৃশ্যত অনুরোধ মার্জ অনেকটা থেকে পথে ঘটছে /dev/mapper/mpathap1করতে /dev/mapper/mpatha। এটি সেই স্তরটিও যেখানে বেশিরভাগ awaitসময় যুক্ত হয় বলে মনে হয়। কোন লিফট ব্যবহার করা হয় /sys/block/mpathap1/queue/schedulerএবং /sys/block/mpatha/queue/schedulerসম্ভবত এটিতে deadlineবা noopতুলনার জন্য স্যুইচ করা যায় তা আপনি পরীক্ষা করতে পারেন ?
দ্য ওয়াবিট

ইনপুট / আউটপুট নির্ধারণকারী জন্য mpatha( /sys/block/dm-0/queue/scheduler) হল noopএবং যে জন্য mpathap1( /sys/block/dm-1/queue/scheduler) হল none
পিডিপি

4
আমি দৃ strongly়ভাবে সন্দেহ করি যে শিডিউলারের সারি / মার্জ করা অ্যালগরিদম বিলম্বের জন্য দায়ী। আমি নূপ বা সময়সীমার জন্য অন্তর্নিহিত ডিভাইসের সিএফকিউ অদলবদল করব কেবল এটির কোনও পরিবর্তন হয় কিনা তা দেখার জন্য। যদিও এটি আপনার সমস্ত পাথ ডাউন ইস্যুর সাথে সম্পর্কিত নয়।
দ্য ওয়াববিট

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

1
এক মধ্যে Systemtap আই স্ক্রিপ্ট সম্ভবত কি ঘটছে অতিরিক্ত অন্তর্দৃষ্টি সঙ্গে আপনি প্রদান করতে পারে। io_submit.stp, ioblktime.stp, এবং বায়োলেটেন্সি- nd.stp শুরু করার জন্য ভাল জায়গা হতে পারে।
ক্যাসানড্রি

উত্তর:


2

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

এখন 'অপেক্ষা' হ'ল কাতারে সময় ব্যয় করা প্লাস সেই অনুরোধগুলি পরিবেশন করতে ব্যয় করা সময়। যদি একটি ছোট্ট অনুরোধ হয় তবে আসুন একে 'x' বলুন, কয়েকটি অন্যান্য অনুরোধের সাথে একত্রিত করা হবে (y এবং z, এক্স এর পরে জারি করা হয়েছে), তবে এক্স হবে

  • y এর সাথে একীভূত হওয়ার জন্য কাতারে অপেক্ষা করুন
  • আপনি কিউতে z এর সাথে একত্রীভূত হবেন wait
  • (x, y, z) সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন

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

এবার আসুন / dev / sdb (dev8-16) এ একবার দেখে নেওয়া যাক। আপনি কি জানেন যে আপনি সেই পথটি ব্যবহার করছেন না? আপনার মাল্টিপ্যাথ কনফিগারেশনে আপনার দুটি অগ্রাধিকার গোষ্ঠী রয়েছে, একটি

অবস্থা = সক্রিয়

এবং চালু আছে

অবস্থা = সক্রিয়

আপনার সম্ভবত আছে

পাথ_গ্রুপিং_পলিসি ফেলওভার

আপনার কনফিগারেশনে (যা পূর্বনির্ধারিত)।

যদি উভয় পথ বন্ধ থাকে আপনি যদি আইও ত্রুটিগুলি প্রতিরোধ করতে চান তবে আপনি চেষ্টা করতে পারেন:

        "1 ক্যু_আইফ_না_পথ" বৈশিষ্ট্যযুক্ত
আপনার মাল্টিপ্যাথ.কম

এখন আসল প্রশ্ন থেকে যায়, উভয় পথই কেন নীচে নেমে যায়?

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