EXT2, EXT3, EXT4 파일시스템의 예약된 블럭에 대한 글이다.

 

RHEL 7 부터는 XFS 파일시스템이 기본이 되었다. EXT 파일시스템은 최대 볼륨 사이즈의 제약, 불필요한 예약 공간 등의 단점이 있다.

리눅스에서 EXT4 파일시스템으로 파일시스템을 생성(포맷)을 하면 기본적으로 5%의 예약된 공간으로 인해 root 외의 사용자는 할당된 용량의 95%만 사용이 가능하다.

이것은 성능과 관련이 있다. 즉, 단편화에 대한 성능저하 이슈를 없애기 위한 방편인데, 성능보다는 저장공간이 더 필요하다면 조정할 수 도 있다.

 

예약 공간 확인

iSCSI 외장스토리지 40G 를 할당하여 LVM 구성 후 ext4 파일시스템으로 생성하고 해당 볼륨의 예약된 블럭의 크기를 확인 했다.

[root@cs-node02 ~]# tune2fs -l /dev/vg00/share | grep 'Reserved block'
Reserved block count: 488243
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)

 

해당 볼륨의 파일시스템 디스크 공간 사용량 확인

[root@cs-node02 ~]# df -k | head -1 && df -k | grep share
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg00-share 38446576 292952 36200652 1% /share

 

예약 공간 조절

5% 예약된 볼륨의 값을 줄이기 위해서는 아래와 같이 실행한다. 해당 설정은 볼륨이 온라인인 상태에서도 가능하다.

[root@cs-node02 ~]# tune2fs -r 51200 /dev/vg00/share

--> 4096 byte * 51200  size 만큼만 예약 공간으로 두는 설정

또는

[root@cs-node02 ~]# tune2fs -m 1 /dev/vg00/share

--> 해당 볼륨의 예약공간을 1% 만큼만 할당을 한다.

또는

[root@cs-node02 ~]# mkfs.ext4 -m 1 /dev/vg00/share

-->  파일시스템을 생성하면서 부터 1% 만 예약 공간으로 설정할 수도 있다.

 

* 참고로 EXT 파일시스템 예약공간은 기본적으로 root만 사용할 수 있고, 예약공간을 사용할 수 있는 유저를 root에서 다른 유저로 바꿀 수도 있다.

 

아래는 관련된 레드햇의 문서이다.

Why does the output of df show 5% less free space than is physically present on a freshly formatted filesystem?

https://access.redhat.com/solutions/1189733

https://access.redhat.com/solutions/2076

 

EXT filesystem 5% Reserved block count

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다