हमारे पास हिताची HNAS 3080 स्टोरेज से जुड़ा एक CentOS 6.4 आधारित सर्वर है और कर्नेल को फाइल-सिस्टम को रीड-ओनली मोड में देखा है:
16 मई 07:31:03 GNS3-SRV-CMP-001 कर्नेल: [1259725.675814] EXT3-fs (dm-1): त्रुटि: रिमाउंटिंग फाइलसिस्टम रीड-ओनली
यह कई I / O त्रुटियों के बाद हुआ और डिवाइस के सभी पथ कथित तौर पर नीचे जा रहे हैं:
16 मई 07:31:03 GNS3-SRV-CMP-001 बहुपथ: mpatha: शेष सक्रिय पथ: 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
?
mpatha
( /sys/block/dm-0/queue/scheduler
) है noop
और उस के लिए mpathap1
( /sys/block/dm-1/queue/scheduler
) है none
।
dm
डिवाइस पर एक उच्च प्रतीक्षा (और लंबी कतार) अंतर्निहित भौतिक डिवाइस की तुलना में होती है जबकि पढ़े गए अनुरोध और बिना किसी विलय के लिखते हैं मुख्य रूप से अप्रभावित हैं। मुझे अभी तक नहीं पता है कि यह केवल एक प्रस्तुति त्रुटि है जिस तरह से प्रतीक्षा की गणना की जाती है या कतारबद्ध / विलय एल्गोरिदम की प्रकृति के कारण वास्तव में लंबे समय तक प्रतिक्रिया समय है।
/dev/mapper/mpathap1
रहे हैं/dev/mapper/mpatha
। यह वह परत भी है जहां ज्यादातरawait
समय जोड़ा जाता है। आप देख सकते हैं कि लिफ्ट में किया जाता है/sys/block/mpathap1/queue/scheduler
और/sys/block/mpatha/queue/scheduler
, संभवतः के लिए यह स्विचिंगdeadline
याnoop
तुलना के लिए?