OpenSolaris, OpenIndiana, Nexenta Forum

OpenSolaris, OpenIndiana, Nexenta Troubleshooting => Hardware => Тема начата: Tico Solaris от Апрель 30, 2009, 03:57:42 am

Название: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Tico Solaris от Апрель 30, 2009, 03:57:42 am
Данная инструкция описывает процесс определения неисправности на HDD и его замены.
В моем случае используется SoftRaid на двух HDD (Solaris 10).

Рассмотрим наиболее вероятные проблемы с HDD. Для анализа нам необходим лог сервера – файл /var/adm/messages (messages.0 - 3). Чаще всего по нему можно определить причину сбоя с большой вероятностью.

«Тонкое» место на SCSI диске – это его контроллер (микросхема, расположенная на плате HDD).

Итак, возможные причины отказа:

1.   Сбой диска (механическая неисправность).
2.   Сбой работы SCSI контроллера (сам HDD работоспособен, но система его не видит). Можно восстановить HDD, заменив на нем плату с контроллером.
3.   Нестабильная работа SCSI контролера. В этом случае система может работать с диском, но наблюдается большое количество ошибок на SCSI шине. Такие проблемы иногда можно вылечить переусадкой диска в слот сервера, но лучше заменить HDD.
4.   «Выпадение» HDD из слота. Эта проблема лечится переусадкой диска в слот сервера.

Исходные данные – логи сервера. Примеры:

1. Пример лога с многочисленными ошибками по шине SCSI. Система «тормозит» при обращении к диску (особенно, если есть программное зеркало).

Apr 3 13:43:21 BER1281IVR02MTS scsi: [ID 365881 kern.info] /pci@1c,600000/scsi@2 (glm0):
Apr 3 13:43:21 BER1281IVR02MTS Cmd (0xe13d32d8) dump for Target 0 Lun 0:
Apr 3 13:43:21 BER1281IVR02MTS scsi: [ID 365881 kern.info] /pci@1c,600000/scsi@2 (glm0):
Apr 3 13:43:21 BER1281IVR02MTS cdb=[ 0x8 0x0 0x0 0x0 0x1 0x0 ]
Apr 3 13:43:21 BER1281IVR02MTS scsi: [ID 365881 kern.info] /pci@1c,600000/scsi@2 (glm0):
Apr 3 13:43:21 BER1281IVR02MTS pkt_flags=0x1c000 pkt_statistics=0x61 pkt_state=0x7
Apr 3 13:43:21 BER1281IVR02MTS scsi: [ID 365881 kern.info] /pci@1c,600000/scsi@2 (glm0):
Apr 3 13:43:21 BER1281IVR02MTS pkt_scbp=0x0 cmd_flags=0x8e1
Apr 3 13:43:21 BER1281IVR02MTS scsi: [ID 107833 kern.warning] WARNING: /pci@1c,600000/scsi@2 (glm0):
Apr 3 13:43:21 BER1281IVR02MTS Disconnected tagged cmd(s) (1) timeout for Target 0.0
Apr 3 13:43:21 BER1281IVR02MTS genunix: [ID 408822 kern.info] NOTICE: glm0: fault detected in device; service still available
Apr 3 13:43:21 BER1281IVR02MTS genunix: [ID 611667 kern.info] NOTICE: glm0: Disconnected tagged cmd(s) (1) timeout for Target 0.0
Apr 3 13:43:21 BER1281IVR02MTS glm: [ID 401478 kern.warning] WARNING: ID[SUNWpd.glm.cmd_timeout.6018]



Что значат эти каракули? =)

Для увеличения производительности SCSI шины, предусмотрена возможность запрашивать не одну операцию ввода/вывода, а сразу несколько. Для этого запросы маркируются (tagged queuing). По умолчанию происходит один такой "большой" запрос на 256 операций (однако предусмотрена возможность для изменения значения). Если обнаруживается ошибка - все 256 операций повторяются заново. Отсюда можно наблюдать "торможение".
Строка "Disconnected tagged cmd(s) (1) timeout for Target 0.0" сигнализирует о том, что обнаружилась ошибка при выполнении такого запроса к SCSI устройству.

