Всем добрый день. Приключилась такая вот нехорошая ситуация:
достался в наследство сервер SunFire V210 Ultra Sparc с операционной системой Solaris 9. На этом сервере крутится очень критичное для компании приложение. 2 жестких диска по 36Гб стояли в программном зеркальном рэйде. Один вылетел - сейчас система работает на одном диске (ненужные реплики я поудалял). Купили еще один диск только на 72 Гб, вставил я его и давай колдовать - восстанавливать зеркало. Все вроде ничего, но при попытке провести metareplace корневого раздела все летит к чертям (пару раз я уж было думал: все кердец - уволят). Почему это происходит - не понимаю. Думал загрузиться с диска и проделать то же самое, но где гарании, что это не повторится. В общем даю вывод команд metastat и metadb:
# metadb
flags first blk block count
a m p luo 16 8192 /dev/dsk/c1t0d0s7
a p luo 8208 8192 /dev/dsk/c1t0d0s7
a p luo 16 8192 /dev/dsk/c1t1d0s7
a p luo 8208 8192 /dev/dsk/c1t1d0s7
a p luo 16400 8192 /dev/dsk/c1t1d0s7# metastat
d33: Mirror
Submirror 0: d13
State: Okay
Submirror 1: d23
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 45894654 blocks (21 GB)d13: Submirror of d33
State: Okay
Size: 45894654 blocks (21 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s4 0 No Okay Yes
d23: Submirror of d33
State: Okay
Size: 45894654 blocks (21 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s4 0 No Okay Yes
d32: Mirror
Submirror 0: d12
State: Okay
Submirror 1: d22
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 4194828 blocks (2.0 GB)d12: Submirror of d32
State: Okay
Size: 4194828 blocks (2.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s6 0 No Okay Yes
d22: Submirror of d32
State: Okay
Size: 4194828 blocks (2.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s6 0 No Okay Yes
d31: Mirror
Submirror 0: d11
State: Okay
Submirror 1: d21
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 8389656 blocks (4.0 GB)d11: Submirror of d31
State: Okay
Size: 8389656 blocks (4.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s1 0 No Okay Yes
d21: Submirror of d31
State: Okay
Size: 8389656 blocks (4.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s1 0 No Okay Yes
d30: Mirror
Submirror 0: d10
State: Okay
Submirror 1: d20
State: Needs maintenance
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 8386767 blocks (4.0 GB)d10: Submirror of d30
State: Okay
Size: 8386767 blocks (4.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes
d20: Submirror of d30
State: Needs maintenance
Invoke: metareplace d30 c1t1d0s0 <new device>
Size: 8386767 blocks (4.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s0 0 No Maintenance Yes
d34: Mirror
Submirror 0: d14
State: Okay
Submirror 1: d24
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 4194828 blocks (2.0 GB)d14: Submirror of d34
State: Okay
Size: 4194828 blocks (2.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s5 0 No Okay Yes
d24: Submirror of d34
State: Okay
Size: 4194828 blocks (2.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s5 0 No Okay Yes
hsp001: is emptyDevice Relocation Information:
Device Reloc Device ID
c1t1d0 Yes id1,sd@w4849544143484920485553313033303733464c33383030205633565335455641
c1t0d0 Yes id1,sd@SSEAGATE_ST336607LSUN36G_3JA71CEF0000742935CA
#Заранее благодарен всем, кто откликнется.
Я обычно делаю так в таких случаях:#metadetach -f d30 d20
#metaclear d20
#metainit d10 1 1 c1t1d0s0
#metattach d30 d20
>Я обычно делаю так в таких случаях:
>
>#metadetach -f d30 d20
>#metaclear d20
>#metainit d10 1 1 c1t1d0s0
>#metattach d30 d20Так я тоже делал. Вылетает сервер, перезагружается и потом загружается только в однопользовательском режиме. После этого как минимум нужно удалять реплики нового диска.
>Так я тоже делал. Вылетает сервер, перезагружается и потом загружается только в
>однопользовательском режиме. После этого как минимум нужно удалять реплики нового диска.
>Хотелось бы увидеть разбивку дисков по цилиндрам.
Если делать правильно, то сервер не должен ни падать, ни перегружаться....
Данные операции без проблем проводятся на работающих серверах без каких либо перезагрузок вообще...
И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.А в /etc/system добавить параметр
set md:mirrored_root_flag=1
>И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.Нигде про это не читал. Можно ли удалить одну реплику?
>
>
>А в /etc/system добавить параметр
>
>set md:mirrored_root_flag=1Попробую.
>>И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.
>
>Нигде про это не читал. Можно ли удалить одну реплику?
>>сервер будет нормально загружаться, если определяется кол-во метрик 50%+1
на конфигурации из 2х винтов это нереализуемо, поэтому прописывается флаг
set md:mirrored_root_flag=1при этом возможно загрузка, если кол-во реплик доступно 50%
если менее, то система грузится в однопользовательский режим