ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архив за Октябрь, 2009

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

Приехали на инсталл очередные серверы:

  • IBM  x3250 M2 [4194K1G]
  • Intel на материнке S5520UR

Оба c RAID-контроллерами LSI SAS 1064E :

mpt0@pci0:1:0:0:        card=0x03061014 chip=0x00561000 rev=0x02 hdr=0x00
vendor     = 'LSI Logic (Was: Symbios Logic, NCR)'
device     = 'SAS 3000 series, 4-port with 1064E -StorPort'
class      = mass storage
subclass   = SCSI

На IBM используются обычные SATA диски, а на Intel — SCSI, организованные в RAID-1 (зеркало), который FreeBSD видит как устройство da0.

И все бы ничего, но syslog на одном из серверов (после физического удаления и последуюшего возвращения на место  одного из хардов) выдал в messages вот такую инфу:

Oct 21 22:16:28 bill kernel: mpt0:vol0(mpt0:0:0): RAID-1 - Degraded
Oct 21 22:16:28 bill kernel: mpt0:vol0(mpt0:0:0): Status ( Enabled Re-Syncing )
Oct 21 22:16:28 bill kernel: mpt0:vol0(mpt0:0:0): Low Priority Re-Sync
Oct 21 22:16:28 bill kernel: mpt0:vol0(mpt0:0:0): 170387769 of 285155328 blocks remaining
Oct 21 22:16:59 bill kernel: mpt0: mpt_cam_event: 0x14
Oct 21 22:17:43 bill kernel: mpt0: mpt_cam_event: 0x14
Oct 21 22:19:43 bill last message repeated 3 times

Резонно возник вопрос: «А как посмотреть текущее состояние RAID?».

А вот тут-то меня поджидал бааальшой облом, т.к. «решения в лоб» ничего не знают про его состояние:

[intel:~] camcontrol periphlist da0

pass0:  generation: 4 index: 1 status: MORE
da0:  generation: 4 index: 2 status: LAST
[intel:~] camcontrol inquiry da0
pass0: <Intel Logical Volume 0001> Fixed Direct Access SCSI-2 device
300.000MB/s transfers , Command Queueing Enabled

и утилиты из портов (make search key=' LSI ' | more) ничего не знают про 1064E.

В гугле же нашлось два решения:

1. Анализировать состояние переменной sysctl dev.mpt.0.nonoptimal_volumes:

если значение не равно нулю, то есть проблемы с состоянием RAID.

2. Собрать из сорцов mptutil (сохраненная в архиве копия сорцов). Сборка, как ни странно, прошла «на ура»: просто даем «make«. После сборки mptutil запустилась — уже хорошо:

[intel:~] mptutil

usage: mptutil [-u unit] <command> ...

Commands include:
show adapter              - display controller information
show config               - display RAID configuration
show drives               - list physical drives
show events               - display event log
show volumes              - list logical volumes
fail <drive>              - fail a physical drive
online <drive>            - bring an offline physical drive online
offline <drive>           - mark a physical drive offline
name <volume> <name>
volume status <volume>    - display volume status
clear                     - clear volume configuration
create <type> [-vq] [-s stripe] <drive>[,<drive>[,...]]
delete <volume>
add <drive> [volume]      - add a hot spare
remove <drive>            - remove a hot spare

Пробуем получить состояние массива:
[intel:~] mptutil show volumes

mpt0 Volumes:
Id     Size    Level   Stripe  State  Write-Cache  Name
da0 (  136G) RAID-1          OPTIMAL   Disabled

То, что нужно!

Дальнейшее использование информации о состоянии RAID-массива ограничено только вашей фантазией.

З.Ы. Сборка и работоспособность mptutil тестировалась на FreeBSD 7.0 и 7.2 — везде полет нормальный.

З.Ы.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Панфилов Алексей (lehis (at) subnets.ru)

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту