- Mirror -
metastat 명령어를 이용해서 현재 상태를 확인해 볼 수 있다. 만약 서브미러에서 error가 발생했다면 다음의 과정을 수행한다.
metareplace 명령의 -e 옵션을 이용하여 슬라이스를 사용 가능하게 할 수 있다.
# metareplace -e d11 c1t4d0s7
d11: device c1t4d0s7 is enabled
이 과정을 수행했는데도 error가 수정되지 않는다면 다음의 과정을 실행한다.
metastat 명령을 실행하면 다음과 같은 메시지일 경우가 있다.
# metastat d6
d6: Mirror
Submirror 0: d16
State: Okay
Submirror 1: d26
State: Needs maintenance
...
d26: Submirror of d6
State: Needs maintenance
Invoke: metareplace d6 c0t2d0s2 <new device>
...
metastat 명령어를 통해 d6 미러안의 서브미러 d26이 "Needs maintenance" 상태이고 "invoke"로 시작되는 메시지가 보이면 metareplace 명령어를 이용해서 해당 슬라이스를 시스템의 다른 사용 가능한 슬라이스로 대체한다. 시스템은 슬라이스가 대체된 것을 확인한 후 동기화작업을 시작한다.
# metareplace d6 c0t2d0s2 c0t2d2s2
d6: device c0t2d0s2 is replaced with c0t2d2s2
하지만 metastat 명령을 실행시 "Invoke"로 시작되는 라인이 보이지 않는 경우가 있다.
# metastat d20
d20: Mirror
Submirror 0: d21
State: Okay
Submirror 1: d22
State: Needs maintenance
...
이 경우는 서브미러를 클리어하고 다시 생성해야 한다. metadetach 명령어를 -f 옵션과 함께 써서 error가 난 서브미러를 추출하고 metaclear 명령어로 서브미러를 클리어한다. metainit 명령어로 서브미러 d22를 재생성한다. metattach 명령어는 재생성된 서브미러를 미러에 첨가한다. 자동적으로 동기화작업에 들어갈 것이다.
# metadetach -f d20 d22
d20: submirror d22 is detached
# metaclear d22
d22: Concat/Stripe is cleared
# metainit d22 2 1 c1t0d0s2 1 c1t0d1s2
d22: Concat/Stripe is setup
# metattach d20 d22
d20: components are attached
- Raid 5 -
가벼운 error는 다음의 명령으로 슬라이스를 활성화시킬 수 있다.
# metareplace -e d20 c2t0d0s2
하지만 대부분의 경우 슬라이를 교체해야 할 경우가 많다. 다음의 상태는 슬라이스를 교체할 경우이다.
# metastat d1
d1: RAID
State: Needs Maintenance
Invoke: metareplace d1 c0t14d0s6 <new device>
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t14d0s6 330 No Maintenance
metareplace 명령어를 이용하여 다른 사용 가능한 슬라이스로 대체한다.
# metareplace d1 c0t14d0s6 c0t4d0s6
d1: device c0t14d0s6 is replaced with c0t4d0s6
바로 동기화가 시작된다. 동기화중에도 사용자는 메타디바이스를 사용하는데 문제가 없다.
# metatstat d1
d1: RAID
State: Resyncing
Resync in progress: 98% done
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t4d0s6 330 No Resyncing
- Hot spare -
* 한개의 핫스페어풀을 교체할 때
# metastat hsp003
hsp003: 1 hot spare
c0t2d0s2 Broken 5600 blocks
# metahs -r hsp003 c0t2d0s2 c3t1d0s2
hsp003: Hotspare c0t2d0s2 is replaced with c3t1d0s2
* 모든 핫스페어풀을 교체할 때
# metahs -r all c1t0d0s2 c3t1d0s2
hsp001: Hotspare c1t0d0s2 is replaced with c3t1d0s2
hsp002: Hotspare c1t0d0s2 is replaced with c3t1d0s2
hsp003: Hotspare c1t0d0s2 is replaced with c3t1d0s2
* 핫스페어 활성화
# metahs -e c0t0d0s2
- Metatrans -
* Trans Metadevice 활성화
# fsck /dev/md/rdsk/trans
# lockfs
* Logging Device Error
# metastat d5
d5: Trans
State: Hard Error
Size: 10080 blocks
Master Device: d4
Logging Device: c0t0d0s6
d4: Mirror
State: Okay
...
c0t0d0s6: Logging device for d5
State: Hard Error
Size: 5350 blocks
...
# fsck /dev/md/rdsk/d5
** /dev/md/rdsk/d5
** Last Mounted on /fs1
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
WARNING: md: logging device: /dev/dsk/c0t0d0s6 changed state to
Okay
4 files, 11 used, 4452 free (20 frags, 554 blocks, 0.4% fragmentation)
# metastat d5
d5: Trans
State: Okay
Size: 10080 blocks
Master Device: d4
Logging Device: c0t0d0s6
d4: Mirror
State: Okay
...
c0t0d0s6: Logging device for d5
State: Okay
...
metastat 명령어를 이용해서 현재 상태를 확인해 볼 수 있다. 만약 서브미러에서 error가 발생했다면 다음의 과정을 수행한다.
metareplace 명령의 -e 옵션을 이용하여 슬라이스를 사용 가능하게 할 수 있다.
# metareplace -e d11 c1t4d0s7
d11: device c1t4d0s7 is enabled
이 과정을 수행했는데도 error가 수정되지 않는다면 다음의 과정을 실행한다.
metastat 명령을 실행하면 다음과 같은 메시지일 경우가 있다.
# metastat d6
d6: Mirror
Submirror 0: d16
State: Okay
Submirror 1: d26
State: Needs maintenance
...
d26: Submirror of d6
State: Needs maintenance
Invoke: metareplace d6 c0t2d0s2 <new device>
...
metastat 명령어를 통해 d6 미러안의 서브미러 d26이 "Needs maintenance" 상태이고 "invoke"로 시작되는 메시지가 보이면 metareplace 명령어를 이용해서 해당 슬라이스를 시스템의 다른 사용 가능한 슬라이스로 대체한다. 시스템은 슬라이스가 대체된 것을 확인한 후 동기화작업을 시작한다.
# metareplace d6 c0t2d0s2 c0t2d2s2
d6: device c0t2d0s2 is replaced with c0t2d2s2
하지만 metastat 명령을 실행시 "Invoke"로 시작되는 라인이 보이지 않는 경우가 있다.
# metastat d20
d20: Mirror
Submirror 0: d21
State: Okay
Submirror 1: d22
State: Needs maintenance
...
이 경우는 서브미러를 클리어하고 다시 생성해야 한다. metadetach 명령어를 -f 옵션과 함께 써서 error가 난 서브미러를 추출하고 metaclear 명령어로 서브미러를 클리어한다. metainit 명령어로 서브미러 d22를 재생성한다. metattach 명령어는 재생성된 서브미러를 미러에 첨가한다. 자동적으로 동기화작업에 들어갈 것이다.
# metadetach -f d20 d22
d20: submirror d22 is detached
# metaclear d22
d22: Concat/Stripe is cleared
# metainit d22 2 1 c1t0d0s2 1 c1t0d1s2
d22: Concat/Stripe is setup
# metattach d20 d22
d20: components are attached
- Raid 5 -
가벼운 error는 다음의 명령으로 슬라이스를 활성화시킬 수 있다.
# metareplace -e d20 c2t0d0s2
하지만 대부분의 경우 슬라이를 교체해야 할 경우가 많다. 다음의 상태는 슬라이스를 교체할 경우이다.
# metastat d1
d1: RAID
State: Needs Maintenance
Invoke: metareplace d1 c0t14d0s6 <new device>
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t14d0s6 330 No Maintenance
metareplace 명령어를 이용하여 다른 사용 가능한 슬라이스로 대체한다.
# metareplace d1 c0t14d0s6 c0t4d0s6
d1: device c0t14d0s6 is replaced with c0t4d0s6
바로 동기화가 시작된다. 동기화중에도 사용자는 메타디바이스를 사용하는데 문제가 없다.
# metatstat d1
d1: RAID
State: Resyncing
Resync in progress: 98% done
Interlace: 32 blocks
Size: 8087040 blocks
Original device:
Size: 8087520 blocks
Device Start Block Dbase State Hot Spare
c0t9d0s6 330 No Okay
c0t13d0s6 330 No Okay
c0t10d0s6 330 No Okay
c0t11d0s6 330 No Okay
c0t12d0s6 330 No Okay
c0t4d0s6 330 No Resyncing
- Hot spare -
* 한개의 핫스페어풀을 교체할 때
# metastat hsp003
hsp003: 1 hot spare
c0t2d0s2 Broken 5600 blocks
# metahs -r hsp003 c0t2d0s2 c3t1d0s2
hsp003: Hotspare c0t2d0s2 is replaced with c3t1d0s2
* 모든 핫스페어풀을 교체할 때
# metahs -r all c1t0d0s2 c3t1d0s2
hsp001: Hotspare c1t0d0s2 is replaced with c3t1d0s2
hsp002: Hotspare c1t0d0s2 is replaced with c3t1d0s2
hsp003: Hotspare c1t0d0s2 is replaced with c3t1d0s2
* 핫스페어 활성화
# metahs -e c0t0d0s2
- Metatrans -
* Trans Metadevice 활성화
# fsck /dev/md/rdsk/trans
# lockfs
* Logging Device Error
# metastat d5
d5: Trans
State: Hard Error
Size: 10080 blocks
Master Device: d4
Logging Device: c0t0d0s6
d4: Mirror
State: Okay
...
c0t0d0s6: Logging device for d5
State: Hard Error
Size: 5350 blocks
...
# fsck /dev/md/rdsk/d5
** /dev/md/rdsk/d5
** Last Mounted on /fs1
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
WARNING: md: logging device: /dev/dsk/c0t0d0s6 changed state to
Okay
4 files, 11 used, 4452 free (20 frags, 554 blocks, 0.4% fragmentation)
# metastat d5
d5: Trans
State: Okay
Size: 10080 blocks
Master Device: d4
Logging Device: c0t0d0s6
d4: Mirror
State: Okay
...
c0t0d0s6: Logging device for d5
State: Okay
...