|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Шелезяки
—> tw_cli
Исправление ошибок RAID на контроллерах 3ware
Автор: lissyara.
На одном из серверов установленных в датацентре произошла странная ситуация - пропал диск =). На всякий случай машину перезагрузил - не помогло. Пришлось написать тикет, чтоб погасили, выдернули второй справа хот-сваповый диск, воткнули на место и включили. Диск появился, но, состояние массива было "DEGRADED". Контроллер был от правильного производителя - 3ware (недавно их купил убогий LSI, очень хочу надеяться что они не станут производить такие же кривые контроллеры...). После часа ковыряний с tw_cli, пришлось просить IP-КВМ и запускать пересборку из BIOS контроллера - утилиту на боевой системе я ниасилил (многие вещщи делать было стрёмно - дока скудная, а предложения из буржуйского сектора инета, типа разрушить массив для пересборки - доверия не внушали). Просто так ребилдинг запускаться не хотел, ругаясь на неверную конфигурацию диска который я пытался воткнуть на место.
В общем, через пару недель в руки попал такой же контроллер и два одинаковых SATA диска. Решил разобраться, как же это сделать наживую.
Эмулируем проблему: выдёргиваю из одного диска шнурок, прям на ходу. Гашу тазик, втыкаю шнурок обратно, включаю. Получаю то что и в датацентре:
bsd-test-2$ dmesg | grep Degraded
twed0: <Unit 0, TwinStor, Degraded> on twe0
bsd-test-2$
| Смотрим родной утилитой:
bsd-test-2$ tw_cli /c0 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 DEGRADED - - - 37.2712 W -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 37.27 GB 78165360 N107FJ3G
p1 DEGRADED u0 37.27 GB 78165360 N10ANBCG
bsd-test-2$
| Оба диска на месте, но - состояние массива и второго диска (который дёргался) - разрушен. В ДЦ я пытался сразу же воткнуть диск на место (кстати, в БИОС контроллера это именно так и выглядит, видимо, он прячет цепочку операций с целью упрощения интерфейса)
bsd-test-2$ tw_cli maint rebuild c0 u0 p1
Sending rebuild start request to /c0/u0 on 1 disk(s) [1] ... Failed.
(0x0B:0x0035): Replacement drive configuration is invalid for rebuild operation
bsd-test-2$
| Облом. Ковыряния в интерентах и попытки удалить массив (ссылки на блог советовавшего идиота не даю, чтоб желающих повторять не нашлось) ни к чему не привели:
bsd-test-2$ tw_cli maint deleteunit_ c0 u0
Deleting unit c0/u0 ...Failed.
(0x0B:0x0045): Failed to remove device node; Are all filesystems unmounted?
bsd-test-2$
| (Команда дана с намереной ошибкой, поскольку на Linux оно прокатывает в сингл-моде...)
После получаса тыканий/раскуривания man'a получилась последовательность команд, позволяющая пересобрать массив без физического доступа.
Для начала удаляем деградировавший диск:
bsd-test-2$ tw_cli maint remove c0 p1
Removing port /c0/p1 ... Done.
bsd-test-2$
| Смотрим, что получилось:
bsd-test-2$ tw_cli /c0 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 DEGRADED - - - 37.2712 W -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 37.27 GB 78165360 N107FJ3G
p1 NOT-PRESENT - - - -
bsd-test-2$
| Диска нет. Запускаем сканирование каналов контроллера, с целью найти его снова:
bsd-test-2$ tw_cli /c0 rescan
Rescanning controller /c0 for units and drives ...Done.
Found the following unit(s): [none].
Found the following drive(s): [/c0/p1].
bsd-test-2$
| Чё-то нашёл. Смотрим что именно:
bsd-test-2$ tw_cli /c0 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 DEGRADED - - - 37.2712 W -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 37.27 GB 78165360 N107FJ3G
p1 OK - 37.27 GB 78165360 N10ANBCG
bsd-test-2$
| Оба диска на месте, оба в статусе "ОК" - что и требовалось для пересборки. Запускаем:
bsd-test-2$ tw_cli maint rebuild c0 u0 p1
Sending rebuild start request to /c0/u0 on 1 disk(s) [1] ... Done.
bsd-test-2$
| Процесс пошёл. В /var/log/messages появляется соотвествующая запись:
twe0: AEN: <twed0: rebuild started>
| Утилита от производителя показывает более подробно:
bsd-test-2$ tw_cli /c0 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 REBUILDING 1% - - 37.2712 W -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 37.27 GB 78165360 N107FJ3G
p1 DEGRADED u0 37.27 GB 78165360 N10ANBCG
bsd-test-2$
| По окончании пеерборки в логи будет записано и это событие:
twe0: AEN: <twed0: rebuild done>
| Ну а с массивом станет всё отлично:
bsd-test-2$ tw_cli /c0 show all
/c0 Driver Version = 1.50.01.002
/c0 Model = 8006-2LP
/c0 Available Memory = 512KB
/c0 Firmware Version = FE8S 1.05.00.068
/c0 Bios Version = BE7X 1.08.00.048
/c0 Boot Loader Version = ME7X 1.01.00.040
/c0 Serial Number = L18501A5151327
/c0 PCB Version = Rev5
/c0 PCHIP Version = 1.30-66
/c0 ACHIP Version = 3.20
/c0 Total Optimal Units = 1
/c0 Not Optimal Units = 0
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 OK - - - 37.2712 W -
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 37.27 GB 78165360 N107FJ3G
p1 OK u0 37.27 GB 78165360 N10ANBCG
bsd-test-2$
| Надеюсь кому-нибудь пригодиться. Ибо я надёргался прилично пока удалённо на боевом ковырялся и пытался всё это сделать.
P.S. Для включения отчёта о состоянии рейда в ежденевный отчёт сервера, необходимо добавить такую строку в /etc/periodic.conf:
srv5$ grep 3ware /etc/periodic.conf
# 3ware based RAID controllers
daily_status_3ware_raid_enable="YES"
srv5$
| P.S.2 Если во время ребилда машину перезагрузить, пересборка начинается с нуля, но не сразу, а минут через 10. Это, кстати, плюс - если будет fsck работать - не будет ему мешать.
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=25725.
размещено: 2010-04-22,
последнее обновление: 2014-01-19,
автор: lissyara
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
|
Статистика сайта
|
Сейчас на сайте находится: 34 чел.
|
За последние 30 мин было: 151 человек
|
За сегодня было 2664 показов, 656 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [19 шт.]