로그인
Sign in
첫뻔째 과제.



하드웨어적으로 RAID1 이 구성된 시스템을 허물고

software 적으로 동일한 움직임을 구현하는것.



-> HDD0 , HDD1 이 동시에 읽고 쓰기가 이루어져 양 디스크가 완벽하게 동일한 구조로 작동.

-> 한쪽 디스크의 손상시 다른 한쪽으로 완벽하게 가동 가능 할 것

-> 한쪽 디스크가 서버에서 탈출 하는 재앙이 벌어진다고 해도...







솔라리스를 처음 접해보고, 리눅스라고 해봤자 ls 및 cat 등 명령어 밖에 몰랐던 터에 맡겨진 재앙과 같은

엄청난 업무에 당황했지만, 일단 주어진 시간이 여유가 있었다는 점 (실제 개시일은 다음달 예정)과 옆에서 아무 말 없이 믿고

맡겨 준다는 점(때론 단점이 되기도 한다)으로 어떻게든 해결.



하지만 선배 자신도 해본경험이 없는 내용이고, 그래서 회사내에서 물어 볼데도 없었던 지라 작업은 더더욱 난관에 봉착했다.







일단 알게 된것.

solaris 는 논리적으로 몇개의 슬라이스로 나눠 지며, 각각 고유의 역할을 담당하고 있다.



Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm    3928 -  5233       10.00GB    (1306/0/0)   20980890
  1       swap    wu       1 -  1267        9.71GB    (1267/0/0)   20354355
  2     backup    wm       0 - 17845      136.71GB    (17846/0/0) 286695990
  3        usr    wm    2622 -  3927       10.00GB    (1306/0/0)   20980890
  4        var    wm    1316 -  2621       10.00GB    (1306/0/0)   20980890
  5 unassigned    wm    7402 - 17845       80.01GB    (10444/0/0) 167782860
  6       home    wm    5234 -  7401       16.61GB    (2168/0/0)   34828920
   ....

   ....



상기는 각각의 슬라이스 번호와 실린더,용량 정보.



초기에 인스톨 할때 설정했던 내용이기 때문에 보는 순간 알았지만

미러링을 구성하기 위해 필요한건 여분의 슬라이스 였다.

* metadb 정보를 저장하기 위한 10 ~ 30 mb 정도의 작은 공간.



슬라이스는 7번에 만들면 될 것 같았지만 문제는 그 용량을 어떻게 확보하느냐.

1. 가장 시스템에 영향을 안 끼칠것 같은 export/home 을 백업 받고,

2. 지운뒤

3. 30mb 만큼 도려낸 크기로 재 생성해서

4. 남겨진 30b 를 슬라이스 7에 할당하고

5. 백업을 복구.



나름대로 멋진 작전을 세웠지만,

실제 시스템에서 저 디렉토리에 뭐가 있을까... 하는 점이 가장 신경쓰인다.

유저들의 home 디렉토리가 되는 곳 같은데, 방대한 데이터들이 저장 되어 있다면

백업/복구 만으로도 엄청난 시간/비용이 소모될 것 같기 때문이다.





또한 아직 둔감하기만 한 유닉스인데

백업/복구가 만일 하나라도 실패한다면 그 책임은 어쩔 것인가...





인터넷에서 자료를 찾아보니 SWAP 영역을 이용하는 방법이 있었다.

SWAP 영역이야 항상 데이터가 일시적을 보관되는 영역일 테고, 그렇다면 백업/복구의 필요+위험은 사라진다.

하지만 빈번히 움직이고 있을 SWAP 영역을 언제 어느 시점에 어떤식으로 잘라낼 것인가?





# df -hF ufs
ファイルシステム     サイズ 使用済み 使用可能 容量      マウント先
/dev/dsk/c0t0d0s0      9.9G   798M   9.0G     8%    /
/dev/dsk/c0t0d0s3      9.9G   2.8G   6.9G    30%    /usr
/dev/dsk/c0t0d0s4      9.9G    91M   9.7G     1%    /var
/dev/dsk/c0t0d0s5       79G   1.9G    76G     3%    /db
/dev/dsk/c0t0d0s6       16G    17M    16G     1%    /export/home



# swap -lh
swap ファイル   デバイス  swaplo ブロック 空き容量
/dev/dsk/c0t0d0s1   29,65      8 20354344 20354344



