3.7. 데이터 저널링


Ordinarily, GFS2 writes only metadata to its journal. File contents are subsequently written to disk by the kernel's periodic sync that flushes file system buffers. An fsync() call on a file causes the file's data to be written to disk immediately. The call returns when the disk reports that all data is safely written.
특히 파일이 작을 경우, 파일 데이터는 메타 데이터 이외에 저널에 작성되므로, 데이터 저널링으로 fsync() 시간을 감소시킬 수 있습니다. 데이터가 저널에 작성되는 데로 fsync()가 반환되어, 결과적으로 주 파일 시스템에 파일 데이터를 작성하는 데 소요되는 시간보다 더 빠르게 될 수 있습니다.
파일 데이터를 동기화하기 위해 fsync()에 의존하는 어플리케이션은 데이터 저널링 사용으로 인해 성능이 향상되었음을 확인할 수 있습니다. 플래그된 디렉토리 (및 모든 하부 디렉토리)에 생성된 데이터 GFS2 파일에 대해 저널링은 자동으로 활성화될 수 있습니다. 0 값을 갖는 기존 파일은 데이터 저널링을 활성화 또는 비활성화시킬 수 있습니다.
Enabling data journaling on a directory sets the directory to "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. You can enable and disable data journaling on a file or a directory with either of the following methods:
  • 파일 또는 디렉토리에 chattr +j 또는 chattr -j 명령 실행
  • gfs2_tool setflag 또는 gfs2_tool clearflag 명령과 함게 파일 또는 디렉토리에 jdata 플래그 설정 또는 삭제
chattr 명령을 사용하는 것은 파일 또는 디렉토리에서 데이터 저널링을 활성화 및 비활성화하기 위해 선호되는 방식입니다.

3.7.1. chattr 명령으로 데이터 저널링 활성화 및 비활성화

chattr 명령을 사용하여 파일에 데이터 저널링을 활성화 및 비활성화할 수 있습니다. 다음의 명령으로 /mnt/gfs2/gfs2_dir/newfile 파일에 있는 데이터 저널링을 활성화한 후 플래그가 올바르게 설정되어 있는 지를 확인합니다.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
다음의 명령으로 /mnt/gfs2/gfs2_dir/newfile 파일에 있는 데이터 저널링을 비활성화한 후 플래그가 올바르게 설정되어 있는 지를 확인합니다.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
디렉토리에 j 플래그를 설정하기 위해 chattr를 사용할 수 있습니다. 디렉토리에 이러한 플래그가 설정되어 있을 때, 결과적으로 디렉토리에 생성된 모든 파일 및 디렉토리는 저널링됩니다. 다음의 명령은 gfs2_dir 디렉토리에 j 플래그를 설정하고, 플래그가 올바르게 설정되어 있는 지를 확인합니다. 그 후, 이러한 명령은 /mnt/gfs2/gfs2_dir 디렉토리에 newfile이라는 새 파일을 생성한 후 파일에 j 플래그가 설정되었는 지를 확인합니다. 디렉토리에 j 플래그가 설정된 후, newfile에 대한 저널링을 활성화해야 합니다.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.