애플 파일 시스템

Apple File System
APFS
개발자애플
풀네임애플 파일 시스템
소개했다2017년 3월 27일(iOS), 2017년 9월 25일(macOS), iOS 10.3, macOS 10.13
파티션 식별자7C3457EF-0000-11AA-AA11-00306543ECAC(GPT)
구조물들
디렉토리 내용B-트리[1]
한계
최대 파일 크기8 EiB(9,223,372,036,854,775,808바이트)[2]
최대 파일 수9,223,372,036,854,775,808[2]
파일 이름에 허용된 문자UTF-8[3] 인코딩된 유니코드 9.0
특징들
기록된 날짜액세스, 특성 수정, 내용 수정, 작성
날짜 범위1970년 1월 1일 – 2554년[1] 7월 21일
날짜 결정1ns[2]
파일 시스템 권한Unix 권한, NFSv4 ACL
투명 압축부분(decmpfs)[4]
투명 암호화[5]
쓰기 시 복사[3][5]
기타
지원되는 운영 체제macOS, iPadOS, iOS, tvOS, 시청OS

Apple File System(APFS)은 Apple Inc.에서 macOS Sierra(10.12.4)[6] 이상, iOS 10.3 이상, tvOS 10.2 이상,[7] watchOS 3.2 이상,[8] iPadOS의 모든 버전을 대상으로 개발 및 구축한 독점 파일 시스템이다.[9][10]APFS의 전신인 HFS+(Mac OS Extended라고도 함)의 핵심 문제 해결을 목표로 한다.APFS는 솔리드 스테이트 드라이브 스토리지에 최적화되어 있으며 암호화, 스냅샷 및 향상된 데이터 무결성 등을 지원한다.[11][12]

역사

애플 파일시스템은 애플 개발자 콘퍼런스(WWDC)에서 1998년부터 사용하던 HFS+의 대체품으로 2016년 6월 발표됐다.[11][12]APFS는 2017년 3월 27일 64비트 iOS 기기용으로 iOS 10.3이 출시되었고, 2017년 9월 25일 MacOS 기기용으로 출시되었으며, MacOS 10.13이 출시되었다.[13][8]

애플은 2018년 9월 암호화되지 않은 비퓨전 저장장치에서 애플 파일 시스템에 대한 읽기 전용 액세스를 지원하는 APFS 부분 사양을 발표했다.소프트웨어 암호화에 대한 사양은 나중에 문서화되었다.[14]

디자인

파일 시스템은 저장 용량이 상대적으로 작거나 많은 장치에 사용될 수 있다.64비트 인노드 숫자를 사용하며,[2] 보다 안전한 스토리지가 가능하다.APFS 코드는 HFS+ 코드와 마찬가지로 공간 관리 및 성능 향상을 위해 TRIM 명령을 사용한다.APFS가 사용 가능한 데이터를 계산하는 방식 때문에 iOS 및 MacOS는 물론 [8]iOS 장치의 공간에서도 읽기-쓰기 속도를 높일 수 있다.[15]

파티션 구성표

APFS는 GPT 파티션 체계를 사용한다.GPT 구성표 내에 하나 이상의 APFS 컨테이너가 있음(파티션 유형 GUID는7C3457EF-0000-11AA-AA11-00306543ECAC). 각 컨테이너 안에는 하나 이상의 APFS 볼륨이 있는데, 이 모든 볼륨은 컨테이너의 할당된 공간을 공유하며, 각 볼륨은 APFS 볼륨 역할을 가질 수 있다.macOS 카탈리나(macOS 10.15)는 Finder가 하나의 볼륨으로 표시하는 볼륨 그룹인 APFS 볼륨 그룹을 소개했다.APFS 확정 링크는 하드 링크소프트 링크 사이에 있으며 볼륨 간에 링크된다.