현재 테스트 서버 환경이라 SWAP 영역의 사용은 거의 이뤄지고 있지 않은듯 하다.
각종 자료를 찾아보면 서버가 안가한 시간에(스왑이 활발하게 쓰여지지 않는 시점) 스왑을 잠시

언마운트 시켜서 잘라내라고 했는데, 실제로 한가한 시간은 언제일까





일단 스왑을 해제 한다.

# swap -d /dev/dsk/c0t0d0s1
/dev/dsk/c0t0d0s1 はダンプデバイスでした --
新しくダンプデバイスを選択するために dumpadm(1M) -d swap を起動しています
dumpadm: swap デバイスを使用できません



해제 되었는지 확인



# swap -l
swap デバイスが構成されていません



이제 스왑 영역을 format 에서 요리 할 수 있을 것 같은 기분이 든다.







# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 17846 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@0,0
       1. c0t1d0 <DEFAULT cyl 17846 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@1,0
Specify disk (enter its number): 0





현재 작업하려는 것은 0 번 디스크 이므로 (기동중이다) 0 번 디스크를 선택



format> p


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> p
Current partition table (original):
Total disk cylinders available: 17846 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm    3928 -  5233       10.00GB    (1306/0/0)   20980890
  1       swap    wu       1 -  1315       10.07GB    (1315/0/0)   21125475
  2     backup    wm       0 - 17845      136.71GB    (17846/0/0) 286695990
  3        usr    wm    2622 -  3927       10.00GB    (1306/0/0)   20980890
  4        var    wm    1316 -  2621       10.00GB    (1306/0/0)   20980890
  5 unassigned    wm    7402 - 17845       80.01GB    (10444/0/0) 167782860
  6       home    wm    5234 -  7401       16.61GB    (2168/0/0)   34828920
  7 unassigned    wm       0                0         (0/0/0)             0
  8       boot    wu       0 -     0        7.84MB    (1/0/0)         16065
  9 unassigned    wu       0                0         (0/0/0)             0




1 번 슬라이스를 잘라서 요리하자.

metadb용 영역은 그다지 용량이 많이 필요하지 않다고 하니까 35mb 쯤 주도록 한다.

그런 의미에서 스왑 용량을 0.3gb 정도 줄였다.



partition> 1
Part      Tag    Flag     Cylinders         Size            Blocks
  1       swap    wu       1 -  1315       10.07GB    (1315/0/0)   21125475

Enter partition id tag[swap]:
Enter partition permission flags[wu]:
Enter new starting cyl[1]:
Enter partition size[21125475b, 1315c, 1315e, 10315.17mb, 10.07gb]: 10.04gb
partition> p
Current partition table (unnamed):
Total disk cylinders available: 17846 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm    3928 -  5233       10.00GB    (1306/0/0)   20980890
  1       swap    wu       1 -  1311       10.04GB    (1311/0/0)   21061215
  2     backup    wm       0 - 17845      136.71GB    (17846/0/0) 286695990
  3        usr    wm    2622 -  3927       10.00GB    (1306/0/0)   20980890
  4        var    wm    1316 -  2621       10.00GB    (1306/0/0)   20980890
  5 unassigned    wm    7402 - 17845       80.01GB    (10444/0/0) 167782860
  6       home    wm    5234 -  7401       16.61GB    (2168/0/0)   34828920
  7 unassigned    wm       0                0         (0/0/0)             0
  8       boot    wu       0 -     0        7.84MB    (1/0/0)         16065
  9 unassigned    wu       0                0         (0/0/0)             0





partition> 7
Part      Tag    Flag     Cylinders         Size            Blocks
  7 unassigned    wm    1311 -  1315       39.22MB    (5/0/0)         80325

Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[1311]: 1312
Enter partition size[80325b, 5c, 1316e, 39.22mb, 0.04gb]: 30mb
partition> p
Current partition table (unnamed):
Total disk cylinders available: 17846 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm    3928 -  5233       10.00GB    (1306/0/0)   20980890
  1       swap    wu       1 -  1311       10.04GB    (1311/0/0)   21061215
  2     backup    wm       0 - 17845      136.71GB    (17846/0/0) 286695990
  3        usr    wm    2622 -  3927       10.00GB    (1306/0/0)   20980890
  4        var    wm    1316 -  2621       10.00GB    (1306/0/0)   20980890
  5 unassigned    wm    7402 - 17845       80.01GB    (10444/0/0) 167782860
  6       home    wm    5234 -  7401       16.61GB    (2168/0/0)   34828920
  7 unassigned    wm    1312 -  1315       31.38MB    (4/0/0)         64260
  8       boot    wu       0 -     0        7.84MB    (1/0/0)         16065
  9 unassigned    wu       0                0         (0/0/0)             0



