강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

파일시스템생성시 블록크기(Block size) 지정하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

파일시스템생성시 블록크기(Block size) 지정하기





 

파일시스템에 있어 물리적인 입출력단위가 되는 것이 블록(block)입니다.

 

 

 

 시스템의 하드웨어적인 특성에 따라서 블록(block)의 크기가 디스크 입출력속도에 많은 영향을 주게 됩니다.

 

 

 

 

mke2fs로 파일시스템을 생성할 때에 별도의 블록크기를 지정해주지 않는다면 mke2fs는 자동으로 블록크기를 정하여 작업을 하게 됩니다.

 

 

 

 

 

하지만, -b옵션을 사용하시면 파일시스템 생성시에 블록의 크기를 직접 지정할 수 있습니다.

 

 

 

 여기서 지정하는 블록크기란 한 블록의 크기를 몇bytes로 할 것인가를 의미합니다.

 

 

 

여기서 선택할 수 있는 단위는 bytes단위로서 1024bytes, 2048bytes 그리고 4096bytes중 하나를 선택해서 지정할 수 있습니다.

 

 

 

그리고 블록크기를 별도로 지정하지 않으면 4096bytes로 기본 지정됩니다.

 

 

 

 

 

블록(block)이란 실제 물리적인 입출력의 기본 단위가 되는 것으로서 블록크기가 클수록 데이터입출력속도는 높아지지만 디스크 공간가용성은 떨어집니다.

 

 

 

반대로 블록크기가 작을수록 입출력속도는 떨어지지만 디스크 공간가용성은 좋아집니다.

 

 

 

어떤 것을 선택하는가는 전적으로 여러분들의 선택이겠지만, 현재 관리하시는 시스템의 용도에 따라서 선택하시는 것이 좋을 것입니다.

 

 

 

 

 

다음 예는 /dev/sdb1에 대해서 ext4타입의 파일시스템을 생성하면서 한 블록의 크기를 1024byte(-b 1024)로 생성한 것입니다.

 

 

 

아래의 결과에서 보시면 진하게 표시된 부분에 “Block size”라는 항목의 값으로 1024로 설정된 것을 확인할 수 있습니다.

 

 

 

 

 

[root@su250 ~]# mke2fs -t ext4 -b 1024 /dev/sdb1

mke2fs 1.41.3 (12-Oct-2008)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

655360 inodes, 10482380 blocks

524119 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=77594624

1280 block groups

8192 blocks per group, 8192 fragments per group

512 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,

        1024001, 1990657, 2809857, 5120001, 5971969

 

Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 21 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@su250 ~]#

 

 

다음 예는 /dev/sdb1에 대해서 ext4타입의 파일시스템을 생성하면서 한 블록의 크기를 2048byte(-b 2048)로 생성한 것입니다.

 

 

 

아래의 결과에서 보시면 진하게 표시된 부분에 “Block size”라는 항목의 값으로 2048로 설정된 것을 확인할 수 있습니다.

 

 

 

 

 

[root@su250 ~]# mke2fs -t ext4 -b 2048 /dev/sdb1

mke2fs 1.41.3 (12-Oct-2008)

Filesystem label=

OS type: Linux

Block size=2048 (log=1)

Fragment size=2048 (log=1)

655360 inodes, 5241190 blocks

262059 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=542113792

320 block groups

16384 blocks per group, 16384 fragments per group

2048 inodes per group

Superblock backups stored on blocks:

        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,

        2048000, 3981312

 

Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 27 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@su250 ~]#

 

그리고 다음은 /dev/sdb1에 대해서 ext4타입의 파일시스템을 생성하면서 한 블록의 크기를 4096byte(-b 4096)로 생성한 것입니다.

 

 

 

아래의 결과에서 보시면 진하게 표시된 부분에 “Block size”라는 항목의 값으로 4096로 설정된 것을 확인할 수 있습니다.

 

[root@su250 ~]# mke2fs -t ext4 -b 4096 /dev/sdb1

mke2fs 1.41.3 (12-Oct-2008)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

655360 inodes, 2620595 blocks

131029 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2684354560

80 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

 

Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 35 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@su250 ~]#

 

물론, -b옵션을 사용하지 않았다면 블록크기는 기본값으로 4096bytes단위로 설정될 것입니다.

 

 

 

이것은 /etc/mke2fs.conf 설정파일의 설정 값이기 때문입니다.

 

 

 

 

 

만약 이미 생성하여 사용중인 특정 파일시스템에 대한 블록크기를 확인하고자 한다면 다음과 같이 확인하십시오. , 조금 전에 포맷하였던 /dev/sdb1파일시스템에 대한 블록크기를 확인하는 방법은 다음과 같습니다.

 

 

 

 

 

[root@su250 ~]# dumpe2fs /dev/sdb1 | grep "Block size"

dumpe2fs 1.41.3 (12-Oct-2008)

Block size:               4096

[root@su250 ~]#

 

이상으로 블록크기를 지정하여 포맷하는 여러 가지 방법들과 특정 파일시스템의 블록크기를 확인하는 방법에 대해서 알아보았습니다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,848 개
  • 현재 접속자 :  100 명