HP-UX

fsadm의 fragmentation관련 내용

 
bong-seok kim
조언자

fsadm의 fragmentation관련 내용

아래내용으로 돌렸는데

결과값을 누가 해석 좀 해주세요

뭔말인지?



fsadm -F vxfs -D -E /crash



Directory Fragmentation Report

Dirs Total Immed Immeds Dirs to Blocks to

Searched Blocks Dirs to Add Reduce Reduce

total 396 96 305 0 0 0



Extent Fragmentation Report

Total Average Average Total

Files File Blks # Extents Free Blks

1428 147 1 4907302

blocks used for indirects: 0

% Free blocks in extents smaller than 64 blks: 0.00

% Free blocks in extents smaller than 8 blks: 0.00

% blks allocated to extents 64 blks or larger: 98.46

Free Extents By Size

1: 2 2: 2 4: 0

8: 8 16: 10 32: 0

64: 1 128: 0 256: 0

512: 0 1024: 0 2048: 0

4096: 0 8192: 1 16384: 1

32768: 1 65536: 0 131072: 1

262144: 2 524288: 2 1048576: 1

2097152: 1 4194304: 0 8388608: 0





그리고 한 block사이즈가 얼마져?

이것이 newfs시 사용한 block 사이즈인가여?

그리고 free,엣 smaller than 64, 8, 64 larger가 있던데

그리고 꼭 on-line JFS가 있어야 되나여ㅓ?

umount해서 defragementation하면 안되나여?



누가 설명 좀 부탁합니다.

감사합니다.

1 응답 1
이연주
정기 조언자

fsadm의 fragmentation관련 내용

안녕하세요.



먼저 Directory Fragment Report결과에 보시면 각 항목에 대한 자세한 설명은 man page를 참조해보시면 나와있습니다. 결과만 말씀드리자면

report 결과에서 directory의 fragment를 나타내는 척도가

Immeds to Add , Dir to reduce , Blocks to reduce 이 세가지 항목이고 fragment화가 심할수록 이 세가지 항목의 값이 높습니다. defragment를 하고 나면 이 항목들의 값이 떨어집니다(보통은 0이 됩니다).

directory의 defragment의 의미는 directory에서 사용중인 inode는 좀더 빠른 엑세스를 위해서 앞쪽으로 이동(즉 앞쪽으로 모는거고 뒤쪽은 빈 entry들만 남기는 거죠)시키는 겁니다.



두번째 Extent Defragment Report 결과를 보면

연속적인 block단위가 Extent고 Veritas file system에서는 block들의 빠른 엑세스를 위해서 extent단위(연속적인 block들)로 I/O를 수행합니다. file system을 처음 만들고 file들이 생성될때는 file들에 활당된 block들이 연속적으로 할당됩니다. 그러다가 어떤 file들이 삭제되면

그 파일들이 차지하고 있던 block들은 free block이 되고 이때 다른 file이 생성되면 이전 파일에 할당되었다가 free상태인 block이 다시 새로운 파일에 할당됩니다. 근데 여기서 새로생긴 file이 차지하는 block들이 이전 삭제된 file이 차지하고 있던 block보다 많이 차지하게되면 다른 free block이 할당되게 되고 이렇게 되면 이 파일은 여러개의 extent로 이루어 지게 됩니다. 즉 file들이 하나의 extent로 할당되지 못하고 여러개의 extent로 할당되는 현상을 fragment화 한다고 합니다.

결론을 말씀드리자면 이 세항목을 보시면 됩니다.



% Free blocks in extents smaller than 64 blks: 0.00



-extent를 이룰수 있는 free block수가 64개 미만인 비율



% Free blocks in extents smaller than 8 blks: 0.00



-extent를 이룰수 있는 free block수가 8개 미만인 비율



% blks allocated to extents 64 blks or larger: 98.46



- 64개 이상의 block으로 이루어진 extent의 비율



즉 fragment화가 심하면 첫번째 와 두번째의 비율이 높고 세번째의 비율이 낮습니다. defragment를 하게되면

첫번째와 두번째의 비율은 낮아지고 세번째의 비율이 높아지겟죠



그리고 Free Extents By Size 이 항목은

1개의 block으로 이루어진 extent수,2개의 block으로 이루어진 extent수,4개의 block으로 이루어진 extent수,..........를 나타냅니다.

extent의 할당되는 block의 수는 2의 배수입니다.



그리고 block size는 file system의 크기에 따라서 default block 사이즈는 달라지게 됩니다.



defragment 기는은 on line JFS가 있어야 이용할 수 있는 기능이고



defragment를 가장 확실하게 하는 방법은 file system data 모두 백업받고 file system 다시 생성하고 백업받은 data를 다시 restore하게 되면은 완벽한 defragment가 되겟죠 ^^