7번 슬라이스에 metadb 용 영역을 확보했다.

실제로 파티션이 같아 졌는지 확인 해 보자.



# format

AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 17846 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@0,0
       1. c0t1d0 <DEFAULT cyl 17846 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@1,0
Specify disk (enter its number): 1
format> p
partition> p
Current partition table (original):
Total disk cylinders available: 17846 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm    3928 -  5233       10.00GB    (1306/0/0)   20980890
  1       swap    wu       1 -  1311       10.04GB    (1311/0/0)   21061215
  2     backup    wm       0 - 17845      136.71GB    (17846/0/0) 286695990
  3        usr    wm    2622 -  3927       10.00GB    (1306/0/0)   20980890
  4        var    wm    1316 -  2621       10.00GB    (1306/0/0)   20980890
  5 unassigned    wm    7402 - 17845       80.01GB    (10444/0/0) 167782860
  6       home    wm    5234 -  7401       16.61GB    (2168/0/0)   34828920
  7 unassigned    wm    1312 -  1315       31.38MB    (4/0/0)         64260
  8       boot    wu       0 -     0        7.84MB    (1/0/0)         16065
  9 unassigned    wu       0                0         (0/0/0)             0




이제 뭔가 할 수 있을 것 같은 기분이 든다.

앞서서 metadb 를 위한 공간을 모두 확보 했다.

그 다음 해야 할일은 다른 디스크(HDD1) 도 이것과 같은 파티션 상태로 만들어야 되는데

그럼 아까 했던 그 난리를 다시 해야 되느냐..



아니라는 걸 알았다.



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

이 명령어 한줄로 슬라이스 정보가 고스란히 HDD1 로 넘어간다.

참고로 c0t0d0 은 HDD0 ,  c0t1d0 은 HDD1 을 가르키며

s2 는 슬라이스 2번으로 솔라리스에서는 2번 슬라이스가 모든 디스크 정보를 가지고 있는것 같다...







이제 양 디스크에 metadb 정보를 생성 해 주자.

# metadb -a -c 3 -f c0t0d0s7 c0t1d0s7

-c 3 의 옵션으로 각각 디스크당 3개씩 정보가 들어간다. ( <- 왜 이렇게 하는거지 ? )



잘 생성 되었는지 확인.

# metadb
        flags           first blk       block count
     a        u         16              8192            /dev/dsk/c0t0d0s7
     a        u         8208            8192            /dev/dsk/c0t0d0s7
     a        u         16400           8192            /dev/dsk/c0t0d0s7
     a        u         16              8192            /dev/dsk/c0t1d0s7
     a        u         8208            8192            /dev/dsk/c0t1d0s7
     a        u         16400           8192            /dev/dsk/c0t1d0s7





앞으로의 과정을 위해

일단 미러링의 이해와 참고를 위해 다음과 같은 표를 만들었다


+----+------------------+
| d0 | d10 ( c0t0d0s0 ) |
|    | d20 ( c0t1d0s0 ) |
+----+------------------+
| d1 | d11 ( c0t0d0s1 ) |
|    | d21 ( c0t1d0s1 ) |
+----+------------------+
| d3 | d13 ( c0t0d0s3 ) |
|    | d23 ( c0t1d0s3 ) |
+----+------------------+
| d4 | d14 ( c0t0d0s4 ) |
|    | d24 ( c0t1d0s4 ) |
+----+------------------+
| d5 | d15 ( c0t0d0s5 ) |
|    | d25 ( c0t1d0s6 ) |
+----+------------------+
| d6 | d16 ( c0t0d0s6 ) |
|    | d26 ( c0t1d0s6 ) |
+----+------------------+



d0 은 논리적인 하나의 디스크 이고, 그 아래에 있는 d10 과 d20 은 각각 마스터,세컨등의 하드디스크를 가리킨다.

d10 이 죽던 d20 이 죽던 OS 에서는 d0 이라는 하나의 디스크에 읽고 쓸 뿐인가...







# metainit -f d10 1 1 c0t0d0s0
d10: 連結/ストライプがセットアップされます

