Kami memiliki server berbasis CentOS 6.4 yang terhubung dengan penyimpanan Hitachi HNAS 3080 dan mengamati kernel yang melakukan remount sistem file dalam mode read-only:
16 Mei 07:31:03 Kernel GNS3-SRV-CMP-001: [1259725.675814] EXT3-fs (dm-1): error: remounting filesystem read-only
Ini terjadi setelah beberapa kesalahan I / O dan semua jalur ke perangkat dilaporkan turun:
16 Mei 07:31:03 GNS3-SRV-CMP-001 multipathd: mpatha: jalur aktif yang tersisa: 0
Saya telah melihat log sar dan dapat melihat beberapa sangat besar (2 detik) menunggu waktu:
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
Durasi antara 07: 30: 00-07: 40: 00 tidak terjadi pada saat filesystem dimount read-only. Namun, bahkan dalam kondisi normal, satu pengamatan berulang adalah bahwa waktu tunggu untuk perangkat yang mendasarinya jauh lebih rendah daripada perangkat multipath. Contohnya:
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 adalah disk lokal, sementara dev8-16 ( /dev/sdb
) dan dev8-32 ( /dev/sdc
) adalah yang mendasarinya untuk dev252-0 ( /dev/mapper/mpatha
). dev252-1 ( /dev/mapper/mpathap1
) adalah partisi tunggal yang mencakup seluruh perangkat multipath. Ini adalah output dari 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
Mengapa waktu menunggu /dev/mapper/mpathap1
harus jauh lebih tinggi daripada /dev/mapper/mpatha
atau bahkan /dev/sdb
atau /dev/sdc
?
mpatha
( /sys/block/dm-0/queue/scheduler
) adalah noop
dan bahwa untuk mpathap1
( /sys/block/dm-1/queue/scheduler
) adalah none
.
dm
perangkat daripada pada perangkat fisik yang mendasari saat membaca permintaan dan menulis tanpa penggabungan yang dilakukan pada umumnya tidak terpengaruh. Saya belum tahu apakah ini hanyalah kesalahan presentasi karena cara menunggu dihitung atau sebenarnya waktu respons yang lama karena sifat dari algoritma antrian / penggabungan.
/dev/mapper/mpathap1
ke/dev/mapper/mpatha
. Ini juga merupakan lapisan di mana sebagian besarawait
waktu tampaknya ditambahkan. Bisakah Anda memeriksa elevator mana yang digunakan/sys/block/mpathap1/queue/scheduler
dan/sys/block/mpatha/queue/scheduler
, mungkin mengubahnya kedeadline
ataunoop
untuk perbandingan?