Проще говоря, наблюдаются ошибки, связанные с обработкой запросов на устройство HDD. Наиболее вероятная причина - на данном диске неисправен контроллер SCSI. В идеале, диск необходимо заменить. Однако, может помочь "переусадка" диска.


2. Вариант с «умершим» SCSI контроллером:

Mar  3 02:58:26 BER1712SGW01VK md_mirror: [ID 104909 kern.warning] WARNING: md: d61: /dev/dsk/c0t0d0s6 needs maintenance
Mar  3 02:59:26 BER1712SGW01VK scsi: [ID 107833 kern.warning] WARNING: /pci@1c,600000/scsi@2/sd@0,0 (sd3):
Mar  3 02:59:26 BER1712SGW01VK  Unit Attention retries exhausted. Check the target.
Mar  3 03:00:26 BER1712SGW01VK scsi: [ID 107833 kern.warning] WARNING: /pci@1c,600000/scsi@2/sd@0,0 (sd3):
Mar  3 03:00:26 BER1712SGW01VK  Unit Attention retries exhausted. Check the target.
Mar  3 03:00:26 BER1712SGW01VK scsi: [ID 107833 kern.warning] WARNING: /pci@1c,600000/scsi@2/sd@0,0 (sd3):
Mar  3 03:00:26 BER1712SGW01VK  offline



Проблема с диском на шине scsi@2, устройство sd@0,0. Проблема описывается строкой «Unit Attention retries exhausted. Check the target»,  – диск не отвечает системе на запросы.


Теперь необходимо привести в соответствие имена устройств. Мы знаем, что неисправен диск sd@0,0. Нам необходимо узнать логическое имя и проверить статусы программных зеркал (есть ли они, в каком состоянии). Аппаратные зеркала (raidctl) не рассматриваем, т.к. для Solaris они выглядят как одно физическое устройство.

1.   Проверяем доступные диски командой format, определяем неисправный диск.

# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <drive type unknown>
          /pci@1c,600000/scsi@2/sd@0,0
       1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
          /pci@1c,600000/scsi@2/sd@1,0
Specify disk (enter its number):


Нас интересует диск c0t0d0. Именно он неисправен, подлежит замене. Этот диск находится в слоте 0 сервера.

2.   Проверяем состояние зеркал командой metastat.

Этот раздел – тема отдельного разговора. В моем случе диск состоит из шести слайсов, каждый из них зазеркалирован на другой HDD. Метареплики хранятся на седьмом слайсе (объемом 50 МБ).
Если зеркало в состоянии State: Needs maintenance, то необходимо его лечить.


3.   Удаляем мертвые метареплики. Метареплики хранятся на 7-ом слайсе (в моем случае):

#metadb -f -d /dev/dsk/c0t0d0s7

 
4.   Перед заменой диска необходимо его отключить. Сначала проверяем имена дисков в системе.

# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 disk         connected    configured   unknown
c0::dsk/c0t1d0                 disk         connected    configured   unknown
c1                             scsi-bus     connected    unconfigured unknown
usb0/1                         unknown      empty        unconfigured ok
usb0/2                         unknown      empty        unconfigured ok


Нужный нам диск c0::dsk/c0t0d0.
Необходимо его деконфигурировать в системе:

#cfgadm -c unconfigure c0::dsk/c0t0d0

Теперь cfgadm –al должен показать, что диск деконфигурирован.

5.   Вынимаем мертвый диск и ПЛОТНО(!!) вставляем новый. Защелку на новом диске закрываем только тогда, когда дальше его уже никак не пропихнуть.

6.   После смены диска:

#cfgadm -c configure c0::dsk/c0t0d0

Теперь cfgadm –al должен показать, что диск cконфигурирован.

7.   Далее настраиваем зеркало. Скопировать разбивку диска с рабочей половины зеркала на новый диск:

#prtvtoc /dev/rdsk/c0t1d0s2 | fmthard -s - /dev/rdsk/c0t0d0s2

8.   Установить загрузочный блок на новый диск:

#installboot /usr/platform/sun4u/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0

9.   Создать на новом диске реплики:

#metadb -f -с 3 -a /dev/dsk/c0t0d0s7

10.   Для каждого раздела заменить устройство в зеркале:

#metareplace -e d10 c0t0d0s0
#metareplace -e d20 c0t0d0s1
#metareplace -e d30 c0t0d0s3
#metareplace -e d40 c0t0d0s4
#metareplace -e d50 c0t0d0s5
#metareplace -e d60 c0t0d0s6


Готово =) Можно пользоваться!
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Май 07, 2009, 06:54:38 am
Познавательно. На сколько понял, у вас используется UFS. Почему не ZFS?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Tico Solaris от Май 13, 2009, 08:45:08 am
Во первых, исторически сложилось. ZFS еще не было, когда наши прилаги уже крутились на серваках SUN под Solaris 8 (а потом и 9).
Во вторых, ZFS по производительности чуть отстает. К тому же в 10-ке (не Open Solaris, а Solaris 10 для SPARC серверов) есть ряд "недочетов", с которыми столкнулись. Например - нельзя удалить из пула ZFS дисковое пространство. Добавить - сколько хочешь, а потом убрать назад никак.
Вот и работает в основном UFS по сей день, т.к. привыкли.
Хотя сейчас для некоторых решений перебираемся на ZFS.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Май 20, 2009, 07:07:51 am
Какими утилитами можно уменьшить размер дискового пространства, выделенного под UFS?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Tico Solaris от Август 07, 2009, 04:52:05 am
Не очень понял вопрос, если честно...
Сжать что-ли? Или переразбить диск по новому?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Август 10, 2009, 06:16:18 am
Например - нельзя удалить из пула ZFS дисковое пространство. Добавить - сколько хочешь, а потом убрать назад никак.
Как я понял, указанный недостаток ZFS отсутствует у UFS. Вот про то, как это реализовано, я и интересовался.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июнь 25, 2010, 07:54:35 am
День добрый!
следовал Вашей статье для замены выгоревшего HDD d primepower 650
solaris 9
# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 disk         connected    configured   unknown
c0::dsk/c0t1d0                 disk         connected    configured   unknown
c1                             scsi-bus     connected    configured   unknown
c1::dsk/c1t4d0                 CD-ROM       connected    configured   unknown
#
format
Searching for disks...done

c0t1d0: configured with capacity of 68.36GB


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <FUJITSU-MAP3735NC-3701 cyl 24345 alt 2 hd 8 sec 737>
          /pci@87,2000/scsi@1/sd@0,0
       1. c0t1d0 <HITACHI-HUS103073FL3800-SA1B cyl 52689 alt 2 hd 3 sec 907>
          /pci@87,2000/scsi@1/sd@1,0

судя по всему диск таки прижился

а дальше ничего не могу с новым диском сделать
ругается
# tail -f /var/adm/messages
Jun 25 13:16:09 SMO00C00H scsi: [ID 107833 kern.warning] WARNING: /pci@87,2000/scsi@1/sd@1,0 (sd1):
Jun 25 13:16:09 SMO00C00H       Corrupt label; wrong magic number
Jun 25 13:48:06 SMO00C00H scsi: [ID 107833 kern.warning] WARNING: /pci@87,2000/scsi@1/sd@1,0 (sd1):
Jun 25 13:48:06 SMO00C00H       Corrupt label; wrong magic number
Jun 25 13:52:07 SMO00C00H scsi: [ID 107833 kern.warning] WARNING: /pci@87,2000/scsi@1/sd@1,0 (sd1):
Jun 25 13:52:07 SMO00C00H       Corrupt label; wrong magic number
Jun 25 13:57:22 SMO00C00H scsi: [ID 107833 kern.warning] WARNING: /pci@87,2000/scsi@1/sd@1,0 (sd1):
Jun 25 13:57:22 SMO00C00H       Corrupt label; wrong magic number
Jun 25 13:57:22 SMO00C00H scsi: [ID 107833 kern.warning] WARNING: /pci@87,2000/scsi@1/sd@1,0 (sd1):
Jun 25 13:57:22 SMO00C00H       Corrupt label; wrong magic number