# metainit -f d11 1 1 c0t0d0s1
d11: 連結/ストライプがセットアップされます

# metainit -f d13 1 1 c0t0d0s3
d13: 連結/ストライプがセットアップされます

# metainit -f d14 1 1 c0t0d0s4
d14: 連結/ストライプがセットアップされます

# metainit -f d15 1 1 c0t0d0s5
d15: 連結/ストライプがセットアップされます

# metainit -f d16 1 1 c0t0d0s6
d16: 連結/ストライプがセットアップされます



마스터 디스크의 작업.

실제적인 슬라이스 0 부터 6번 까지를 ( 2번 제외. 2번은 안한다 )

미러링을 위해 d10 ~ d16 으로 지정해준다.



# metainit d20 1 1 c0t1d0s0
d20: 連結/ストライプがセットアップされます

# metainit d21 1 1 c0t1d0s1
d21: 連結/ストライプがセットアップされます

# metainit d23 1 1 c0t1d0s3
d23: 連結/ストライプがセットアップされます

# metainit d24 1 1 c0t1d0s4
d24: 連結/ストライプがセットアップされます

# metainit d25 1 1 c0t1d0s5
d25: 連結/ストライプがセットアップされます

# metainit d26 1 1 c0t1d0s6
d26: 連結/ストライプがセットアップされます



d20 시리즈들은 세컨더리 하드디스크의 슬라이스들을 연결한다.

디스크 자체는 실제 비어 있다. (파티션만 나눠져 있고)



# metainit d0 -m d10
d0: ミラーがセットアップされます

# metainit d1 -m d11
d1: ミラーがセットアップされます

# metainit d3 -m d13
d3: ミラーがセットアップされます

# metainit d4 -m d14
d4: ミラーがセットアップされます

# metainit d5 -m d15
d5: ミラーがセットアップされます

# metainit d6 -m d16
d6: ミラーがセットアップされます



이제, d10 ~ d16 과 d20 ~ d26 들을 대표하는 d0 ~ d6 에

d10 ~ d16을 연결 시켜주자.

d20 ~ d26는 나중에 한다.


# cp /etc/vfstab /etc/vfstab.beforesvm
# cp /etc/system /etc/system.beforesvm
※変更の前にバックアップをとっておくこと。



저 두개의 화일이 바뀔건데, 그 전에 백업을 받아 놓자.



# metaroot d0
※ /etc/vfstab や /etc/system の内容の一部が変更される。
  スライス0(/) 以外のとろこは変更されない為、vfstabの変更を行なう必要がある。



위 명령을 실행하면 /etc/vfstab 랑 /etc/system 화일의 내용이 바뀐다.

vfstab 는 부팅시에 마운트 될 슬라이스에 대한 정보가 담겨져 있는데

그중에



/dev/dsk/c0t0d0s0  /dev/rdsk/c0t0d0s0 ..... 부분이

/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -      .... 로 바뀐다.


하지만 나머지 슬라이스에 대한 정보는 그대로 남아있다.

그러므로 수동으로 바꿔줘야 한다.





# vi /etc/vfstab
次のように編集する
******************************************************************************
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
#/dev/dsk/c0t0d0s1      -       -       swap    -       no      -
/dev/md/dsk/d1  -       -       swap    -       no      -
/dev/md/dsk/d0  /dev/md/rdsk/d0 /       ufs     1       no      -
#/dev/dsk/c0t0d0s3      /dev/rdsk/c0t0d0s3      /usr    ufs     1       no      -
/dev/md/dsk/d3  /dev/md/rdsk/d3 /usr    ufs     1       no      -
#/dev/dsk/c0t0d0s4      /dev/rdsk/c0t0d0s4      /var    ufs     1       no      -
/dev/md/dsk/d4  /dev/md/rdsk/d4 /var    ufs     1       no      -
#/dev/dsk/c0t0d0s5      /dev/rdsk/c0t0d0s5      /db     ufs     2       yes     -
/dev/md/dsk/d5  /dev/md/rdsk/d5 /db     ufs     2       yes     -
#/dev/dsk/c0t0d0s6      /dev/rdsk/c0t0d0s6      /export/home    ufs     2       yes     -
/dev/md/dsk/d6  /dev/md/rdsk/d6 /export/home    ufs     2       yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -
******************************************************************************

원래 있던 애들을 주석을 달아버리고

