DATA 전문가로 가는 길

[Unix/Linux] Solaris - Hard Disk 추가 및 구성 본문

OS/Fundamental

[Unix/Linux] Solaris - Hard Disk 추가 및 구성

EstenPark 2010. 12. 3. 04:09
작성자 : 박상수
작성일자 : 2010.12.03
작업환경 : VMware7 [ Solaris 9 ]


1. Slice(parttion) 개요 

- Cylinder의 그룹
- 0~7번 Slices로 구성
- Slice 2는 전체 Disk를 표현(수정불가)
    * Cylinder의 총개수
- Benefit
    * Data의 조직화
    * File Access 속도 감소
    * I/O performance 향상

2. Disk Slice Naming Convention 

 



3. 리부팅 하지 않고 Hard 추가 방법 

[설명]  Solaris에서 인식한 하드 확인
 [root@estenpark:/]
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0d0 <DEFAULT cyl 44381 alt 2 hd 15 sec 63>
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
Specify disk (enter its number): ^D

[설명]  하드디스크 추가 합니다. VMware에서 하드를 2기가 추가하도록 하겠습니다. 아래 그림과 같이 수행 하시면 됩니다.


[설명]  명령어를 이용하여 장치를 인식하게 합니다. 보통의 경우 아래와 같이 명령어를 사용하여 인식하게 하는 방법을 많이 쓴다고 합니다. 재부팅 하게 되면 DB 서버나 WAS 서버를 모두 종료 후 내려야 하기 때문입니다.
[root@estenpark:/]
# devfsadm

[설명]  원래는 0번 하드디스크만 있었지만 devfsadm 명령어를 수행하면 1번 하드디스크를 인식 시킬 수 있습니다.
추가한 디스크를 선택 합니다.(1)
[root@estenpark:/]
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
       0. c0d0 <DEFAULT cyl 44381 alt 2 hd 15 sec 63>
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
       1. c2t0d0 <DEFAULT cyl 1021 alt 2 hd 128 sec 32>
          /pci@0,0/pci15ad,1976@10/sd@0,0
Specify disk (enter its number): 1
[설명]  Disk Slice name을 반드시 기억 하시기 바랍니다. /dev/dsk/ 디렉토리에 파일이 생성 됩니다.
selecting c2t0d0
.. 생략 ..

[설명]  fdisk를 생성하지 않고 parttion을 하게 되면 에러가 발생 됩니다. 반드시 fdisk를 수행 후 parttion을 하시기 바랍니다.
format> fdisk
No fdisk table exists. The default partition for the disk is:
  a 100% "SOLARIS System" partition
Type "y" to accept the default partition, otherwise type "n" to edit the
partition table.
y

[설명]  part는 parttion의 약어로 사용 가능합니다.
format> part
.. 생략 ..

[설명]  0번 Slice를 선택 합니다.
partition> 0
[설명]  이부분은 파티션 id를 의미하며 가급적이면 설정 하지 마세요. Enter
Enter partition id tag[unassigned]:
[설명]  wm(read/write mount), wu(read/write unmount), rm(read/only mount), ru(read/only unmount) 네 가지 종류가 있으며 기본적으로 설정되는 wm을 선택 하겠습니다. Enter
Enter partition permission flags[wm]:
[설명]  실린더의 번호를 넣습니다. 처음 시작하면 0부터 시작 하기때문에 Enter
Enter new starting cyl[0]:
[설명]  용량을 mb단위로 적습니다.
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 200mb
[설명]  파티셔닝을 한 내역을 보겠습니다.
partition> print
  Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       0 -   99      200.00MB    (100/0/0)   409600
.. 생략 ..

[설명]  1번 Slice를 선택 하고 위와 동일합니다.
partition> 1
Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
[설명]  굉장히 중요한 부분입니다. 이것은 Cylinders의 이전 번호 마지막 번호가 99라면 100을 설정 합니다.
Enter new starting cyl[0]: 100
Enter partition size[0b, 0c, 100e, 0.00mb, 0.00gb]: 300mb
partition> print
  Part      Tag    Flag     Cylinders        Size            Blocks
  1 unassigned    wm     100 -  249      300.00MB    (150/0/0)   614400
.. 생략 ..

[설명]  3번 Slice를 선택 하고 위와 동일합니다.
여기에서 2번 Slice를 선택 하지 않은 이유는 기본적으로 backup tag가 사용하고 있으며 변경 해서는 안됩니다.
partition> 3
Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 250
Enter partition size[0b, 0c, 250e, 0.00mb, 0.00gb]: $          // 남은 공간 모두 사용함
partition> print
  Part      Tag    Flag     Cylinders        Size            Blocks
  3 unassigned    wm     250 - 1019        1.50GB    (770/0/0)  3153920

[설명]  재부팅 해도 사용할 수 있게 저장합니다.
partition> label
Ready to label disk, continue? yes

[설명]  작업 종료
partition> quit
format> quit

