Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3장. XFS 파일 시스템

XFS는 원래 Silicon Graphics, Inc.에서 설계된 확장성이 뛰어난 고성능 파일 시스템입니다. XFS는 Red Hat Enterprise Linux 7의 기본 파일 시스템입니다.
XFS의 주요 기능
  • XFS는 더 빠른 충돌 복구를 용이하게 하는 메타데이터 저널링 을 지원합니다.
  • XFS 파일 시스템은 마운트된 활성 상태에서 조각 모음 및 확대될 수 있습니다.
  • 또한 Red Hat Enterprise Linux 7은 XFS와 관련된 백업 및 복원 유틸리티를 지원합니다.
할당 기능
XFS에는 다음과 같은 할당 체계가 있습니다.
  • 범위 기반 할당
  • 스트라이프 인식 할당 정책
  • 할당량 지연
  • 공간 사전 할당
지연된 할당 및 기타 성능 최적화는 XFS에 ext4와 동일한 방식으로 영향을 미칩니다. 즉, 프로그램이 나중에 fsync() 호출을 발행하지 않는 한, XFS 파일 시스템에 대한 프로그램의 쓰기는 디스크상의 것이 보장되지 않습니다.
파일 시스템에서 지연된 할당의 영향에 대한 자세한 내용은 할당 기능5장. ext4 파일 시스템 를 참조하십시오.
참고
디스크 공간이 충분한 것처럼 보이는 경우에도 예기치 않은 ENOSPC 쓰기 실패와 함께 파일을 만들거나 확장하는 데 실패하는 경우가 있습니다. 이는 XFS의 성능 지향 설계 때문입니다. 실제로는 나머지 공간이 몇 블록일 경우에만 발생하기 때문에 문제가 되지 않습니다.
기타 XFS 기능
XFS 파일 시스템은 다음과 같은 기능도 지원합니다.
확장 속성 (xattr)
이를 통해 시스템은 파일마다 여러 개의 추가 이름/값 쌍을 연결할 수 있습니다. 기본적으로 활성화되어 있습니다.
할당량 저널링
이렇게 하면 충돌 후 긴 할당량 일관성 검사가 필요하지 않습니다.
프로젝트/디렉터리 할당량
이렇게 하면 디렉터리 트리에 대한 할당량 제한이 허용됩니다.
서브초 타임스탬프
이렇게 하면 타임 스탬프가 하위초로 이동할 수 있습니다.
기본 atime 동작은 relatime입니다.
relatime 은 기본적으로 XFS에 대해 입니다. sane atime 값을 유지하면서 noatime 에 비해 오버헤드가 거의 없습니다.

3.1. XFS 파일 시스템 생성

  • XFS 파일 시스템을 생성하려면 다음 명령을 사용합니다.
    # mkfs.xfs block_device
    • block_device 를 블록 장치의 경로로 교체합니다. 예를 들어 /dev/sdb1,/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-59453ceb2a, /dev/my-volgroup/my-lv.
    • 일반적으로 기본 옵션은 일반적인 용도로 최적입니다.
    • 기존 파일 시스템이 포함된 블록 장치에서 mkfs.xfs 를 사용하는 경우 -f 옵션을 추가하여 해당 파일 시스템을 덮어씁니다.

예 3.1. mkfs.xfs 명령 출력

다음은 mkfs.xfs 명령의 샘플 출력입니다.
meta-data=/dev/device            isize=256    agcount=4, agsize=3277258 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=13109032, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
참고
XFS 파일 시스템을 생성한 후에는 크기를 줄일 수 없습니다. 그러나 xfs_growfs 명령을 사용하여 계속 확대할 수 있습니다. 자세한 내용은 3.4절. “XFS 파일 시스템의 크기 늘리기”를 참조하십시오.

사용되지 않는 블록 장치

스트라이핑된 블록 장치(예: RAID5 배열)의 경우 파일 시스템 생성 시 스트라이프 지오메트리를 지정할 수 있습니다. 적절한 스트라이프 기하 도형을 사용하면 XFS 파일 시스템의 성능이 크게 향상됩니다.
LVM 또는 MD 볼륨에서 파일 시스템을 생성할 때 mkfs.xfs 는 최적의 지오메트리를 선택합니다. 이는 기하 도형 정보를 운영 체제로 내보내는 일부 하드웨어 RAID에서 사실일 수도 있습니다.
장치가 스트라이프 지오메트리 정보를 내보내는 경우 mkfs 유틸리티( ext3, ext4 및 xfs의 경우)는 이 지오메트리를 자동으로 사용합니다. 스트라이프 지오메트리는 mkfs 유틸리티에 의해 감지되지 않으며 실제로 스토리지에서 스트라이프 지오메트리가 있더라도 다음 옵션을 사용하여 파일 시스템을 만들 때 수동으로 지정할 수 있습니다.
su=value
스트라이프 단위 또는 RAID 청크 크기를 지정합니다. 값은 k, m 또는 g 접미사를 사용하여 바이트 단위로 지정해야 합니다.
sw=value
RAID 장치의 데이터 디스크 수 또는 스트라이프의 스트라이프 단위 수를 지정합니다.
다음 예제에서는 4개의 스트라이프 단위를 포함하는 RAID 장치의 청크 크기가 64k를 지정합니다.
# mkfs.xfs -d su=64k,sw=4 /dev/block_device

추가 리소스

XFS 파일 시스템 생성에 대한 자세한 내용은 다음을 참조하십시오.