그 밑에 새롭게 작성 했다.



이렇게 해서 리부팅 해 주면,

이제부터 d0 ~ d6 을 통해서 하드디스크에 억세스 하게 된다.





잠깐 바뀐 내용은 보자.


# diff /etc/vfstab /etc/vfstab.beforesvm
<
< #swap
< #/dev/dsk/c0t0d0s1    -       -       swap    -       no      -
< /dev/md/dsk/d1        -       -       swap    -       no      -
<
< #/
< #/dev/dsk/c0t0d0s0    /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
< /dev/md/dsk/d0        /dev/md/rdsk/d0 /       ufs     1       no      -
<
< #/usr
< #/dev/dsk/c0t0d0s3    /dev/rdsk/c0t0d0s3      /usr    ufs     1       no      -
< /dev/md/dsk/d3        /dev/md/rdsk/d3 /usr    ufs     1       no      -
<
< #/var
< #/dev/dsk/c0t0d0s4    /dev/rdsk/c0t0d0s4      /var    ufs     1       no      -
< /dev/md/dsk/d4        /dev/md/rdsk/d4 /var    ufs     1       no      -
<
< #/db
< #/dev/dsk/c0t0d0s5    /dev/rdsk/c0t0d0s5      /db     ufs     2       yes     -
< /dev/md/dsk/d5        /dev/md/rdsk/d5 /db     ufs     2       yes     -
<
< #/export/home
< #/dev/dsk/c0t0d0s6    /dev/rdsk/c0t0d0s6      /export/home    ufs     2       yes     -
< /dev/md/dsk/d6        /dev/md/rdsk/d6 /export/home    ufs     2       yes     -
<
---
> /dev/dsk/c0t0d0s1     -       -       swap    -       no      -
> /dev/dsk/c0t0d0s0     /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
> /dev/dsk/c0t0d0s3     /dev/rdsk/c0t0d0s3      /usr    ufs     1       no      -
> /dev/dsk/c0t0d0s4     /dev/rdsk/c0t0d0s4      /var    ufs     1       no      -
> /dev/dsk/c0t0d0s5     /dev/rdsk/c0t0d0s5      /db     ufs     2       yes     -
> /dev/dsk/c0t0d0s6     /dev/rdsk/c0t0d0s6      /export/home    ufs     2





그리고 나서 리부팅 한다.

lockfs -af 를 걸어주는 이유는... 모르겠다@


# lockfs -af && shutdown -y -g 0 -i 6
[...]




그다음엔 아까 d0~d6 에 안 붙였던 d20~d26 들을 붙여 준다.

이때 미러링의 재동기화가 시작 된다.



# metattach d0 d20
d0: サブミラー d20 is attached
# metattach d1 d21
d1: サブミラー d21 is attached
# metattach d3 d23
d3: サブミラー d23 is attached
# metattach d4 d24
d4: サブミラー d24 is attached
# metattach d5 d25
d5: サブミラー d25 is attached
# metattach d6 d26
d6: サブミラー d26 is attached


온전히 붙였는지는 다음과 같이 확인할 수 있다.

아직 재 동기화는 진행중이다.


# metastat -p
d6 -m d16 d26 1
d16 1 1 c0t0d0s6
d26 1 1 c0t1d0s6
d5 -m d15 d25 1
d15 1 1 c0t0d0s5
d25 1 1 c0t1d0s5
d4 -m d14 d24 1
d14 1 1 c0t0d0s4
d24 1 1 c0t1d0s4
d3 -m d13 d23 1
d13 1 1 c0t0d0s3
d23 1 1 c0t1d0s3
d0 -m d10 d20 1
d10 1 1 c0t0d0s0
d20 1 1 c0t1d0s0
d1 -m d11 d21 1
d11 1 1 c0t0d0s1
d21 1 1 c0t1d0s1




재 동기화는 다음과 같이 확인한다.

하드디스크의 용량에 따라 시간의 차는 있지만 꽤 오래 걸렸다.

재 동기화가 완료되면 두개의 디스크는 동일해 진다.



(따로 떼어네서 세컨더리 디스크 내용 살펴보면 원래 마스터에 들어있던 내용 그대로 이다.)


#  metastat | grep %
    再同期実行中: 1 % 完了
    再同期実行中: 0 % 完了
    再同期実行中: 3 % 完了
    再同期実行中: 4 % 完了
    再同期実行中: 4 % 完了
    再同期実行中: 3 % 完了
