Chúng tôi có một máy chủ dựa trên CentOS 6.4 được gắn vào bộ lưu trữ Hitachi HNAS 3080 và quan sát hạt nhân tái hiện hệ thống tập tin ở chế độ chỉ đọc:
16 tháng 5 07:31:03 Hạt nhân GNS3-SRV-CMP-001: [1259725.675814] EXT3-fs (dm-1): lỗi: kết nối lại hệ thống tập tin chỉ đọc
Điều này xảy ra sau một số lỗi I / O và tất cả các đường dẫn đến thiết bị được báo cáo là không hoạt động:
16 tháng 5 07:31:03 Đa luồng GNS3-SRV-CMP-001: mpatha: các đường dẫn hoạt động còn lại: 0
Tôi đã xem xét nhật ký sar và có thể thấy vài lần rất lớn (2 giây) đang chờ:
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
Thời lượng trong khoảng thời gian từ 07: 30: 00-07: 40: 00 xảy ra khi hệ thống tập tin được gắn ở chế độ chỉ đọc. Tuy nhiên, ngay cả trong điều kiện bình thường, một quan sát lặp đi lặp lại là thời gian chờ đợi cho các thiết bị cơ bản thấp hơn nhiều so với thiết bị đa đường. Ví dụ:
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 là đĩa cục bộ, trong khi dev8-16 ( /dev/sdb
) và dev8-32 ( /dev/sdc
) là những đĩa cơ bản cho dev252-0 ( /dev/mapper/mpatha
). dev252-1 ( /dev/mapper/mpathap1
) là một phân vùng duy nhất bao trùm toàn bộ thiết bị đa đường. Đây là đầu ra từ 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
Tại sao thời gian chờ đợi /dev/mapper/mpathap1
phải cao hơn rất nhiều so với thời gian /dev/mapper/mpatha
hoặc thậm chí /dev/sdb
hoặc /dev/sdc
?
dm
thiết bị so với thiết bị vật lý cơ bản trong khi đọc yêu cầu và viết mà không có bất kỳ sự hợp nhất nào được thực hiện chủ yếu không bị ảnh hưởng. Tôi vẫn chưa biết liệu đây có phải chỉ là lỗi trình bày do cách chờ đợi được tính toán hay thời gian phản hồi thực sự kéo dài do bản chất của thuật toán xếp hàng / hợp nhất.
/dev/mapper/mpathap1
đến/dev/mapper/mpatha
. Đây cũng là lớp mà hầu hếtawait
thời gian dường như được thêm vào. Bạn có thể kiểm tra thang máy nào được sử dụng trong/sys/block/mpathap1/queue/scheduler
và/sys/block/mpatha/queue/scheduler
, có thể chuyển đổi nó sangdeadline
hoặcnoop
để so sánh không?