저는 Sun Solaris 시스템에서 실행 중입니다.
나는 다음을 알고 싶다
- 마운트 지점과 연결된 하드 드라이브를 찾는 방법은 무엇입니까?
- 사용 가능한 모든 하드 드라이브(사용된 마운트 지점 및 사용되지 않은 마운트 지점)를 찾는 방법은 무엇입니까?
- 마운트 지점과 관련된 HD의 IO 컨트롤러 사용법을 찾는 방법은 무엇입니까? 마운트 지점과 연결된 HD의 IO 컨트롤러가 너무 많은 요청을 처리하여 일부 다른 요청을 기다리게 하는지 확인하려고 합니다.
- 사용 가능한 각 디스크에서 여유 공간을 찾는 방법은 무엇입니까?
답변1
마운트 지점 목록과 각 마운트 지점에서 사용되는 디스크를 찾습니다.
보기 /etc/vfstab
- 이 파일은 어떤 마운트 지점에서 어떤 디스크가 사용되는지를 포함하여 시스템에 구성된 파일 시스템을 표시합니다. 이 파일은 ZFS 파일 시스템에서 사용되지 않습니다.
# cat /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/c1t0d0s1 - - swap - no -
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no -
/dev/dsk/c1t1d0s0 /dev/rdsk/c1t1d0s0 /jumpserver ufs 1 yes -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
#/jumpserver/install/SunOS/5.10/i386/u4/boot - /tftpboot/I86PC.Solaris_10-4 lofs - yes ro
#/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-7 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u9/boot - /tftpboot/I86PC.Solaris_10-9 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - yes ro
명령 실행 zpool status
- 이 명령은 시스템에 구성되어 가져온 모든 zpool 목록을 인쇄하고 각 풀에 사용된 디스크, 미러링 또는 raidz 등의 측면에서 풀 구성이 무엇인지 나열합니다.
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c0t1d0s0 ONLINE 0 0 0
errors: No known data errors
명령을 실행하십시오 mount -p
- 이것이 당신을 보여줄 것입니다vfstab 스타일서버에 설치된 모든 파일 시스템 목록입니다. 중요한 점은 마운트되었지만 /etc/vfstab에 추가되지 않은 파일 시스템이나 지속되지 않는 마운트에 대한 변경 사항을 식별할 수 있다는 것입니다.
# mount -p
/dev/dsk/c1t0d0s0 - / ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/devices - /devices devfs - no
ctfs - /system/contract ctfs - no
proc - /proc proc - no
mnttab - /etc/mnttab mntfs - no
swap - /etc/svc/volatile tmpfs - no xattr
objfs - /system/object objfs - no
/usr/lib/libc/libc_hwcap1.so.1 - /lib/libc.so.1 lofs - no
fd - /dev/fd fd - no rw
swap - /tmp tmpfs - no xattr
swap - /var/run tmpfs - no xattr
/dev/dsk/c1t1d0s0 - /jumpserver ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/hgfs - /hgfs vmhgfs - no
/dev/lofi/1 - /mnt/s10u9x86 hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/2 - /mnt/s10u9x86ccd hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/3 - /mnt/s10u9 hsfs - no ro,noglobal,maplcase,rr,traildot
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - no ro
명령을 실행하면 cfgadm -al
시스템의 모든 컨트롤러 목록과 해당 컨트롤러에 연결된 모든 장치 목록이 제공됩니다.
# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c1 scsi-bus connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t1d0 disk connected configured unknown
명령 실행 format
- 시스템에 설치되어 있지 않은 모든 디스크의 세부 정보를 확인합니다 . 특히 하위 명령 및 을 cfgadm -al
기록해 두어야 합니다 .verify
inquiry
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@0,0
1. c0t1d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@1,0
2. c0t2d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@2,0
3. c0t3d0 <DEFAULT cyl 60478 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@3,0
Specify disk (enter its number):
예를 들어 0
위 메뉴에서 디스크를 선택하고 다음을 실행합니다 inquiry
.
format> inquiry
Vendor: ATA
Product: Hitachi HUA72202
Revision: A3HA
그리고 verify
:
format> verify
Primary label contents:
Volume name = < >
ascii name = <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
pcyl = 60799
ncyl = 60797
acyl = 2
bcyl = 0
nhead = 255
nsect = 252
Part Tag Flag Cylinders Size Blocks
0 root wm 1 - 60796 1.82TB (60796/0/0) 3906750960
1 unassigned wm 0 0 (0/0/0) 0
2 backup wm 0 - 60796 1.82TB (60797/0/0) 3906815220
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 - 0 31.38MB (1/0/0) 64260
9 unassigned wm 0 0 (0/0/0) 0
이제 제조사, 모델, 파티션 테이블이 생겼습니다. 여기에서 이전 명령으로 수집된 정보와 결합하여 사용 가능한 디스크/파티션(Solaris에서는 슬라이스라고 함) 및 해당 파일 시스템(있는 경우)의 맵을 구성할 수 있습니다. 또한 사용되지 않은 슬라이스(여유 공간)도 알 수 있습니다.
어떤 디스크가 사용 중인지에 대해서는 iostat
다음 명령이 수행됩니다.
# iostat -zxnM 5
extended device statistics
r/s w/s Mr/s Mw/s wait actv wsvc_t asvc_t %w %b device
0.0 29.3 0.0 0.5 0.0 2.2 0.0 76.7 0 33 c8t0d0
0.0 29.3 0.0 0.5 0.0 2.2 0.0 73.9 0 32 c8t1d0
어디:
r/s - Reads per second
w/s - Writes per second
Mr/s - Mbytes read per second
Mw/s - Mbytes written per second
wait - Average number of transactions that are waiting for service (queue length)
actv - Average number of transactions that are actively being serviced
svc_t - Average service time, in milliseconds
%w - Percentage of time that the queue is not empty
어떤 디스크에 무엇이 존재하는지 알게 되면 어떤 애플리케이션이 I/O를 유발하는지 파악하고 거기에서 원인을 드릴다운할 수 있습니다.
구글 검색솔라리스 iostat 브렌든 그레그다음을 포함하여 I/O 문제 조사에 대한 유용한 정보를 찾을 수 있습니다.K9 도구 키트그리고DTrace 툴킷는 각각 Solaris < 10 및 Solaris 10+에서 작동하며 I/O 문제 조사를 실제로 단순화할 수 있습니다.
답변2
iostat -En
사용 가능한 하드 드라이브와 사용 중인 하드 드라이브가 무엇인지 제공받았 습니까 ?
df -h /path/to/mountpoint/.
일반적으로 찾고 있는 모든 항목을 인쇄하고, 마운트 지점에서 사용 중인 하드 드라이브/장치를 인쇄하고 뒤에서 사용 가능한 여유 공간/사용 가능한 블록의 양을 제공합니다.