어떤 Linux 파일 시스템을 사용해야 합니까?

게시 됨: 2022-01-29

Linux PC에서 파티션을 포맷할 때 다양한 파일 시스템 옵션을 볼 수 있습니다. 이러한 옵션은 압도적일 필요가 없습니다. 어떤 Linux 파일 시스템을 사용해야 할지 잘 모르겠다면 간단한 답이 있습니다.

빠른 답변: 확실하지 않은 경우 Ext4를 사용하십시오.

우리는 잡초로 들어가서 다양한 파일 시스템 간의 차이점을 잠시 살펴보겠지만 확실하지 않다면 Ext4를 사용하십시오.

Ext4는 이유가 있어 대부분의 Linux 배포판에서 기본 파일 시스템입니다. 이전 Ext3 파일 시스템의 개선된 버전입니다. 최첨단 파일 시스템은 아니지만 좋습니다. Ext4가 견고하고 안정적이라는 의미입니다.

앞으로 Linux 배포판은 점차 BtrFS로 이동할 것입니다. BtrFS는 여전히 최첨단이며 많은 개발이 진행되고 있으므로 프로덕션 시스템에서는 사용하지 않는 것이 좋습니다. 데이터 손상 또는 기타 문제의 위험은 잠재적인 속도 향상의 가치가 없습니다.

관련: FAT32, exFAT 및 NTFS의 차이점은 무엇입니까?

그러나 이 "Ext4 사용" 조언은 Linux 시스템 파티션과 Linux에서만 액세스할 수 있는 기타 디스크 상의 파티션에만 적용됩니다. 다른 운영 체제와 공유하려는 외장 드라이브를 포맷하는 경우 Windows, macOS 및 기타 장치가 Ext4 파일 시스템을 읽을 수 없으므로 Ext4를 사용하지 않아야 합니다. Linux에서 외장 드라이브를 포맷할 때 exFAT 또는 FAT32를 사용하고 싶을 것입니다.

광고

기본 Linux 부팅 드라이브에 파티션을 설정하는 경우 해당 파티션을 설정할 때 크기가 최소 몇 GB인 스왑 파티션도 만들고 싶을 것입니다. 이 파티션은 "스왑 공간"에 사용됩니다. Windows의 페이징 파일과 유사합니다. Linux는 RAM이 가득 차면 메모리를 스왑 공간으로 스왑합니다. 이 파티션은 특정 파일 시스템 대신 "스왑"으로 포맷해야 합니다.

저널링이란?

파일 시스템 중에서 선택할 때 주의할 점은 일부는 "저널링" 파일 시스템으로 표시되고 일부는 표시되지 않는다는 것입니다. 이것은 중요하다.

저널링은 충돌 및 갑작스러운 정전으로 인한 데이터 손상을 방지하도록 설계되었습니다. 시스템이 디스크에 파일을 쓰는 중인데 갑자기 전원이 꺼지는 경우를 가정해 보겠습니다. 저널이 없으면 컴퓨터는 파일이 디스크에 완전히 기록되었는지 알 수 없습니다. 파일은 손상되어 디스크에 남아 있습니다.

저널을 사용하면 컴퓨터는 저널의 디스크에 특정 파일을 쓰고 해당 파일을 디스크에 쓴 다음 저널에서 해당 작업을 제거한다는 사실을 알게 됩니다. 파일을 쓰는 동안 전원이 꺼지면 Linux는 부팅할 때 파일 시스템의 저널을 확인하고 부분적으로 완료된 작업을 다시 시작합니다. 이는 데이터 손실 및 파일 손상을 방지합니다.

저널링은 디스크 쓰기 성능을 약간 저하시키지만 데스크탑이나 랩탑에서 그만한 가치가 있습니다. 생각보다 많은 오버헤드가 아닙니다. 전체 파일은 저널에 기록되지 않습니다. 대신 파일 메타데이터, inode 또는 디스크 위치만 디스크에 기록되기 전에 저널에 기록됩니다.

모든 최신 파일 시스템은 저널링을 지원하며 데스크탑이나 노트북을 설정할 때 저널링을 지원하는 파일 시스템을 사용하고 싶을 것입니다.

광고

저널링을 제공하지 않는 파일 시스템은 고성능 서버 및 관리자가 추가 성능을 끌어내고자 하는 기타 시스템에서 사용할 수 있습니다. 또한 더 높은 오버헤드와 저널링 추가 쓰기를 원하지 않는 이동식 플래시 드라이브에 이상적입니다.