#





이후 덤프 재설정.

기본적으로 덤프는 스왑으로 지정 되 있는데

스왑도 현재는 /dev/dsk/c0t0s0d1 이 /dev/md/dsk/d1 로 바뀐 상황이라

이 처리도 해주자.


# rmdir /var/crash/*
# mkdir /var/crash/`hostname`
# chmod 700 /var/crash/`hostname`
# dumpadm -s /var/crash/`hostname` -d /dev/md/dsk/d1
      Dump content: kernel pages
       Dump device: /dev/md/dsk/d1 (swap)
Savecore directory: /var/crash/bento
  Savecore enabled: yes






다음은 부팅을 위한 설정이다.

여기까지만 해도 디스크의 자료 복원 시키는데는 문제가 없지만

마스터 디스크가 완전히 날아가 버렸을때 세컨더리만 가지고는 부팅이 되지 않는다.



# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t0d0s0
stage1 written to partition 0 sector 0 (abs 16065)
stage2 written to partition 0, 260 sectors starting at 50 (abs 16115)


솔라리스 10 에서는 installgrub 명령을 사용해야 하는듯.



에디터에서 다음을 추가 해 준다.


#vi /etc/system
* Begin MDD root info (do not edit)
rootdev:/pseudo/md@0:0,0,blk
set md:mirrored_root_flag=1
* End MDD root info (do not edit)





이후 ls 명령으로 다음을 확인한다.


# ls -l /dev/dsk/c0t0d0s0 /dev/dsk/c0t1d0s0
lrwxrwxrwx   1 root     root          73  9月  3日  10:40 /dev/dsk/c0t0d0s0 -> ../../devices/pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@0,0:a
lrwxrwxrwx   1 root     root          73  9月  4日  09:51 /dev/dsk/c0t1d0s0 -> ../../devices/pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/sd@1,0:a



확인한 내용을 바탕으로 다음을 실행한다.

# eeprom "nvramrc=devalias rootdisk /pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/disk@0,0:a devalias pci@0,0/pci8086,3597@4/pci8086,329@0/pci1014,26d@1/disk@1,0:a"
# eeprom "use-nvramrc?=true"
# eeprom boot-device="rootdisk rootmirror net"





위험한 실험? 이긴 하지만

이렇게해서 마스터 하드를 서버로 부터 뽑았다.



결과는..



성공했다.
[출처] solaris 10, software RAID1 구축 #2 - 미러링|작성자 jirumi

조회 수 :
1233
추천 수 :
12 / 0
등록일 :
2009.06.05
11:08:42 (*.236.3.225)
엮인글 :
http://bestceok.com/xe/index.php?mid=sun_faq&document_srl=3040&act=trackback&key=af3
게시글 주소 :
http://bestceok.com/xe/index.php?mid=sun_faq&document_srl=3040
List of Articles
번호 제목 글쓴이 날짜 조회 수
171 Fault Manager 사용 하록 2012-06-25 727
170 Fast Data Access MMU Miss 에러시... [1] 하록 2012-02-24 2174
169 디스크 부하율 체크 하록 2011-09-19 828
168 netapp 명령어 하록 2010-08-19 2838
167 Duplex 변경 방법... 하록 2010-05-11 1127
166 Duplex 변경 방법... [3] 하록 2010-07-05 1591
165 모니터 해상도 변경 하록 2009-08-25 1123
164 Crash Dump 분석 방법 하록 2009-08-25 2894
163 ftpaccess 파일 설명 하록 2009-08-06 2654
162 미러링 스크립트... 하록 2009-07-09 797
161 disksuite로 OS mirroring 되어있는데 복구하는 방법 하록 2009-06-05 1349
160 DiskSuite 설치 및 OS 미러구성 하록 2009-06-05 1288
» solaris 10, software 미러링... 하록 2009-06-05 1233
158 IPMP: IP Multipathing 설정방법 하록 2009-06-04 1575
157 단말기 폭 초과 메세지 발생시... 하록 2009-05-28 1029
156 StorEdge 체크 명령어 하록 2009-03-09 1720
155 PROXY 서버 SQUID 설치 하록 2008-11-14 991
154 Network Interface Device Name [1] 하록 2008-11-14 2678
153 System Time 오작동 시... 하록 2008-09-19 1343
152 소스로 APM 설치 하록 2008-05-27 965