URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84425
[ Назад ]

Исходное сообщение
"Замена жесткого диска в RAID-1 Solaris 9"

Отправлено warlord20 , 10-Мрт-09 19:18 
Всем добрый день. Приключилась такая вот нехорошая ситуация:
достался в наследство сервер 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 empty

Device Relocation Information:
Device   Reloc    Device ID
c1t1d0   Yes      id1,sd@w4849544143484920485553313033303733464c33383030205633565335455641
c1t0d0   Yes      id1,sd@SSEAGATE_ST336607LSUN36G_3JA71CEF0000742935CA
#

Заранее благодарен всем, кто откликнется.


Содержание

Сообщения в этом обсуждении
"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено zd3n , 10-Мрт-09 19:55 
Я обычно делаю так в таких случаях:

#metadetach -f d30 d20
#metaclear d20
#metainit d10 1 1 c1t1d0s0
#metattach d30 d20


"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено warlord20 , 10-Мрт-09 19:58 
>Я обычно делаю так в таких случаях:
>
>#metadetach -f d30 d20
>#metaclear d20
>#metainit d10 1 1 c1t1d0s0
>#metattach d30 d20

Так я тоже делал. Вылетает сервер, перезагружается и потом загружается только в однопользовательском режиме. После этого как минимум нужно удалять реплики нового диска.


"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено zd3n , 10-Мрт-09 20:04 

>Так я тоже делал. Вылетает сервер, перезагружается и потом загружается только в
>однопользовательском режиме. После этого как минимум нужно удалять реплики нового диска.
>

Хотелось бы увидеть разбивку дисков по цилиндрам.

Если делать правильно, то сервер не должен ни падать, ни перегружаться....
Данные операции без проблем проводятся на работающих серверах без каких либо перезагрузок вообще...


"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено zd3n , 10-Мрт-09 19:59 
И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.

А в /etc/system добавить параметр

set md:mirrored_root_flag=1


"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено warlord20 , 10-Мрт-09 20:00 
>И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.

Нигде про это не читал. Можно ли удалить одну реплику?
>
>
>А в /etc/system добавить параметр
>
>set md:mirrored_root_flag=1

Попробую.



"Замена жесткого диска в RAID-1 Solaris 9"
Отправлено zd3n , 10-Мрт-09 20:08 
>>И ещё, в конфигурации с двумя винтами, кол-во реплик должно быть одинаковым.
>
>Нигде про это не читал. Можно ли удалить одну реплику?
>>

сервер будет нормально загружаться, если определяется кол-во метрик 50%+1

на конфигурации из 2х винтов это нереализуемо, поэтому прописывается флаг
set md:mirrored_root_flag=1

при этом возможно загрузка, если кол-во реплик доступно 50%
если менее, то система грузится в однопользовательский режим