MacOS Catalina에서는 System volume 역할(일반적으로 "Macintosh HD"로 명명됨)이 읽기 전용이 되었고, MacOS 11에서는 SSV(Signed System Volume)가 되어 볼륨 스냅샷만 탑재된다.Data volume 역할(일반적으로 "Macintosh HD - Data"로 명명됨)은 System volume의 오버레이 또는 섀도로 사용되며 SystemData volume 모두 동일한 볼륨 그룹에 속하며 Finder에 있는 볼륨으로 표시된다.

클론

클론을 사용하면 운영 체제가 추가 스토리지 공간을 차지하지 않고도 동일한 볼륨에서 효율적인 파일 복사본을 만들 수 있다.복제된 파일에 대한 변경사항은 델타 익스텐트로 저장되어 문서 개정 및 복사에 필요한 저장 공간을 줄인다.[10]그러나 동일한 파일의 두 복사본을 다른 파일의 복제본으로 표시하거나 다른 유형의 데이터 중복 제거를 위한 인터페이스는 없다.

스냅숏

APFS 볼륨은 파일 시스템의 특정 시점 읽기 전용 인스턴스를 생성하기 위한 스냅샷을 지원한다.[10]

암호화

Apple File System은 기본적으로 다음과 같은 옵션으로 [2]전체 디스크 암호화 및 파일 암호화를 지원한다.

  • 암호화 없음
  • 단일 키 암호화
  • 다중키 암호화, 즉 각 파일이 별도의 키로 암호화되고 메타데이터는 다른 키로 암호화된다.[10]

최대 파일 수 증가

APFS는 단일 볼륨에서 9조 개 이상의 파일(263)을 지원하는 64비트 인노드 숫자를 지원한다.[2][5]

데이터 무결성

애플 파일 시스템은 체크섬을 사용하여 메타데이터의 데이터 무결성을 보장한다.[16]

충돌 보호

애플 파일 시스템은 시스템 충돌로 인한 메타데이터 손상을 방지하기 위해 설계되었다.기존 메타데이터 레코드를 제자리에 덮어쓰는 대신 완전히 새로운 레코드를 쓰고, 새 레코드를 가리킨 다음, 이전 레코드를 릴리스하는데, 이는 쓰기 시 리디렉션(redirect-on-write)으로 알려져 있다.이렇게 하면 업데이트 중에 발생하는 충돌로 인해 부분적으로 오래된 데이터와 부분적인 새 데이터가 포함된 손상된 레코드를 방지할 수 있다.또한 HFS+ 저널링된 파일 시스템에서와 같이 변경 사항을 저널에 먼저 기록한 다음 카탈로그 파일에 쓰는 것처럼 변경 사항을 두 번 작성할 필요가 없다.[16]

압축

APFS는 Deflate(Zlib), LZVN(libFastCompression) 및 LZFSE를 사용하여 개별 파일에 대한 투명한 압축을 지원한다.세 가지 모두 렘펠-지브형 알고리즘이다.이 기능은 HFS+에서 상속되며 동일한 Apple로 구현됨리소스 포크 또는 확장 속성을 사용하는 FSCompression/decmpfs 시스템.HFS+와 마찬가지로 decmpfs-wraped 루틴을 사용하지 않는 도구의 투명성이 깨진다.[17]

공간 공유

APFS는 동일한 컨테이너에 여러 개의 논리 드라이브(볼륨이라고 함)를 설치할 수 있는 기능을 추가하며, 컨테이너의 모든 볼륨(블록 장치)에 여유 공간을 사용할 수 있다.[18]

제한 사항

APFS는 이전 버전인 HFS+에 비해 수많은 개선사항을 포함하지만, 많은 제한사항이 지적되어 왔다.

사용자 데이터에 대한 제한된 무결성 검사

APFS는 사용자 데이터에 대한 체크섬을 제공하지 않는다.[19]또한 바이트 어드레싱이 가능한 비휘발성 랜덤 액세스 메모리를 활용하지 않는다.[20][21]

하드 디스크 드라이브 성능

