I/O 튜닝의 목적


파일 시스템은 모든 unix환경의 필수적인 요소로서 파일저장, 검색하는 메커니즘을 제공하며 복수의 파일들을 명명하는 계층적 디렉토리 구조를 제공한다.

• IO Tuning중 ufs file system을 통한 성능 향상에 목적을 둔다.

• Unix 시스템들은 모든 데이터들을 파일화 하는 핵심 기능을 가진다.

• file system의 IO Tuning은 시스템 전체에 성능상 큰 영향을 미친다.

• File system의 I/O 성능을 좋게 하기 위한 방법을 제시한다.


 


Vnode Interface란 무엇인가?


• 다양한 파일시스템에 대한 구조체 제공

• 여러 종류의 파일 시스템에 대하여 같은 시스템 호출 인터페이스 사용

• 서로 다른 파일 시스템이 하나의 계층적 논리적인 디렉토리 목록으로 사용 가능하도록 제공

• Vnode ( virtual node )는 하나의 파일을 나타냄

• 다수의 파일시스템을 동시에 제공

• 디스크 파티션마다 파일 시스템 타입이 다를 수 있다.
  – 이들이 서로 마운트 된 후에는 단일 균질 파일 시스템으로 보여짐

• 네트워크 상에서 파일 공유를 지원한다.

• 새로운 파일 시스템 타입을 쉽게 생성 추가 가능하다.


 



 


UFS file system 소개


• unix에서 사용하는 disk-based file system

• 사용자나 시스템이 접근하는 파일이나 디렉토리를 저장


 



 


UFS File System Structure


• Ufs file system Structure
    – Disk Label
    – Boot Block
    – Super block
    – Backup Super block
    – Cylinder groups
    – I-node
    – shadow i-node
    – Data block


 



• Disk Label
    – VTOC ( Volume Table of Contents ): 파티션정보
    – Disk의 파티션 (슬라이스)식별 정보 등을 포함 : slice 경계, slice 크기
    – Disk의 첫 번째 섹터에 존재

• Boot Block
    – Bootblk program 저장
    – 1-15 sector에 존재

• Superblock
    – file system에 대한 정보를 저장
    – 16~31 sector
    – data block의 수
    – cylinder group의 수
    – data block크기와 fragment의 수
    – mount point 이름
    – file system 상태 플래그


• Cylinder Groups
    – Backup Superblock, Cylinder Groups, inode테이블, data block으로 구성

• Backup Superblock
    – super block의 backup
    – Superblock이 깨질 경우 이를 복구하기 위해 사용되어진다.
    – 각 cylinder group당 하나씩 존재
    – 첫 번째 backup block는 32sector부터 시작


• 구성요소
    – Backup super block
    – Cylinder group block
    – inode 의 수, cylinder group에서 data block의수, 디렉토리 수
    – free block, free inode, free fragment, free block map
    – 사용중인 inode map
    – Inode table
    – data block에 대한 위치 정보
    – Data block
    – data의 실제 저장소
    – 8kbyte 단위

• Cylinder Group Block
    – Inode, data block, cylinder group등에 대한 정보와 사용 가능한 자원, 사용되어진 자원 정보등을 요약 포함한다.
    – disk 접근 속도 향상
    – 최소 16개의 cylinder로 구성


• Inode tables
    – File type
    – Permission
    – link count
    – Owner
    – Group
    – Size
    – time등의 정보를 포함한다.

• 128byte size


Structure of a ufs Inode



 


• Data Blocks
    – Data 저장을 위한 공간

• Data block
    – 실제 Data가 저장되는 곳
    – 8Kbyte단위

• Fragmentation


 



• 8kbyte 크기의 블록은 아주 작은 파일들에 의하여 공간 낭비를 초래한다.

• ufs는 데이터 블럭을 잘게 나누어 할당할 수 있는데 이를 조각화(단편화 : fragment)라 한다.

• Fragment는 공간 절약을 위하여 사용된다.

• Fragment Rule
    – 파일의 마지막 블록에서만 fragment
    – 96Kbyte보다 큰 파일들은 fragment를 할 수 없다
    – fragment는 블록 안에서 연속적이어야 한다.


 


 


 


 


 

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다