Диагностика **очень** медленной скорости записи на RAID / Fedora 14

Диагностика **очень** медленной скорости записи на RAID / Fedora 14

У нас есть Dell PowerEdge T110 под управлением Fedora 14, который выполняет функции сервера сборки для Embedded Linux и сервера Subversion.

В последнее время он стал работать очень медленно, не успевая выполнять ночное резервное копирование до начала нового дня.

[EDIT] Спасибо User9517 - я проверил журнал и там есть несколько сообщений от MRMON (Mega Raid Monitor). Любые указания по интерпретации этих сообщений, дальнейшие действия и как определить, какой диск нуждается в замене, могли бы помочь.

Dec 20 09:02:32 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2
Dec 20 09:06:44 localhost MR_MONITOR[2153]: <MRMON113> Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:2No defect spare location available,   CDB   =    0x28 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x70 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x32 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Dec 20 09:09:44 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2

[/РЕДАКТИРОВАТЬ]

Мне нужна помощь в отслеживании неисправности. Я определенно не эксперт в этом, человека, который изначально настраивал систему, больше нет.

Ночное резервное копирование — это файл tgz размером около 6 ГБ, который начинается в 8 вечера. Раньше это заканчивалось около 4 утра (включая копирование на внешний диск). Еженедельное резервное копирование — это около 45 ГБ, раньше это заканчивалось в 11 утра в субботу с начала в пятницу в 8 вечера.

Помимо резервного копирования, машина заметно медленнее реагирует, даже когда процесс резервного копирования не запущен.

Вот что мне удалось собрать на данный момент:

Имеется RAID-контроллер DELL PERC H200L с четырьмя подключенными дисками Seagate по 1 ТБ (ST31000424SS).думатьон настроен для RAID 10, но я не знаю, как получить доступ к конфигурации этого контроллера. Я думаю, что RAID 10, потому что есть 4 диска, и vgdisplay показывает, что выделено 1,81 терабайта из 4 терабайт в общей сложности на 4 дисках.

[root@fedorabox backup]# vgdisplay
  --- Volume group ---
  VG Name               vg_fedorabox2
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.81 TiB
  PE Size               32.00 MiB
  Total PE              59263
  Alloc PE / Size       28480 / 890.00 GiB
  Free  PE / Size       30783 / 961.97 GiB

Я не вижу никаких других реальных дисков в машине, поэтому предполагаю, что загрузочный раздел (/dev/sdb1) каким-то образом разделен на 4 диска.

(/dev/sda — это внешний жесткий диск для резервного копирования, но проблема не в этом. Резервная копия все еще создается на разделе /backup, когда мы приходим утром. Копирование на подключенный USB-накопитель еще не началось)

[root@fedorabox backup]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_fedorabox2-LogVol00
                      9.9G  5.2G  4.3G  55% /
tmpfs                 2.0G  932K  2.0G   1% /dev/shm
/dev/sdb1             504M   56M  423M  12% /boot
/dev/mapper/vg_fedorabox2-LogVol03
                      394G  221G  153G  60% /home
/dev/mapper/vg_fedorabox2-LogVol02
                       99G   29G   65G  32% /shared
/dev/mapper/vg_fedorabox2-LogVol01
                       30G   11G   18G  37% /usr
/dev/sda2             5.5T  2.6T  3.0T  47% /mnt/root/usbbackup2
/dev/mapper/vg_fedorabox2-LogVol04
                      345G  363M  327G   1% /backup

как я уже сказал в вопросе, скорость записиоченьмедленный:

[root@fedorabox backup]# dd if=/dev/zero of=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 40.382 s, 0.4 kB/s
[root@fedorabox backup]# dd of=/dev/null if=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 3.5087e-05 s, 467 MB/s

Я могу получить доступ к четырем дискам с помощью smartctl как /dev/sg2 через /dev/sg5. Вывод указан ниже. Я не знаю, что является нормальным чтением дляисправленные ошибкиздесь, но я отмечаю, что второй и четвертый диски (/dev/sg3, sg5) перечисленынеисправленные ошибкидля прочтения и проверки.

Есть ли какие-нибудь советы по дальнейшим действиям - неисправленные ошибки - это нормально или тревожно? Это причина замедления или есть что-то еще, на что мне следует обратить внимание?

Есть ли какие-нибудь советы по замене диска и как получить доступ к конфигурации RAID?

[root@fedorabox /]# smartctl -a /dev/sg2
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST1000NM0001     Version: PS06
Serial number: Z1N2LEDW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:20 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 33 of year 2012
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  71
Elements in grown defect list: 36
Vendor (Seagate) cache information
  Blocks sent to initiator = 2805494200
  Blocks received from initiator = 1072424796
  Blocks read from cache and sent to initiator = 19110177
  Number of read and write commands whose size <= segment size = 826634038
  Number of read and write commands whose size > segment size = 5264167
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 11183.37
  number of minutes until next internal SMART test = 43

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   3996823525        0         0  3996823525          0        130.509           0
write:         0        0         0         0          0      62619.327           0
verify: 1594450892        0         0  1594450892          0      51866.259           0