[설명]  그럼 위에서 기억하라고 했던 Disk Slice name를 이용해서 제대로 적용 되었는지 확인 하겠습니다.
[root@estenpark:/]
# ls /dev/dsk/c2t0d0*
/dev/dsk/c2t0d0p0@   /dev/dsk/c2t0d0s10@  /dev/dsk/c2t0d0s3@
/dev/dsk/c2t0d0p1@   /dev/dsk/c2t0d0s11@  /dev/dsk/c2t0d0s4@
/dev/dsk/c2t0d0p2@   /dev/dsk/c2t0d0s12@  /dev/dsk/c2t0d0s5@
/dev/dsk/c2t0d0p3@   /dev/dsk/c2t0d0s13@  /dev/dsk/c2t0d0s6@
/dev/dsk/c2t0d0p4@   /dev/dsk/c2t0d0s14@  /dev/dsk/c2t0d0s7@
/dev/dsk/c2t0d0s0@   /dev/dsk/c2t0d0s15@  /dev/dsk/c2t0d0s8@
/dev/dsk/c2t0d0s1@   /dev/dsk/c2t0d0s2@   /dev/dsk/c2t0d0s9@

[설명]  포멧 작업을 하겠습니다. 파일 시스템은 ufs(Unix File System)으로 만들어 집니다.
[root@estenpark:/]
# newfs /dev/dsk/c2t0d0s0
newfs: construct a new file system /dev/rdsk/c2t0d0s0: (y/n)? y
/dev/rdsk/c2t0d0s0:     409600 sectors in 100 cylinders of 128 tracks, 32 sectors
        200.0MB in 7 cyl groups (16 c/g, 32.00MB/g, 15360 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 65600, 131168, 196736, 262304, 327872, 393440,

[설명]  포멧 작업을 하겠습니다. 파일 시스템은 ufs(Unix File System)으로 만들어 집니다.
[root@estenpark:/]
# newfs /dev/dsk/c2t0d0s1
newfs: construct a new file system /dev/rdsk/c2t0d0s1: (y/n)? y
/dev/rdsk/c2t0d0s1:     614400 sectors in 150 cylinders of 128 tracks, 32 sectors
        300.0MB in 10 cyl groups (16 c/g, 32.00MB/g, 15360 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 65600, 131168, 196736, 262304, 327872, 393440, 459008, 524576, 590144,

[설명]  포멧 작업을 하겠습니다. 파일 시스템은 ufs(Unix File System)으로 만들어 집니다.
[root@estenpark:/]
# newfs /dev/dsk/c2t0d0s3
newfs: construct a new file system /dev/rdsk/c2t0d0s3: (y/n)? y
/dev/rdsk/c2t0d0s3:     3153920 sectors in 770 cylinders of 128 tracks, 32 sectors
        1540.0MB in 34 cyl groups (23 c/g, 46.00MB/g, 11264 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 94272, 188512, 282752, 376992, 471232, 565472, 659712, 753952, 848192,
 2261792, 2356032, 2450272, 2544512, 2638752, 2732992, 2827232, 2921472,
 3015712, 3109952,

[설명]  파일 시스템은 ufs(Unix File System)으로 만들어 졌는지 확인 합니다.
[root@estenpark:/]
# fstyp /dev/dsk/c2t0d0s0
ufs
[root@estenpark:/]
# fstyp /dev/dsk/c2t0d0s1
ufs
[root@estenpark:/]
# fstyp /dev/dsk/c2t0d0s3
ufs

[설명]  Disk를 디렉토리에 할당하기 위해서 디렉토리를 구성하고 마운트 작업을 진행 합니다.
[root@estenpark:/]
# mkdir /disk1 /disk2 /backup
[root@estenpark:/]
# mount -F ufs /dev/dsk/c2t0d0s0 /disk1
[root@estenpark:/]
# mount -F ufs /dev/dsk/c2t0d0s1 /disk2
[root@estenpark:/]
# mount -F ufs /dev/dsk/c2t0d0s3 /backup

[설명]  아래와 같이 정상적으로 마운트가 되었다면 모두 성공 하신 겁니다.
[root@estenpark:/]
# df -h
Filesystem             size   used  avail capacity  Mounted on
.. 생략 ..
/dev/dsk/c2t0d0s0      187M   1.0M   167M     1%    /disk1
/dev/dsk/c2t0d0s1      281M   1.0M   252M     1%    /disk2
/dev/dsk/c2t0d0s3      1.5G   1.5M   1.4G     1%    /backup



4. 재부팅 이후 hard 추가 방법  
[설명] 첫번째 방법은 /root 홈디렉토리에 reconfigure 빈파일을 생성하면 부팅 할때 장치를 읽고 OS를 구동 시킵니다.
[root@estenpark:/]
# touch /reconfigure

[설명] 두번째 방법은 명령어를 이용해서 장치를 인지 할 수 있습니다.
[root@estenpark:/]
# reboot -- -r

[설명] 세번째 방법은 솔라리스 전용 키보드를 이용하는 방법입니다.
ok boot -r -> PROM

장치 인식이 완료되면 작업은 3번과 동일 합니다.


윈도우는 C드라이브, D드라이브
리눅스는 /dev/sda, /dev/sdb
솔라리스는 /dev/dsk/c#t#d#s# 또는 /dev/dsk/c#d#s#


솔라리스는 sparc-IDE와 x86-IDE 많은 차이점이 발생 됩니다. x86은 일반 컴퓨터로 사용하기 위한 방법으로 스카시 카드가 필요 없기 때문입니다. 하지만 sparc 서버 같은 경우에는 스카시 카드 -> 케이블 -> 각각의 디스크로 구성 되어있기 때문입니다.



Comments