не знаю что дальше делать
помогите плиз!
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Илья от Июнь 29, 2010, 09:20:43 am
У меня такая же проблема была только не на сервере а рабочей станции нужно на диске переставить перемычку там есть где вставляется штекер посмотри.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 05, 2010, 02:35:00 am
Диск скази 2
там нету перемычек вообще никаких :(
меня смущают вот эти параметры геометрии
FUJITSU-MAP3735NC-3701 cyl 24345 alt 2 hd 8 sec 737
HITACHI-HUS103073FL3800-SA1B cyl 52689 alt 2 hd 3 sec 907

может нада найти точно такой же винт и попробовать поменять?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 05, 2010, 03:50:37 am
привезли винт аналочичный тому что стоял (ну почти аналогичный)
0. c0t0d0 <FUJITSU-MAP3735NC-3701 cyl 24345 alt 2 hd 8 sec 737>
          /pci@87,2000/scsi@1/sd@0,0
       1. c0t1d0 <FUJITSU-MAP3735NC-0108 cyl 47994 alt 2 hd 4 sec 747>
          /pci@87,2000/scsi@1/sd@1,0
в системе он определился нормально
на нем судя по всему есть уже какие то разделы которые счас попробую снести...
пробовал вот так сделать
# dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t1d0s2
dd: /dev/rdsk/c0t1d0s2: open: I/O error
ничего не получилось
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s -\ /dev/rdsk/c0t1d0s2
Usage:  fmthard [ -i ] [ -n volumename ] [ -s datafile ] [ -d arguments] raw-device
#
и где тут ашибка закралась?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 05, 2010, 09:29:20 am
Можно попробовать заменить s2 на p0. То есть:
dd if=/dev/rdsk/c0t0d0p0 of=/dev/rdsk/c0t1d0p0
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 05, 2010, 09:35:03 am
# dd if=/dev/rdsk/c0t0d0p0 of=/dev/rdsk/c0t1d0p0
dd: /dev/rdsk/c0t0d0p0: open: No such file or directory

а нужно ли руками создавать разделы так же как и на исходном диске?
есть вариант не делать зеркальный рэйд а сделать просто копию диска на диск и отложить его в ящик на всяк случай
если грохнется основной то пставить запасной и с него стартарнуть и работать дальше
как можно реализовать такую операцию??
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 05, 2010, 10:00:28 am
# dd if=/dev/rdsk/c0t0d0p0 of=/dev/rdsk/c0t1d0p0
dd: /dev/rdsk/c0t0d0p0: open: No such file or directory

а нужно ли руками создавать разделы так же как и на исходном диске?
есть вариант не делать зеркальный рэйд а сделать просто копию диска на диск и отложить его в ящик на всяк случай
если грохнется основной то пставить запасной и с него стартарнуть и работать дальше
как можно реализовать такую операцию??

p0 означает все содержимое диска. Может быть попробовать вместо rdsk/ написать dsk/ ? У меня под OpenSolaris создание образа флешки идет так:
$ dd if=/dev/dsk/c12t0d0p0 of=flash.img
^C16353+0 records in
16352+0 records out
8372224 bytes (8,4 MB) copied, 8,97911 s, 932 kB/s

8,4 MB - потому что я прервал копирование.

Для данной операции команды dd будет вполне достаточно.

Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 05, 2010, 10:09:48 am
то же самое написало :(
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 06, 2010, 06:54:02 am
Покажи, что выдает команда
mount
Наверно имеет смысл создавать образ не всего диска, а только определенных разделов диска. Предлагаю попробовать создать образ раздела.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 06, 2010, 07:15:38 am
# mount
/ on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800000 on Tue Jul  6 08:30:25 2010
/proc on /proc read/write/setuid/dev=44c0000 on Tue Jul  6 08:30:25 2010
/etc/mnttab on mnttab read/write/setuid/dev=4580000 on Tue Jul  6 08:30:25 2010
/dev/fd on fd read/write/setuid/dev=45c0000 on Tue Jul  6 08:30:26 2010
/var on /dev/dsk/c0t0d0s5 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800005 on Tue Jul  6 08:30:27 2010
/var/run on swap read/write/setuid/xattr/dev=1 on Tue Jul  6 08:30:27 2010
/tmp on swap read/write/setuid/xattr/dev=2 on Tue Jul  6 08:39:58 2010
/export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=800007 on Tue Jul  6 08:39:59 2010
/home/evgenp on /export/home/evgenp read/write/setuid/dev=800007 on Tue Jul  6 13:22:40 2010
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 06, 2010, 07:29:04 am
Попробуй прочитать файл раздела с домашними каталогами /dev/dsk/c0t0d0s7.
dd if=/dev/dsk/c0t0d0s7 of=/dev/null
Если будет читаться (не выдаст ошибок), значит можно делать его образ.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 06, 2010, 07:38:07 am
тут вот какой вопрос назрел нужно ли отмонтировать и перемонтировать новый диск
или при рестарте машины все само перемонтируется?
кстати s7 начало копировать
я прервал или нужно было чтоб до конца дошло?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 07, 2010, 09:09:16 am
Само смонтируется, если есть соответствующая запись в /etc/vfstab.
Если разделы копируются, можно поделить новый винт на разделы и делать dd с записью на эти новые разделы. В принципе надо копировать только s0 и s7.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Июль 20, 2010, 07:15:10 am
Выбранный мною путь оказалось вел в тупик
нашел вот такой вариант решения моей проблемы
http://www.sunmanagers.org/pipermail/summaries/2001-September/000018.html
сделал все по статье за исключением настройки скази чтоб он сам выбирал с какого винта грузиться
вот только возник такой вопрос нужно ли делать
newfs -v /dev/rdsk/c0t1d0s1
c0t1d0s1 - swap партиция
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Июль 21, 2010, 02:27:59 am
newfs -v /dev/rdsk/c0t1d0s1 делать не нужно, потому что эта команда создает файловую систему UFS. В данном случае достаточно прописать /dev/dsk/c0t1d0s1  -                   -         swap     -     no
в /etc/vfstab. Своп должен подключиться после перезагрузки. Если хочется обойтись без нее, следует воспользоваться утилитой swap.
Проверить, подключен ли своп, можно командой swap -l.
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Август 05, 2010, 11:51:23 am
я вобщем все скопировал
вырубил комп вынул рабочий винт всунул на его место новый и запустился
старт прошел как обычно
когда начали проверять то наткнулись на то что несмонтировались разделы NAS сервера который подключен оптикой
в vfstab все нормально
все рзделы прописаны
в какую сторону копать?
где могла закрасться ошибка?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Илья от Август 05, 2010, 12:02:08 pm
Сколько раз устанавливалаь система на этот диск?
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Август 05, 2010, 01:10:14 pm
неизвестно
делалось до меня и человек который делал вне досягаемости :(
я перенес бут область скопировал с живого винта
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Илья от Август 05, 2010, 01:14:47 pm
Вот у меня больше система не устанавливается я устанавливал N раз и все больше не идет, а если не идет то я устанавливаю OpenSolaris 2008.05 она бронебойная  :-\
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: evgenp от Август 05, 2010, 03:20:32 pm
мне такое решение не прокатит :(
там мегабаза и низя ее трогать
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: Илья от Август 05, 2010, 03:43:15 pm
Я подумаю как сделать установку с сохранением данных ОК? ;D
Вот куда можно обратиться http://forum.os-solaris.ru/index.php?topic=33.0
Название: Re: Замена диска в SUN сервере (может пригодится кому)
Отправлено: keremet от Август 08, 2010, 04:23:07 pm
когда начали проверять то наткнулись на то что несмонтировались разделы NAS сервера который подключен оптикой
в vfstab все нормально
все рзделы прописаны
в какую сторону копать?
где могла закрасться ошибка?

Я бы попробовал смонтировать вручную. Как только будут известны команды монтирования, можно будет думать о том, как автоматизировать их исполнение.