Non-medium error count:        9

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  32   11182                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg3
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3JSJV
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:44 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 21
Vendor (Seagate) cache information
  Blocks sent to initiator = 1872227385
  Blocks received from initiator = 3603107317
  Blocks read from cache and sent to initiator = 53905772
  Number of read and write commands whose size <= segment size = 1041622488
  Number of read and write commands whose size > segment size = 5288254
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.02
  number of minutes until next internal SMART test = 16

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   1454822558        3         0  1454822561   1454822585       2465.838          21
write:         0        0         0         0          0      64012.923           0
verify: 2113323340      143         0  2113323483   2113323510      49057.393          17

Non-medium error count:        4

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg4
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3H8DW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:02 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  76
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  76
Elements in grown defect list: 1
Vendor (Seagate) cache information
  Blocks sent to initiator = 1437832391
  Blocks received from initiator = 3080050213
  Blocks read from cache and sent to initiator = 2689371046
  Number of read and write commands whose size <= segment size = 3306395247
  Number of read and write commands whose size > segment size = 5018225
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.17
  number of minutes until next internal SMART test = 58

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   1514637706     1007         0  1514638713   1514638713    1576907.538           0
write:         0        0         0         0          0      61240.330           0
verify: 1697580124       32         0  1697580156   1697580157      48889.638           0

Non-medium error count:       27

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16      18                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg5
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3FCZ6
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:41 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 4096
Vendor (Seagate) cache information
  Blocks sent to initiator = 923606853
  Blocks received from initiator = 3074269061
  Blocks read from cache and sent to initiator = 3237322768
  Number of read and write commands whose size <= segment size = 3044372010
  Number of read and write commands whose size > segment size = 5024782
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77336.67
  number of minutes until next internal SMART test = 53

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   2058067359   277563         0  2058344922   2058345511    1420772.201         555
write:         0        0         0         0          0      62186.800           0
verify: 2750944424     2205         0  2750946629   2750946631      50834.359           1

Non-medium error count:      167

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]

решение1

Dell PERC по сути является переименованным LSI MegaRAID SAS.

Посмотрите на свой, lspci -kчтобы увидеть, какой драйвер он использует. Скорее всего megaraid_sas. Тот факт, что вы успешно используете MegaRAID Monitor, предполагает, что это должно быть так. Таким образом, с помощью megacliпакета можно будет управлять вашим RAID-контроллером из Linux.

Хотя где его найти сегодня для версии Fedora, которая старая, остается вопросом. Попробуйте поискать наhttps://hwraid.le-vert.netдляMegaRAID SASили, возможно,МегаRAIDдля программного обеспечения.

Программное обеспечение имеет небольшую встроенную функцию напоминания (запустить megacli -h), а также описано вРуководство пользователя программного обеспечения MegaRAID SASкоторый вы можете получить отБродком(кто купил Avago, тот купил LSI). Также в Интернете есть несколько шпаргалок.

Например, вы можете начать с получения диагностической информации:

megacli -AdpAllInfo -aALL
megacli -AdpPR -info -aALL
megacli -LdPdInfo -aALL
megacli -AdpBbuCmd -GetBbuStatus -aALL
megacli -AdpEventLog -GetEventLogInfo -aALL

Эти команды выполняют следующие действия:

  • Получайте статус и общие оповещения контроллера (включая количество неисправных устройств)
  • Получите статус операций патрульного считывания (периодическое считывание всех устройств для раннего обнаружения неисправных)
  • Получить логические диски и их компоненты физические дискис их статусом. Если есть неисправные диски, вы увидите, какие именно и в каких слотах они находятся.
  • Получить состояние батареи кэша
  • Получите журналы событий адаптера; это может помочь вам точно определить, когда и при каких обстоятельствах была обнаружена проблема.

Тот факт, что у вас есть RAID, не освобождает вас от необходимости следить за состоянием ваших дисков и массива. RAID помогает избежать простоев только при правильном контроле и обслуживании. smartmontoolsспособен контролировать диски даже за некоторыми аппаратными RAID-контроллерами; используйте его!

Пора забыть эти мантры "не трогай, если работает" и "не чини, если не сломано". Они не актуальны в быстро меняющемся мире. Подумайте об этом: старая версия ОСявляетсяСломанный уже, потому что старый. Компетентный администраторволяисправить, казалось бы, «не сломанные» системы, чтобы они не ломались.

Хуже того, древняя (10-летняя) не-LTS система вроде Fedora сильно сломана. Идея размещения чего-либо важного для бизнеса на таком дистрибутиве сломана по своей сути; если бы это был CentOS (который был LTS 10 лет назад, сейчас вы используете Oracle Linux, AlmaLinux или Rocky Linux), то это было бы не так.чтоплохо, но Fedora всегда была неподходящим выбором для производственного сервера. Так что даже если ему было всего два года, его приходилось менять.

И лучше иметь всегда установленные инструменты управления оборудованием ( megacliи ipmiutilт. д.). Никогда не знаешь, когда они тебе понадобятся, и тогда они могут уже стать для тебя недоступными, так что подстелите соломку заранее.

Связанный контент