어떤 Linux 파일 시스템을 사용해야합니까?
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를 위해 특별히 만들어진 최초의 제품입니다. 네 가지 주요 수정 사항이 있습니다. "Ext"는 1992 년에 도입 된 파일 시스템의 첫 번째 버전입니다. 당시 사용 된 Minix 파일 시스템의 주요 업그레이드 였지만 중요한 기능이 없습니다. 많은 Linux 배포판은 더 이상 Ext를 지원하지 않습니다.
- Ext2 는 저널링 파일 시스템이 아닙니다. 소개되었을 때 확장 파일 속성과 2TB 드라이브를 지원하는 최초의 파일 시스템이었습니다. Ext2에는 저널이 없기 때문에 디스크에 쓰기가 적어 USB 드라이브와 같은 플래시 메모리에 유용합니다. 그러나 exFAT 및 FAT32와 같은 파일 시스템도 저널링을 사용하지 않고 다른 운영 체제와 더 잘 호환되므로 어떤 이유로 필요한지 알지 못하는 경우 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- 트리 파일 시스템"을 나타내며 드라이브 풀링, 즉석 스냅 샷, 투명 압축 및 온라인 조각 모음을 허용합니다. 기본적으로 사용되는 일부 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 또는 "저널링 파일 시스템"은 1990 년에 IBM AIX 운영 체제 용으로 IBM에서 개발되었으며 이후 Linux로 포팅되었습니다. 큰 파일과 작은 파일 모두에 대해 낮은 CPU 사용량과 좋은 성능을 자랑합니다. JFS 파티션은 동적으로 크기를 조정할 수 있지만 축소 할 수는 없습니다. 매우 잘 계획되어 있었고 대부분의 모든 주요 배포판에서 지원을 받았지만 Linux 서버에서의 프로덕션 테스트는 AIX 용으로 설계된 Ext만큼 광범위하지 않습니다. Ext4가 더 일반적으로 사용되며 더 광범위하게 테스트됩니다.
- 스왑 은 드라이브를 포맷 할 때의 옵션이지만 실제 파일 시스템은 아닙니다. 가상 메모리로 사용되며 파일 시스템 구조가 없습니다. 내용을보기 위해 마운트 할 수 없습니다. Swap은 Linux 커널에서 RAM에 맞지 않는 데이터를 임시로 저장하기 위해 "스크래치 공간"으로 사용됩니다. 최대 절전 모드에도 사용됩니다. Windows는 페이징 파일을 주 시스템 파티션에 파일로 저장하지만 Linux는 스왑 공간을 위해 별도의 빈 파티션을 예약합니다.
관련 : FAT32, exFAT 및 NTFS의 차이점은 무엇입니까?
- FAT16 , FAT32 및 exFAT : Microsoft의 FAT 파일 시스템은 Linux에서 드라이브를 포맷 할 때 종종 옵션이됩니다. 이러한 파일 시스템에는 저널이 포함되어 있지 않으므로 외부 USB 드라이브에 이상적입니다. Windows, macOS, Linux 및 기타 장치와 같은 모든 운영 체제에서 읽을 수있는 사실상의 표준입니다. 따라서 다른 운영 체제에서 사용하려는 외장 드라이브를 포맷 할 때 사용하기에 이상적인 파일 시스템입니다. FAT32는 더 오래되었습니다. exFAT는 FAT32와 달리 4GB 이상의 파일과 8TB 이상의 파티션을 지원하므로 이상적인 옵션입니다.
임베디드 장치 및 SD 카드의 플래시 스토리지 용으로 특별히 설계된 파일 시스템을 포함하여 다른 Linux 파일 시스템도 있습니다. 그러나 이것은 Linux를 사용할 때 가장 자주 볼 수있는 옵션입니다.