Был gmirror из двух SATA дисков ad4 и ad6 на сервере HP Proliant 145Сервер вырубили кнопкой POWER, потом вновь включили. После этого при загрузке на консоль вывалилось сообщение о том, что диск не был корректно отмонтирован и началась его проверка. Так сервер простоял часа полтора, пока я до него доехал, и все на 0%. В логи ничего не попало. Система не загружалась, так как не могла подмонтировать корневую систему. В однопользовательском режиме пришлось удалить ad4 так как он не синхронизировался (всегда 0%).
Sep 28 21:58:16 kernel: GEOM_MIRROR: Device gm0 created (id=2910824621).
Sep 28 21:58:16 kernel: GEOM_MIRROR: Device gm0: provider ad6 detected.
Sep 28 21:58:16 kernel: GEOM_MIRROR: Device gm0: provider ad6 activated.
Sep 28 21:58:16 kernel: GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.
Sep 28 21:58:16 kernel: Trying to mount root from ufs:/dev/mirror/gm0s1a
Sep 28 21:58:16 kernel: WARNING: / was not properly dismounted
Sep 28 21:58:16 kernel: WARNING: /tmp was not properly dismounted
Sep 28 21:58:16 kernel: WARNING: /usr was not properly dismounted
Sep 28 21:58:16 kernel: WARNING: /var was not properly dismounted
ad4 я подмонтировал потом отдельно, проверил его fsck:Sep 28 21:59:36 fsck: /dev/mirror/gm0s1e: 29 files, 22 used, 253793 free (33 frags, 31720 blocks, 0.0% fragmentation)
Sep 28 22:02:44 kernel: WARNING: R/W mount of / denied. Filesystem is not clean - run fsck
Sep 28 22:03:32 fsck: /dev/mirror/gm0s1f: 312345 files, 7863382 used, 27461654 free (130238 frags, 3416427 blocks, 0.4%
fragmentation)
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211972 OWNER=root MODE=140666
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 19:19 2006 (CLEARED)
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211991 OWNER=root MODE=140666
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 19:19 2006 (CLEARED)
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: Reclaimed: 0 directories, 2 files, 0 fragments
Sep 28 22:03:37 fsck: /dev/mirror/gm0s1d: 785 files, 22021 used, 983826 free (618 frags, 122901 blocks, 0.1% fragmentati
on)
Sep 28 22:03:46 kernel: WARNING: R/W mount of / denied. Filesystem is not clean - run fsck
Sep 28 22:04:10 kernel: WARNING: R/W mount of / denied. Filesystem is not clean - run fsck
Sep 28 22:04:17 kernel: WARNING: /var was not properly dismounted
Sep 28 22:04:40 kernel: WARNING: /tmp was not properly dismountedпри попытке сделать
gmirror insert gm0 /dev/ad4 получаю
Cannot access ad4потом я сказал
Sysctl kern.geom.debugflags=16и потом удачно
gmirror insert gm0 /dev/ad4
Но все равно полуаю вот что:
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ad6# gmirror list
Geom name: gm0
State: DEGRADED
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 2910824621
Providers:
1. Name: mirror/gm0
Mediasize: 80026361344 (75G)
Sectorsize: 512
Mode: r5w5e6
Consumers:
1. Name: ad6
Mediasize: 80026361856 (75G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 2922868393
Что случилось с диском ad4 ? Где искать?
Заранее спасибо.
#gmirror forget gm0
#gmirror insert gm0 ad4См. man gmirror
>См. man gmirrorпервым делом сделал man gmirror
пробовал gmirror remove gm0 ad4
>#gmirror forget gm0
>#gmirror insert gm0 ad4запустил с удаленной консоли, Putty сразу вывалилась и коннектится не хочет. Пинги не пропали, ipfw и NAT работают. Но squid, ssh, почта и прочие сервисы перестали отвечать на запросы. Приехал в серверную, на консоли следующие сообщения (за достоверность не ручаюсь):
GEOM_MIRROR Cannot add disk ad4 to gm0 (error=22)
я так понимаю, что запустилась синхронизация. Но даже на консоли не работает login, то есть на tty1 при вводе логина система "подвисает"...
делаю так:
# gmirror forget gm0
# gmirror insert gm0 ad4получаю на tty0 следующее:
Oct 1 13:36:40 kernel: GEOM_MIRROR: Cannot add disk ad4 to gm0 (error=22).
Oct 1 13:46:18 kernel: GEOM_MIRROR: Device gm0: provider ad4 detected.
Oct 1 13:46:18 kernel: GEOM_MIRROR: Device gm0: rebuilding provider ad4.и так сервер "висел" почти сутки, думая, что он синхронизирует данные. Ан нет, даже через сутки сервер был недоступен, даже на локальную консоль не удавалось войти (просто напросто после ввода логина не было приглашения ввести пароль). Пришлось снова жать POWER.
В итоге при следующей загрузке система останавливалась при определении и активации сбойного ad4 и пыталась запустить опять же синхронизацию.... Пришлось сделать
# gmirror remove gm0 ad4Теперь у меня система загружена с зеркалом из 1 диска:
# gmirror list
Geom name: gm0
State: COMPLETE
Components: 1
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 2910824621
Providers:
1. Name: mirror/gm0
Mediasize: 80026361344 (75G)
Sectorsize: 512
Mode: r5w5e6
Consumers:
1. Name: ad6
Mediasize: 80026361856 (75G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 2922868393# gmirror status
Name Status Components
mirror/gm0 COMPLETE ad6# cd /dev; ls | grep ad
ad4
ad4s1
ad4s1a
ad4s1b
ad4s1c
ad4s1d
ad4s1e
ad4s1f
ad6
ad6s1# gstat
dT: 0.501s w: 0.500s
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
0 0 0 0 0.0 0 0 0.0 0.0| ad4
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1
0 0 0 0 0.0 0 0 0.0 0.0| ad6
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1a
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1b
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1c
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1d
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1e
0 0 0 0 0.0 0 0 0.0 0.0| ad4s1f
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0
0 0 0 0 0.0 0 0 0.0 0.0| ad6s1
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1a
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1b
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1c
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1d
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1e
0 0 0 0 0.0 0 0 0.0 0.0| mirror/gm0s1f1. Почему тогда при добавлении диска не идет перестройка и синхронизация рейда?
2. Если ad4 у меня нигде не монтируется, зачем gstat показывает данные по ad4 ???
3. Как добавить диск в gm0 ?
4. что за ошибка 22 - Oct 1 13:36:40 kernel: GEOM_MIRROR: Cannot add disk ad4 to gm0 (error=22).По гуглу искал, нашел ветку, где подобная проблема описывалась, но там так и не была решена проблема. про Error 22 тоже не нашел ничего.
Подскажите, куда рыть. Спасибо.
>Подскажите, куда рыть. Спасибо.учиться ЧИТАТЬ системные сообщения и думаЙт: вам черным по белому было написано о том
что файловые системы были НЕУДАЧНО размонтированы и необходимо выполнить ручной fsck:# boot -> single-user mode
# fsck -y на все бякипосле чего можно заниматься gmirror'ом, но и это не ВСЕ, необходимо знать:
- диск/и целы? отсутствуют bad блоки и ошибки READ/WRITE
- если один из дисков ЦЕЛ, то его использовать ОСНОВНЫМ для загрузки (BIOS) и
проверять на Ём FS - fsck -y
>>Подскажите, куда рыть. Спасибо.
>
>учиться ЧИТАТЬ системные сообщения и думаЙт: вам черным по белому было написано
>о том
>что файловые системы были НЕУДАЧНО размонтированы и необходимо выполнить ручной fsck:
>
># boot -> single-user mode
># fsck -y на все бякивыполнял:
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: UNREF FILE I=4 OWNER=root MODE=100600
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: SIZE=0 MTIME=Oct 1 13:33 2006 (CLEARED)
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: UNREF FILE I=6 OWNER=root MODE=100600
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: SIZE=0 MTIME=Oct 1 13:33 2006 (CLEARED)
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: Reclaimed: 0 directories, 2 files, 0 fragments
Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: 29 files, 22 used, 253793 free (33 frags, 31720 blocks, 0.0% fragmentation)
Oct 2 09:56:27 fsck: /dev/mirror/gm0s1f: 312917 files, 7863754 used, 27461282 free (130738 frags, 3416318 blocks, 0.4% fragmentation)
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211972 OWNER=root MODE=140666
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 22:15 2006 (CLEARED)
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211987 OWNER=root MODE=140666
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 22:15 2006 (CLEARED)
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: Reclaimed: 0 directories, 2 files, -1 fragments
Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: 790 files, 22278 used, 983570 free (602 frags, 122871 blocks, 0.1% fragmentation)>
>после чего можно заниматься gmirror'ом, но и это не ВСЕ, необходимо знать:
>
>
>- диск/и целы? отсутствуют bad блоки и ошибки READ/WRITEэто как в FreeBSD ПОСМОТРЕТЬ? юзал mhdd, но для этого винт надо снимать, гасить сервер.
>- если один из дисков ЦЕЛ, то его использовать ОСНОВНЫМ для загрузки
>(BIOS) и
>проверять на Ём FS - fsck -yОк, попробую еще раз.
>>>Подскажите, куда рыть. Спасибо.
>>
>>учиться ЧИТАТЬ системные сообщения и думаЙт: вам черным по белому было написано
>>о том
>>что файловые системы были НЕУДАЧНО размонтированы и необходимо выполнить ручной fsck:
>>
>># boot -> single-user mode
>># fsck -y на все бяки
>
>выполнял:
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: UNREF FILE I=4 OWNER=root MODE=100600
>
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: SIZE=0 MTIME=Oct 1 13:33 2006
> (CLEARED)
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: UNREF FILE I=6 OWNER=root MODE=100600
>
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: SIZE=0 MTIME=Oct 1 13:33 2006
> (CLEARED)
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: Reclaimed: 0 directories, 2 files, 0
>fragments
>Oct 2 09:52:29 fsck: /dev/mirror/gm0s1e: 29 files, 22 used, 253793 free
>(33 frags, 31720 blocks, 0.0% fragmentation)
>Oct 2 09:56:27 fsck: /dev/mirror/gm0s1f: 312917 files, 7863754 used, 27461282 free
>(130738 frags, 3416318 blocks, 0.4% fragmentation)
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211972 OWNER=root MODE=140666
>
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 22:15 2006
>(CLEARED)
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: UNREF FILE I=211987 OWNER=root MODE=140666
>
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: SIZE=0 MTIME=Sep 28 22:15 2006
>(CLEARED)
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: Reclaimed: 0 directories, 2 files, -1
>fragments
>Oct 2 09:56:32 fsck: /dev/mirror/gm0s1d: 790 files, 22278 used, 983570 free
>(602 frags, 122871 blocks, 0.1% fragmentation)
>
>>
>>после чего можно заниматься gmirror'ом, но и это не ВСЕ, необходимо знать:
>>
>>
>>- диск/и целы? отсутствуют bad блоки и ошибки READ/WRITE
>
>это как в FreeBSD ПОСМОТРЕТЬ? юзал mhdd, но для этого винт
>надо снимать, гасить сервер.# less /var/log/messages - а вообще-то зависит от настроек в /etc/syslog.conf
>>- если один из дисков ЦЕЛ, то его использовать ОСНОВНЫМ для загрузки
>>(BIOS) и
>>проверять на Ём FS - fsck -y
>
>Ок, попробую еще раз.что есть gmirror - это к примеру когда установили систему на ad0, затем воткнули ad2
и настроили gmirror (можно конечно сразу ПРИ установке руками сделать gm устройства)Отсюда - если у нас стал сбоить ОДИН из дисков, допустим ad0, а он был первый и
"основной", с него на ad2 производилась синхронизация и он был загрузочным:- перегружаемся, заходим в BIOS - меняем загрузочный на ad2
- загружаемся в single-user mode
- запускаем fsck -y на /dev/ad2... (вместо /dev/mirror/gm...)
- после достижения успеха:a) можем попробовать зарядить заново gmirror (вдруг ad0 нормальный диск)
insert/rebuildb) если заменяем диск - forget/insert
Одно но, внимательно смотреть man gmirror, ибо я мог ошибиться по памяти с forget/insert/rebuild - ЧТО из них использовать и какие действия, зависит от
ТОГО что система сообщает ПРО gmirror.Важное, если хотя бы ОДИН из дисков ЖИВ, и живы FS (забудем пока про класс gmirror
от geom) - на диске, например ad2 - если жив MBR и таблица партиций, то при
загрузке в single МЫ увидим:# ls -la /dev/ad2* - и слайсы и партиции, соответственно ИХ и ЧЕКАЕМ используя fsck:
# fsck -y /dev/ad2s1a
# fsck -y /dev/ad2s...
...
и тд и тпЕсли полный успех, то дальше не вопрос, можно хоть заново полный gmirror сделать,
а можно dd + gmirror, можно insert/rebuild или forget/insert.Итог: самое главное чтобы один из дисков остался ЖИВ с ЖИВЫМИ MBR и PARTITION-TABLE,
дальше дело техникипримерно тоже самое написано: http://ezine.daemonnews.org/200502/diskmirror.html
- gmirror with disk failure и есть русский перевод НО ТОЛЬКО ЧАСТИ
https://www.opennet.ru/base/sys/freebsd_gmirror_raid1.txt.htmlВсе что нужно понять - наличие gmirror, наличие в нем дисков - если нет добавить,
синхронизация - тогда будет понятно КАК и КАКИЕ команды использовать