모든 Linux 파일 시스템의 차이점은 무엇입니까?

Microsoft가 Windows를 개발하고 Apple이 macOS를 제어하는 ​​동안 Linux는 커뮤니티에서 개발한 오픈 소스 프로젝트입니다. 기술과 시간이 있는 사람(또는 모든 회사)은 새 Linux 파일 시스템을 만들 수 있습니다. 이것이 많은 옵션이 있는 이유 중 하나입니다. 차이점은 다음과 같습니다.

  • Ext 는 "Extended File System"의 약자이며 Linux용으로 처음 만들어졌습니다. 크게 4번의 수정이 있었습니다. "Ext"는 1992년에 도입된 파일 시스템의 첫 번째 버전입니다. 당시 사용하던 Minix 파일 시스템의 주요 업그레이드였지만 중요한 기능이 부족했습니다. 많은 Linux 배포판은 더 이상 Ext를 지원하지 않습니다.
  • Ext2 는 저널링 파일 시스템이 아닙니다. 도입 당시 확장 파일 속성과 2TB 드라이브를 지원하는 최초의 파일 시스템이었습니다. Ext2의 저널이 없다는 것은 디스크에 쓰는 양이 적다는 것을 의미하므로 USB 드라이브와 같은 플래시 메모리에 유용합니다. 그러나 exFAT 및 FAT32와 같은 파일 시스템도 저널링을 사용하지 않고 다른 운영 체제와 더 잘 호환되므로 어떤 이유로든 Ext2가 필요하지 않는 한 Ext2를 사용하지 않는 것이 좋습니다.
  • Ext3 는 기본적으로 저널링이 있는 Ext2입니다. Ext3는 Ext2와 역호환되도록 설계되어 포맷 없이도 파티션을 Ext2와 Ext3 사이에서 변환할 수 있습니다. Ext4보다 오래되었지만 Ext4는 2008년부터 사용되었으며 널리 테스트되었습니다. 이 시점에서 Ext4를 사용하는 것이 좋습니다.
  • Ext4 는 또한 이전 버전과 호환되도록 설계되었습니다. Ext4 파일 시스템을 Ext3으로 마운트하거나 Ext2 또는 Ext3 파일 시스템을 Ext4로 마운트할 수 있습니다. 여기에는 파일 조각화를 줄이고 더 큰 볼륨과 파일을 허용하고 지연 할당을 사용하여 플래시 메모리 수명을 개선하는 새로운 기능이 포함됩니다. 이것은 Ext 파일 시스템의 가장 최신 버전이며 대부분의 Linux 배포판에서 기본값입니다.

  • "Butter" 또는 "Better" FS로 발음 되는 BtrFS 는 원래 Oracle에서 설계했습니다. "B-Tree File System"의 약자이며 드라이브 풀링, 즉석 스냅샷, 투명 압축 및 온라인 조각 모음을 허용합니다. 일부 Linux 배포판에서 기본적으로 사용하는 파일 시스템인 ReiserFS에서 찾을 수 있는 동일한 아이디어를 공유합니다. BtrFS는 파일 시스템의 Ext 시리즈에서 완전히 벗어나도록 설계되었습니다. Ext4 파일 시스템의 유지 관리자인 Ted Ts'o는 Ext4를 단기 솔루션으로 간주하고 BtrFS가 앞으로 나아갈 길이라고 믿습니다. BtrFS가 추가 테스트를 거쳐 향후 몇 년 안에 엔터프라이즈 서버와 소비자 데스크톱 Linux 배포판 모두에서 기본이 될 것으로 기대합니다.
  • ReiserFS 는 2001년에 소개되었을 때 Linux 파일 시스템을 위한 큰 도약이었고 Ext가 결코 구현할 수 없는 많은 새로운 기능을 포함했습니다. ReiserFS는 2004년에 초기 릴리스에서 불완전하거나 부족한 많은 기능을 개선한 Reiser4로 대체되었습니다. 그러나 Reiser4 개발은 주요 개발자인 Hans Reiser가 2008년에 감옥에 보내진 후 지연되었습니다. Reiser4는 여전히 기본 Linux 커널에 있으며 거기에 도달하지 못할 것입니다. BtrFS가 더 나은 장기적 선택입니다.

    관련: Ubuntu에서 ZFS를 설치하고 사용하는 방법(그리고 원하는 이유)

  • ZFS 는 Sun Microsystems에서 Solaris용으로 설계했으며 현재 Oracle이 소유하고 있습니다. ZFS는 드라이브 풀링, 스냅샷 및 동적 디스크 스트라이핑을 비롯한 많은 고급 기능을 지원합니다. BtrFS는 기본적으로 이러한 많은 기능을 Linux에 제공합니다. 각 파일에는 체크섬이 있으므로 ZFS는 파일이 손상되었는지 여부를 알 수 있습니다. Sun CDDL 라이센스에 따른 Sun 오픈 소스 ZFS는 Linux 커널에 포함될 수 없음을 의미합니다. 그러나 모든 Linux 배포판에 ZFS 지원을 설치할 수 있습니다. Ubuntu는 이제 Ubuntu 16.04부터 공식 ZFS 지원도 제공합니다. Ubuntu는 기본적으로 컨테이너에 ZFS를 사용합니다.
  • XFS 는 SGI IRX 운영 체제용으로 1994년 Silicon Graphics에서 개발했으며 2001년 Linux로 이식되었습니다. 파일 조각화를 돕기 위해 지연 할당을 사용하고 마운트된 스냅샷을 허용하지 않는다는 점에서 어떤 면에서는 Ext4와 유사합니다. 즉석에서 확대할 수 있지만 축소할 수는 없습니다. XFS는 큰 파일을 처리할 때 좋은 성능을 보이지만 많은 작은 파일을 처리할 때 다른 파일 시스템보다 성능이 떨어집니다. 주로 대용량 파일을 처리해야 하는 특정 유형의 서버에 유용할 수 있습니다.
  • JFS 또는 "Journaled File System"은 1990년 IBM에서 IBM AIX 운영 체제용으로 개발했으며 나중에 Linux로 이식되었습니다. CPU 사용량이 적고 크고 작은 파일 모두에 대해 우수한 성능을 자랑합니다. JFS 파티션은 동적으로 크기를 조정할 수 있지만 축소할 수는 없습니다. 매우 잘 계획되었고 대부분의 주요 배포판에서 지원을 받았지만 Linux 서버에서의 프로덕션 테스트는 AIX용으로 설계된 것처럼 Ext만큼 광범위하지 않습니다. Ext4는 더 일반적으로 사용되며 더 광범위하게 테스트됩니다.
  • 스왑 은 드라이브를 포맷할 때 옵션이지만 실제 파일 시스템은 아닙니다. 가상 메모리로 사용되며 파일 시스템 구조가 없습니다. 내용을 보기 위해 마운트할 수 없습니다. 스왑은 Linux 커널에서 RAM에 들어갈 수 없는 데이터를 임시로 저장하기 위해 "스크래치 공간"으로 사용됩니다. 최대 절전 모드에도 사용됩니다. Windows가 페이징 파일을 기본 시스템 파티션에 파일로 저장하는 동안 Linux는 스왑 공간을 위해 별도의 빈 파티션을 예약합니다.

관련: FAT32, exFAT 및 NTFS의 차이점은 무엇입니까?

  • FAT16 , FAT32exFAT : Microsoft의 FAT 파일 시스템은 종종 Linux에서 드라이브를 포맷할 때 옵션입니다. 이러한 파일 시스템에는 저널이 포함되어 있지 않으므로 외부 USB 드라이브에 이상적입니다. Windows, macOS, Linux 및 기타 장치와 같은 모든 운영 체제에서 읽을 수 있는 사실상의 표준입니다. 따라서 다른 운영 체제에서 사용하려는 외장 드라이브를 포맷할 때 사용하기에 이상적인 파일 시스템입니다. FAT32가 더 오래되었습니다. exFAT는 FAT32와 달리 4GB 이상의 파일과 8TB 이상의 파티션을 지원하므로 이상적인 옵션입니다.

임베디드 장치 및 SD 카드의 플래시 저장을 위해 특별히 설계된 파일 시스템을 포함하여 다른 Linux 파일 시스템도 있습니다. 그러나 이것은 Linux를 사용할 때 가장 자주 보게 될 옵션입니다.

관련: 개발자 및 열광자를 위한 최고의 Linux 노트북