파일 및 일반적으로 inode 메타데이터를 열거하는 것은 APFS가 하드 디스크 드라이브에 있을 때 훨씬 느리다.이는 APFS가 HFS+처럼 고정된 위치에 메타데이터를 저장하는 대신 실제 파일 데이터와 함께 저장하기 때문이다.이러한 메타데이터의 단편화는 파일을 나열할 때 더 많은 검색이 수행됨을 의미하며, SSD는 허용되지만 HDD는 그렇지 않다.[22]

MacOS 11 이전 버전의 Time Machine과의 호환성

HFS+와 달리 APFS는 디렉토리에 대한 하드 링크를 지원하지 않는다.[3][23]Mac OS X 10.5(Leopard)에서 MacOS 10.15(Catalina)까지에 포함된 Time Machine 백업 소프트웨어의 버전이 디렉터리에 대한 하드 링크에 의존했기 때문에 APFS는 처음에는 백업 볼륨에서 지원되는 옵션이 아니었다.[24][23]이러한 제한은 이제 APFS가 새로운 Time Machine 백업을 위한 기본 파일 시스템(기존 HFS+ 포맷된 백업 드라이브도 여전히 지원됨)인 MacOS 11 Big Sur에서부터 극복되었다.[25]MacOS Big Sur가 APFS 형식 드라이브와 함께 Time Machine을 구현하면 HFS+ 형식 백업 드라이브보다 "더 빠르고, 더 작고, 더 안정적인 백업"이 가능하다.[26][27]

보안 문제

  • 2018년 3월 하이 시에라에서 APFS 드라이버에 디스크 암호화 암호가 일반 텍스트로 기록되도록 하는 버그가 있는 것으로 밝혀졌다.[28]
  • 2021년 1월, iOS의 APFS 드라이버 < 14.4, macOS < 11.2, 시청OS < 7.3>, TVOS < 14.4>는 로컬 사용자가 권한에 관계없이 임의 파일을 읽을 수 있는 버그가 있는 것으로 나타났다.[29][30][31][32]

지원

마코스

APFS에 대한 제한적이고 실험적인 지원은 macOS Sierra 10.12.4에서 처음 도입되었다.MacOS 10.13 High Sierra 이후 플래시 스토리지를 갖춘 모든 장치는 자동으로 APFS로 변환된다.[33]MacOS 10.14 Mojave, Fusion Drive 및 하드 디스크 드라이브도 설치 시 업그레이드된다.[34]업그레이드할 기본 사용자 인터페이스는 이 변환에서 제외할 수 있는 옵션을 제공하지 않으며, 이전 버전의 MacOS에서는 하이 시에라 버전의 APFS로 포맷된 장치를 읽을 수 없다.[33]사용자가 설치 프로그램의 기능을 사용하여 APFS 변환을 비활성화할 수 있음startosinstall명령행 및 통과에 대한 유틸리티--converttoapfs NO.[35]

MacOS Big Sur 11.2.1에서 FileVault 볼륨은 APFS로 변환되지 않는다.대신, MacOS는 외장 FileVault 드라이브를 Mac OS Extended(Journaled)로 포맷된 CoreStorage Logical Volumes로 포맷한다.FileVault 드라이브는 선택적으로 암호화될 수 있다.[citation needed]

몇 가지 제한이 있는 APFS의 실험 버전은 명령줄을 통해 MacOS Sierra에서 사용할 수 있다.diskutil효용이러한 한계 중, HFS+가 하는 동안 유니코드 정규화를 수행하지 않아 영어 이외의 언어에 문제가 생기게 된다.[36][37]시에라 버전의 APFS로 포맷된 드라이브는 향후 버전의 MacOS 또는 최종 버전의 APFS와도 호환되지 않을 수 있으며, 시에라 버전의 APFS는 Time Machine, FileVault 볼륨 또는 Fusion Drive와 함께 사용할 수 없다.[38]

iOS, tvOS,시청OS

iOS 10.3, tvOS 10.2watchOS 3.2는 호환 가능한 장치에서 기존 HFSX 파일 시스템을 APFS로 변환한다.[13][8][39]

타사 유틸리티

