솔라리스에서 디스크를 추가하면 한 디스크당 슬라이스 8개(0~7)로 나뉘는데 이 중 2번 슬라이스는 디스크 전체 총량을 나타내는 것으로 절대 건드리면 안된다.
IDE타입 장치는 최대 4개까지 추가 가능(CDROM 포함)
SCSI타입 장치는 SCSI Card(RAID Card)를 필요시 꽂아주면 계속 추가 가능


◆ 디스크 슬라이스 이름 규칙
솔라리스에서는 디스크의 논리적 이름을 8자(c#t#d#s#)로 구성한다. IDE의 경우는 t#가 빠진다.
모든 솔라리스 시스템의 c0t0d0s0에는 루트 파티션의 정보 즉 MBR이 들어있다.

c : controller name
  c0, c1, c2

t : target number
  t0, t1, t2

d : disk number
  d0, d1, d2

s : slice number
  s0, s1, s2
c0t0d0s0
c0d2s0
컨트롤러0번의 타겟0번의 첫번째 디스크의 첫번째 슬라이스
컨트롤러0번의 세번째 디스크의 첫번째 슬라이스



◆ 장치 파일 타입

◇ Logical device names
  - /dev
  - /devices 디렉토리의 심볼릭 링크
  - controller no, target no, disk no, slice no
  - /dev/dsk => block device     // mount, swap
  - /dev/rdsk => raw device     // newfs, fsck

◇ Physical device names
  - /devices
  - 플랫폼마다 다른 device tree를 가짐
  - nodename@address

◇ Instance names
  - shortened name
  - sdx(scsi hdd, cdrom), dadx(hdd), cmdk(hdd)


* Raw device : OS를 거치지 않고 응용프로그램에서 바로 디스크로 내려쓰고, 디스크에서 바로 응용프로그램으로 데이터를 불러옴(직접 I/O)


윈도에서 컴퓨터에서 무슨 장치가 꽂혀있는지는 장치관리자를 통해 알 수 있다.
리눅스와 솔라리스는 무슨 장치가 꽂혀있는지 관련 정보를 파일(/etc/path_to_inst)에 저장해 둔다.

■ /etc/path_to_inst
부팅시에 Read
커널에서 사용가능한 device 확인
커널에 의해서 관리(루트라 해도 이 파일은 건들지 말라)
Physical device name + instance name으로 구성


■ prtconf
시스템 정보를 표시해주는 명령어

# prtconf | grep -v not
-v : not은 지금 현재 안쓰고 있는 장치를 뜻하며, v옵션은 제외하라는 뜻임.
위 명령은 지금 현재 시스템에서 쓰지 않는 장치는 제외하고 보여달라는 것.



◆ Reconfiguring devices

□ Rebooting 설정(장비 끄고 하는 것)
# touch /reconfigure
  ↓
# init 5
  ↓
Device 설치
  ↓
전원 켬
  ↓
# prtconf
/reconfigure파일이 있으면 시스템이 디스크 하나가 새로 추가되었나보다 라고 생각한다.


□ Don't rebooting 설정(장비 안끄고 하는 것)
/dev와 /devices 디렉토리 동기화
/etc/path_to_inst 파일 업데이트
# devfsadm {-c disk -c tape}
# devfsadm {-i dad} {-i sd}
# devfsadm -v
-v : 추가된 장치가 어떤 것인지 보여달라.
dad : IDE 타입 디스크
sd : SCSI 타입 디스크
위 명령은 하드웨어 추가된 것이 있는지 없는지 확인해서 위의 파일을 업데이트 함.



■ Disk Label
VTOC(Volume Table Of Contents) : 윈도의 MBR과 같음. 디스크별로 존재함.
디스크에 대한 정보를 가지고 있음. 예를 들어 disk controller 정보, disk 구조 정보, slice 정보, partition table 정보
디스크의 첫번째 섹터에 저장.

□ 포맷 명령어 안에서 디스크의 상태 확인
format> verify

□ 포맷 명령어 안들어가고 디스크의 상태 확인(현재 VTOC 안의 내용을 보여줌)
# prtvtoc /dev/rdsk/c0t0d0s2
첫번째 디스크의 2번 슬라이스라고 했지만, 여러 슬라이스들이 같은 디스크에서 나눠졌다면 prtvtoc명령의 결과는 동일하다. VTOC는 디스크별로 존재하기 때문임.
# prtvtoc /dev/rdsk/c0d0s0
# prtvtoc /dev/rdsk/c0d0s1
위 설명과 동일함.



[문제] 다음 중 성격이 다른 하나는? 3
1. newfs
2. fsck
3. mount
4. prtvtoc

[해설] 나머지는 /dev/rdsk인데, 3번 mount만 /dev/dsk이다.
Posted by 겨울섬
,