Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
(2) воспользоваться утилитой dmidecode :
|
(3) или утилитой pciconf:
|
Попробуйте. Узнаете много интересного.
2. Программный RAID gmirror (/dev/mirror/gm0)
Программный RAID не нуждается в установке специальной утилиты. Чтобы убедиться, что RAID исправен даем команду:
|
Этот тип RAID отлично документирован. В многочисленной литературе вы найдете дополнительные команды управления.
Программный RAID использует компоненты сервера как аппаратную часть, а компоненты операционной системы как программную часть. В связи с большим количеством компонент, вовлеченных в функционирование программного RAID, его наработка на отказ заметно ниже, чем у RAID выполненного в виде в виде специализированного контроллера. У меня были случаи, когда на нагруженных серверах программный RAID рассыпался через 2-3 месяца круглосуточной работы. Деньги, которые я сэкономил на покупке железного RAID, были потрачены на первой же поездке к провайдеру, где установлены сервера и на работах по восстановлению файловой системы.
3. AMCC 3ware (/dev/twa0 или /dev/twe0)
Ставим утилиту мониторинга из портов:
|
Доступны следующие команды:
(1) Статус RAID и отдельных дисков массива узнаем так:
|
(2) Общие сведения о контроллере RAID
|
(3) Лог аварийных сообщений
|
(4) Лог диагностических сообщений.
|
(5) Развернутая информация о типах контроллеров, поддерживаемых утилитой и сведения о некоторых дополнительных командах.
|
4. HighPoint (/dev/hptrr)
В портах подходящая утилита отсутствует. Но можно скачать с сайта производителя и установить готовый пакет.
(1) Создаем временную директорию
|
(2) Скачиваем архив
|
(3) Распаковываем
|
В текущую директорию распаковываются 4 файла:
hptsvr-3.13-4.tbz ; hptraidconf-3.2-1.tbz ; HPT_CLI_Guide.pdf ; README.txt
(4) Устанавливаем серверную часть (демона)
|
(5) Устанавливаем клиентскую часть.
|
(6) Переносим на рабочую станцию файл HPT_CLI_Guide.pdf. Документ содержит подробный перечень команд, в котором на первых порах тяжеловато разобраться.
После установки, демон запускается автоматически. Далее его можно останавливать и снова запускать как всякий обычный демон командами:
|
Увы, нет даже намека как сделать, чтобы этот демон запускался автоматически при старте системы.
Командная строка для всех команд будет начинаться одинаково:
|
здесь ключи "-u RAID -p hpt" это username и password соответственно. Вы не можете их менять.
(7) А теперь подробнее поговорим о командах:
(7.1) Получить список RAID - контроллеров :
|
Первая колонка - номера контроллера. Нумерация начинается с единицы.
(7.2) Получить статус всех RAID, построенных на этих контроллерах:
|
Номер RAID совпадает с номером контроллера, однако некоторые RAID - составные. Например RAID10, состоящий из четырех дисков на первом контроллере, имеет номер 1, а входящие в него зеркала, каждый из двух дисков имеют номера 1-1 и 1-2 соответственно.
(7.3) Получить информацию о RAID по его номеру:
|
(Получаем статус 1-го RAID)
Если же вас интересует дополнительная информация, о входящих в него RAID, тогда делаем так:
|
(Получаем статус 2-го RAID, вложенного в 1-й RAID)
(7.4) Получить статус всех дисков:
|
Диски нумеруются через дробь в формате номер_контроллера/номер_диска. Например 1/3 - это 3-й диск на 1-м контроллере.
Соответственно, указав этот ID, вы можете получить еще более детальную информацию об этом диске:
|
(7.5) Контроллер ведет свой лог событий, который вам доступен по команде:
|
(7.6) Если вы заменили испорченный диск на новый, его необходимо инициировать:
|
(7.7) Добавить инициированный диск в RAID
|
(добавить в 1-й RAID 3-й диск)
Далее читайте HPT_CLI_Guide.pdf. Документ довольно подробный и корректный.
5. Dell Perc 5/i (LSI MegaRAID SAS 8408E) и Dell PERC 6/i (LSI SAS1078) (/dev/mfi0)
Для этого типа RAID, в портах имеется утилита (ура!), но только под Linux (ну как же).
Примечание:
(1)Читатель weec утверждает, что по его сведениям ожидается коммит порта sysutils/megacli, который не будет требовать linux-окружения. На сегодняшний день такого порта еще нет.
(2) Читатель av советует воспользоваться фирменной утилитой от LSI:
Mega CLI FreeBSD (MegaRAID Release 3.6) ver 4.0.11. Качается с сайта lsi.com.)
Ничего не могу сказать по поводу замечаний наших коллег. Поэтому, продолжаю рассказывать о том что я опробовал и что точно работает.
Для начала, разбираемся - установлена ли у нас поддержка Linux.
Если модуль linux.ko загружен, поддержка уже присутствует. Проверяем.
(1) Даем команду:
|
Правильный ответ - что-то вроде:
5 1 0xc6c88000 16000 linux.ko |
(2) Если модуль linux.ko не подгружен, попытаемся его подгрузить:
|
а затем опять идем в п.1 и проверяем
(Вдумчивый читатель может возразить, что достаточно запросить информацию о наличии установленного пакета, который называется linux_base-fc:
|
и будет почти прав. Если бы не одно НО: Эта команда ничего не покажет, если поддержка Linux была включена в процессе инсталляции системы.)
Выполнение п.3 и 4 длится довольно долго. Убедитесь, что у вас достаточно времени, чтобы дождаться завершения.
(3) Если поддержка Linux уже установлена, переходите к п.4. Иначе ставим поддержку Linux:
|
(4) Затем собственно утилиту мониторинга:
|
(5) Готовимся к первому запуску.
(5.1) Загружаем модуль совместимости с Linux:
|
(5.2) Выставляем системную переменную:
|
(по умолчанию 2.4.2 )
(5.3) Монтируем соответствующие элементы файловой системы:
|
(5.4) Запускаем утилиту, чтобы убедиться, что все сделели правильно:
|
В этот момент вы должны увидеть подробную осмысленную информацию об имеющихся в наличии контроллерах данного типа.
Тогда продолжаем.
(6) Вносим изменения в конфигурационные файлы.
(6.1) Файл /etc/rc.conf. Добавить
|
(6.2) Файл /etc/sysctl.conf. Добавить
|
(6.3) Файл /etc/fstab. Добавить
|
(7) А теперь перечень самых необходимых команд.
(7.1) Информация обо всех RAID контроллерах данного типа, присутствующих в системе:
|
(7.2) Статус всех логических дисков, присутствующих в системе. Все они должны быть в состоянии "optimal":
|
(7.3) Статус всех физических жестких дисков для всех адаптеров. Все они должны быть в состоянии "Online":
|
(7.4) Получить внутренний лог всех адаптеров:
|
(8) список важнейших команд (только на английском) вы можете найти здесь.
http://tools.rapidsoft.de/perc/perc-cheat-sheet.html
6. Общий скрипт для контроля за состоянием всех типов RAID.
Создайте скрипт типа того, что приведен ниже. Я свой назвал raid-status.sh и раскопировал по всем серверам. Теперь на любом из моих серверов, команда
|
сообщает мне о состоянии моих RAID.
|
Примечание:
В процессе обсуждения на форуме всплыли описания утилит для еще двух типов RAID. Вы можете прочитать о них, если перейдете по ссылке, приведенной в нижней части статьи, после слов "Ссылка на обсуждение".
(1) /dev/amr - утилита для RAID типа Dell Perc и LSI MegaRAID. Предыдущие модели. Полный список можно получить в справке: # man 4 amr
(2) /dev/??? - утилита для RAID комании Areca(Tekram)
размещено: 2009-04-12,
последнее обновление: 2009-04-19,
автор: mvalery
Garick, 2009-04-13 в 16:37:15
404.status-zfs
405.status-ata-raid
406.status-gmirror
407.status-graid3
408.status-gstripe
409.status-gconcat
400.status-disks
/etc/periodic/daily
weec, 2009-04-13 в 23:40:58
ожидается коммитт порта sysutils/megacli
он не будет требовать linux-окружения
genuine, 2009-04-14 в 11:11:23
T0варищщи! Это поля для ввода комментариев к статье, а не для вопросов. Саюда пишите найденные баги, или какие-то фичи :)
Для вопросов есть форум!
LiSergey, 2009-04-14 в 20:20:28
про РЭЙД на HP Smart Array P400 (на отдельных платах или в серверах HP ProLiant)
ставим /usr/ports/sysutils/hpacucli
ему требуется поддержка в ядре
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
сама утилита вроде может все, но работать с ней крайне неудобно, пришлось набросать скриптец
# cat /usr/local/etc/periodic/daily/check-HP_SmartArray_P400_status.sh
#!/bin/sh
/usr/local/sbin/hpacucli ctrl slot=0 array A show > /root/hp-status 2>/dev/null
cat /root/hp-status | tail -n 8
выдает вот в таком виде
Smart Array P400 in Slot 0
Array: A
Interface Type: SAS
Unused Space: 0 MB
Status: OK
vp, 2009-04-21 в 16:54:20
Adaptec 5405
arcconf getconfig 1
(arcconf устанавливается с диска или сайта адаптека, и требует compat6x(pkg_add -r compat6x))
Михайло, 2009-05-04 в 15:56:14
"Полуаппаратный" рейд, создаваемый BIOS'ом материнки (довольно распространённый вариант сейчас) удобно мониторить atacontrol'ом:
# atacontrol status ar0
ar0: ATA RAID1 status: READY
subdisks:
0 ad8 ONLINE
1 ad10 ONLINE
playnet, 2009-05-13 в 14:10:12
Статья хорошая, респект!
Но хорошо бы еще описать zfs-ный рейд (мега вещь, уже стабилен) и ничего не сказано про Areca, adaptec.
mvalery, 2009-05-13 в 15:22:58
> ничего не сказано про Areca, adaptec
1. Читатель GreenX дал замечательное описание Areca на форуме.
У меня рука не поднялясь копипастить:
http://forum.lissyara.su/viewtopic.php?f=8&t=17197
2. Adaptec не любит FreeBSD. Для каждого конкретного RAID адаптера необходимо проверять - есть ли поддержка FreeBSD.
Год назад, не подумав, я потратил 180$ на модель Adaptec 1420SA. Так и валяется. Больше не хочу инвестировать эту компанию.
mvalery, 2009-05-13 в 15:29:22
P.S. Читатель shlash дал на форуме описание утилиты для Adaptec. Жаль я раньше не заметил.
adre, 2009-07-27 в 7:26:26
как удобно просто делать gvinum list
azimut, 2009-11-24 в 9:49:01
А что, graid3 status и graid5 status уже не котируются?
drTr0jan, 2011-01-29 в 18:05:10
Для HP Smart Array E200i:
alex-jacobson:/etc# cat /etc/daily.local
#!/bin/sh
for raid in `find /dev/ -name 'pass[0-9]*' -type c | cut -d / -f 3`
do
status=`/sbin/camcontrol inquiry $raid -D`
rc=`echo $status | grep -v OK | wc -l`
[ $rc -gt 0 ] && echo -n '> '
echo $status
done
alex-jacobson:/etc# camcontrol inquiry pass0
pass0: <COMPAQ RAID 1 VOLUME OK> Fixed Direct Access SCSI-5 device
pass0: Serial Number PR81MP8952
pass0: 135.168MB/s transfers, Command Queueing Enabled
arez, 2011-09-30 в 7:44:16
rm MegaSAS.log
можно добавить ключ -NoLog
kot, 2012-11-14 в 13:48:29
Хочу дополнить. Бывают еще mpt-девайсы на пролиантах (у меня DL160G5). Для них существует прекрасная утилита mptutil.
# grep mpt0 /var/run/dmesg.boot
mpt0: <LSILogic SAS/SATA Adapter> port 0xc000-0xc0ff mem 0xfdefc000-0xfdefffff,0xfdee0000-0xfdeeffff irq 48 at device 0.0 on pci10
mpt0: [ITHREAD]
mpt0: MPI Version=1.5.16.0
mpt0: Capabilities: ( RAID-0 RAID-1E RAID-1 )
mpt0: 1 Active Volume (2 Max)
mpt0: 2 Hidden Drive Members (10 Max)
mpt0: mpt_read_cfg_page: Config Info Status 22
mpt0:vol0(mpt0:0:0): mpt_refresh_raid_vol: Failed to read RAID Vol Page(0)
mpt0:vol0(mpt0:0:0): Settings ( )
mpt0:vol0(mpt0:0:0): 0 Members:
mpt0:vol0(mpt0:0:0): RAID-0 - Optimal
(mpt0:0:2): Physical (mpt0:0:2:0), Pass-thru (mpt0:1:0:0)
(mpt0:0:2): Online
(mpt0:0:9): Physical (mpt0:0:9:0), Pass-thru (mpt0:1:1:0)
(mpt0:0:9): Online
da0 at mpt0 bus 0 target 1 lun 0
# mptutil show adapter
mpt0 Adapter:
Board Name: SAS3042E
Board Assembly: L3-25006-02D
Chip Name: C1064E
Chip Revision: UNUSED
RAID Levels: RAID0, RAID1, RAID1E
RAID0 Stripes: 64K
RAID1E Stripes: 64K
RAID0 Drives/Vol: 2-8
RAID1 Drives/Vol: 2
RAID1E Drives/Vol: 3-8
http://www.freebsd.org/cgi/man.cgi?query=mptutil&sektion=8&manpath=FreeBSD+7.3-stable
CaptainSASH, 2013-09-27 в 20:30:19
Для PERC 5/i Integrated и PERC 6/i Integrated
использую mfiutil
# mfiutil version
mfiutil version 1.0.13
# mfiutil show adapter
mfi0 Adapter:
Product Name: PERC 5/i Integrated
Serial Number: 12345
Firmware: 5.1.1-0040
RAID Levels: JBOD, RAID0, RAID1, RAID5, RAID10, RAID50
Battery Backup: present
NVRAM: 32K
Onboard Memory: 256M
Minimum Stripe: 8k
Maximum Stripe: 128k
# mfiutil show config
mfi0 Configuration: 2 arrays, 2 volumes, 0 spares
array 0 of 2 drives:
drive 0 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2G34R> SAS
drive 1 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2C5NM> SAS
array 1 of 2 drives:
drive 2 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2C93Q> SAS
drive 3 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2DSPM> SAS
volume mfid0 (136G) RAID-1 64k OPTIMAL <Virtual Disk 0> spans:
array 0
volume mfid1 (558G) RAID-1 64k OPTIMAL <Raid-1-600> spans:
array 1
# mfiutil show drives
mfi0 Physical Drives:
0 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2G34R> SAS E1:S0
1 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2C5NM> SAS E1:S1
2 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2C93Q> SAS E1:S2
3 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2DSPM> SAS E1:S3
4 ( 558G) UNCONFIGURED GOOD <SEAGATE ST3600057SS 0008 serial=6SL6QCHY> SAS E1:S4
5 ( 558G) UNCONFIGURED GOOD <SEAGATE ST3600057SS 0008 serial=6SL6QQBM> SAS E1:S5
# less /usr/local/etc/periodic/daily/402.status-mfi-raid
#!/bin/sh
#
# From:
# $FreeBSD: src/etc/periodic/daily/406.status-3ware,v 1.1.2.1 2006/03/08 22:56:28 brueffer Exp $
#
# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
case "$daily_status_mfi_enable" in
[Yy][Ee][Ss])
echo
echo 'Checking status of mfi(8) devices:'
echo
/usr/sbin/mfiutil show volumes
echo
/usr/sbin/mfiutil show drives
rc=0
;;
*) rc=0;;
esac
exit $rc
# /usr/local/etc/periodic/daily/402.status-mfi-raid
Checking status of mfi(8) devices:
mfi0 Volumes:
Id Size Level Stripe State Cache Name
mfid0 ( 136G) RAID-1 64k OPTIMAL Enabled <Virtual Disk 0>
mfid1 ( 558G) RAID-1 64k OPTIMAL Enabled <Raid-1-600>
mfi0 Physical Drives:
0 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2G34R> SAS E1:S0
1 ( 136G) ONLINE <SEAGATE ST3146855SS S515 serial=3LN2C5NM> SAS E1:S1
2 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2C93Q> SAS E1:S2
3 ( 558G) ONLINE <SEAGATE ST3600057SS ES64 serial=6SL2DSPM> SAS E1:S3
4 ( 558G) UNCONFIGURED GOOD <SEAGATE ST3600057SS 0008 serial=6SL6QCHY> SAS E1:S4
5 ( 558G) UNCONFIGURED GOOD <SEAGATE ST3600057SS 0008 serial=6SL6QQBM> SAS E1:S5
aleks, 2019-04-27 в 13:03:52
UNCONFIGURED GOOD (FOREIGN) - ? как с етим боротся через mfiutil
Дуся, 2022-08-10 в 16:11:09
> Систему, которая возможно находится очень и очень далеко от вас.
В подвале что ли? А как же "удалённые руки" и другая техподдержка?
Alex Keda, 2022-08-10 в 16:25:57
бывает, что за руки просят много денег
плюс ожидание свободных рук
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [18 шт.]