오늘날의 Mac에서 APFS 볼륨의 보편성과 포맷의 2016년 도입에도 불구하고, 타사 수리 유틸리티는 Apple의 전체 문서 공개 지연으로 인해 APFS 볼륨을 지원하는 데 있어 현저한 제약이 계속 있다.디스크워리어 제조사인 어도프트에 따르면 애플이 2018년 부분 APFS 포맷 문서를 공개하면서 APFS 디스크를 안전하게 재구축할 수 있는 디스크워리어 버전 생성이 지연됐다.[40]마이크로매트의 테크툴, 프로소프트의 드라이브 지니어스 등 경쟁 제품도 APFS 지원을 늘릴 것으로 보인다.

Paragon Software Group은 APFS 드라이브의 읽기 전용 액세스를 지원하는 소프트웨어 개발 키트를 4-Clause BSD License에 게시했다.[41]Joachim Metz, libfsapfs에 의한 독립된 읽기 전용 오픈 소스 구현은 GNU Lessor General Public License v3에 따라 공개된다.데비안우분투 소프트웨어 저장소로 패키징되었다.[42]둘 다 일반적인 파일 시스템 드라이버 인터페이스가 노출되지 않는 명령줄 도구다.Linux용 FUSE(Userspace) 드라이버에 apfs-fuse라는 읽기 전용 액세스 권한이 있는 Filesystem이 있다.[43]"APFS for 리눅스" 프로젝트는 리눅스 커널에 APFS 지원을 통합하기 위해 노력하고 있다.[44]

참고 항목

참조

  1. ^ a b Hansen, K.H.; Toolan, F. (September 21, 2017). "Decoding the APFS file system". Digital Investigation. 22: 107–132. doi:10.1016/j.diin.2017.07.003. ISSN 1742-2876.
  2. ^ a b c d e f "Volume Format Comparison". Apple Developer. Retrieved May 25, 2018.
  3. ^ a b c "Apple File System Guide / Frequently Asked Questions". Retrieved May 25, 2018.
  4. ^ Bertin, René. "Compression and APFS". Github. Retrieved February 2, 2019.
  5. ^ a b c Apple Inc. "Apple File System Guide (Features)". Retrieved May 25, 2018.
  6. ^ Vigo, Jesus (April 13, 2017). "How to set up and use Apple's APFS file system on macOS Sierra". TechRepublic.
  7. ^ "tvOS 10.2". What's New in tvOS. Apple Inc.
  8. ^ a b c d Warren, Tom (March 27, 2017). "Apple is upgrading millions of iOS devices to a new modern file system today". The Verge. Vox Media. Archived from the original on March 27, 2017. Retrieved March 27, 2017.
  9. ^ Roger Fingas (June 13, 2016). "'Apple File System' will scale from Apple Watch to Macs, replace HFS+". Apple Insider. Archived from the original on July 23, 2016.
  10. ^ a b c d Hutchinson, Lee (June 13, 2016). "Digging into APFS, Apple's new file system". Ars Technica UK. Retrieved June 15, 2016.
  11. ^ a b Weintraub, Seth (June 13, 2016). "Apple File System (APFS) announced for 2017, scales 'from Apple Watch to Mac Pro' and focuses on encryption". 9to5Mac. Archived from the original on March 28, 2017. Retrieved March 27, 2017.
  12. ^ a b Hutchinson, Lee (June 13, 2016). "New file system spotted in macOS Sierra [Updated]". Ars Technica. Condé Nast. Archived from the original on March 28, 2017. Retrieved March 27, 2017.
  13. ^ a b Clover, Juli (March 27, 2017). "Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More". MacRumors. Archived from the original on March 27, 2017. Retrieved March 27, 2017.
  14. ^ "Apple File System Reference" (PDF). Apple Developer.
  15. ^ Alan Loughnane. "Updating your iPhone will give you one major benefit". joe.co.uk. Archived from the original on May 20, 2017.
  16. ^ a b Adam Leventhal (June 19, 2016). "APFS in Detail: Data Integrity". Archived from the original on June 21, 2016.
  17. ^ Søgaard, Jens K. "How do I enable transparent compression on APFS?". Ask Different. Retrieved November 13, 2019.
  18. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 23, 2016. Retrieved June 10, 2017.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  19. ^ ZFS 개발자가 2017년 2월 2일 웨이백머신보관된 애플의 새로운 APFS 파일 시스템의 장단점에 대한 분석
  20. ^ Robin Harris (June 24, 2016). "Why Apple's APFS won't last 30 years". ZDNet.
  21. ^ Adam Leventhal (June 19, 2016). "APFS in Detail: Overview". Retrieved October 1, 2017.
  22. ^ "An analysis of APFS enumeration performance on rotational hard drives". Carbon Copy Cloner. Retrieved January 8, 2020.
  23. ^ a b Leventhal, Adam H. (June 26, 2016). "A ZFS developer's analysis of the good and bad in Apple's new APFS file system". Ars Technica. APFS right now is incompatible with Time Machine due to the lack of directory hard links, a fairly disgusting implementation that likely contributes to Time Machine's questionable reliability.
  24. ^ "Disks you can use with Time Machine". Retrieved December 17, 2019.
  25. ^ "APFS changes in Big Sur". June 29, 2020. Retrieved November 26, 2020.
  26. ^ "macOS Big Sur 11.0.1 Release Notes". Apple. Retrieved December 13, 2020.
  27. ^ Cunningham, Andrew (November 12, 2020). "macOS 11.0 Big Sur: The Ars Technica review". Ars Technica. Retrieved March 6, 2021.
  28. ^ "Uh Oh! Unified Logs in High Sierra (10.13) Show Plaintext Password for APFS Encrypted External Volumes via Disk Utility.app". mac4n6. Retrieved November 11, 2019.
  29. ^ "About the security content of iOS 14.4 and iPadOS 14.4 - Apple Support". Apple Support. Retrieved February 7, 2021.
  30. ^ "About the security content of macOS Big Sur 11.2, Security Update 2021-001 Catalina, Security Update 2021-001 Mojave - Apple Support". Apple Support. Retrieved February 7, 2021.
  31. ^ "About the security content of watchOS 7.3 - Apple Support". Apple Support. Retrieved February 7, 2021.
  32. ^ "About the security content of tvOS 14.4 - Apple Support". Apple Support. Retrieved February 7, 2021.
  33. ^ a b "Prepare for APFS in macOS High Sierra". Apple.com. September 7, 2017. Retrieved September 19, 2017.
  34. ^ "macOS 10.14 Mojave: The Ars Technica review". arstechnica.com. September 25, 2018. Retrieved December 20, 2018.
  35. ^ Trouton, Rich (September 26, 2017). "Using the macOS High Sierra OS installer's startosinstall tool to avoid APFS conversion". Der Flounder. Retrieved January 16, 2018.
  36. ^ APFS의 "Bag of Bytes" 파일 이름
  37. ^ APFS는 현재 대부분의 영어가 아닌 언어에서 사용할 수 없음 2017년 6월 8일 웨이백 머신보관Eclectic Light Company
  38. ^ "How to Format a Drive With the APFS File System on macOS Sierra". Archived from the original on October 26, 2016. Retrieved October 26, 2016.
  39. ^ "jakepetroules/Filesystem". GitHub. Retrieved March 29, 2017.
  40. ^ "DiskWarrior 5.2 & Apple File System (APFS)". Retrieved June 28, 2020.
  41. ^ "Paragon Software Group Releases Free Paragon APFS SDK Community Edition for Software Developers, OEMs, Forensic Experts". Paragon Software Group. 깃헙
  42. ^ "libyal/libfsapfs". GitHub. November 7, 2019. Library and tools to access the Apple File System (APFS)
  43. ^ Ross, Alistair (February 23, 2019). "How to mount macOS APFS disk volumes in Linux". The Ultimate Linux Newbie Guide. (기투브)
  44. ^ "linux-apfs/linux-apfs-oot: APFS module for linux (out-of-tree repository)". GitHub. APFS for Linux. March 30, 2020.

외부 링크