해머(파일 시스템)

HAMMER (file system)
망치
개발자매튜 딜런
풀네임망치
소개했다2008년 7월 21일, 14년 전(2008-07-21) DragonFly BSD 2.0 탑재[1][2]
구조물들
디렉토리 내용수정된 B+ 트리[3]
한계
최대 볼륨 크기1 EiB[3]
특징들
포크아니요.
파일 시스템 권한UNIX 권한
투과적 압축네, 그렇습니다[4].
데이터 중복 배제온 디맨드
다른.
지원되는 운영 체제DragonFly BSD

HAMMER는 Matthew Dillon이 B+ 트리를 사용하여 DragonFly BSD용으로 개발한 고가용성 64비트 파일 시스템입니다.주요 기능으로는 무한 NFS 내보내기 가능 스냅샷, 마스터 멀티슬레이브 작업, 구성 가능한 기록 보존, fscless-mount데이터 [5]손상 처리를 위한 체크섬이 있습니다.HAMMER는 데이터 블록 중복 제거도 지원하므로 동일한 데이터 블록이 파일 시스템에 한 [6]번만 저장됩니다.2011년에 후속작인 HAMMER2가 발표되어 Dragonfly 5.2(2018년 [7]4월)에서 디폴트가 되었다.

특징들

HAMMER 파일 시스템은 온라인 스냅샷을 이용할 수 있는 세분화된 파일 시스템 이력을 구성할 수 있습니다.최대 65536개의 마스터(읽기/쓰기) 슬레이브(읽기 전용) 의사 파일 시스템(PFS)을 파일 시스템별로 개별적으로 작성할 수 있습니다.PFS는 로컬 또는 네트워크 접속을 통해 거의 실시간에 가까운 퍼포먼스로 여러 슬레이브에 미러링할 수 있습니다.재마운트 [5][8][9][10]시 파일 시스템을 확인할 필요가 없습니다.

HAMMER는 최대 1EiB의 스토리지 용량을 지원합니다.파일 시스템은 데이터 및 메타데이터의 CRC 체크섬, 온라인 레이아웃 수정 및 데이터 중복 제거, 효과적으로 무제한의 inode를 [8][11][12]통한 동적 inode 할당을 지원합니다.

제한 사항

현재 [when?]파일 시스템을 청결하게 유지하고 파일 삭제 후 공간을 확보하려면 정기적인 유지보수가 필요합니다.기본적으로 크론 작업은 DragonFly BSD에서 매일 필요한 작업을 수행합니다.HAMMER는 멀티 마스터 [8][10]구성을 지원하지 않습니다.

성능

HAMMER는 [13]가장 가능성이 높은 경로를 커버하기 위해 물리적 I/O 작업 수를 줄이도록 최적화되어 있어 최적의 성능을 위해 순차적으로 액세스할 수 있습니다.

2011년 [14]7월에 다음과 같은 성능 관련 개선이 도입되었습니다.

  • B-tree 커서 조작에 펄스 폭 변조 시간 도메인 멀티플렉서를 구현하여 특정 시나리오에서 디스크 읽기 속도 향상
  • 교착 상태 지연 문제 해결.
  • 대량의 동시 파일 쓰기 작업 시 읽기 성능 향상

발전

HAMMER는 DragonFly BSD를 위해 특별히 개발되었으며, 당시 점점 더 인기를 얻고 있는 ZFS의 풍부한 기능과 보다 나은 디자인의[according to whom?] 아날로그를 제공합니다.

HAMMER는 2009년 [9]DragonFly 2.2를 통해 생산 준비가 완료되었으며, 2012년 설계 레벨 작업이 HAMMER2로 전환되어 2018년 DragonFly 5.2를 통해 안정성이 확인되었습니다.

2019년 현재 HAMMER는 HAMMER2와의 혼동을 피하기 위해 HAMMER1로 자주 언급되고 있으나 정식 명칭 변경은 이루어지지 않았다.두 파일 시스템은 서로 다른 [15][16]온디스크 포맷으로 인해 서로 독립적이며 개별적으로 [17]업데이트 및 개선 사항을 계속 수신합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "В состав DragonFlyBSD 2.0 будет включена файловая система HAMMER". Linux.org.ru (in Russian). 2007-10-14. Retrieved 2019-08-21.
  2. ^ Larabel, Michael (7 January 2011). "Can DragonFlyBSD's HAMMER Compete With Btrfs, ZFS?". Phoronix. Retrieved 2014-05-26.
  3. ^ a b Dillon, Matthew (21 June 2008). "THE HAMMER FILESYSTEM" (PDF). Retrieved 2009-03-02.
  4. ^ "HAMMER2 File-System Now Uses LZ4 Compression By Default - Phoronix". www.phoronix.com.
  5. ^ a b hammer(5)DragonFly BSD 파일 포맷 매뉴얼
  6. ^ Sherrill, Justin (7 November 2010). "Deduplication arrives". Retrieved 2011-11-28.
  7. ^ Dillon, Matthew (11 May 2011). "HAMMER2 announcement". users (Mailing list).
  8. ^ a b c "HAMMER". DragonFly BSD. Retrieved 2011-11-28.
  9. ^ a b Vervloesem, Koen (21 April 2010). "DragonFly BSD 2.6: towards a free clustering operating system". LWN.net. Retrieved 2014-05-26.
  10. ^ a b George, Siju (May 2014). "Working with Hammer File System and PFSes" (PDF). BSD Magazine. Warsaw, Poland: Hakin9 Media SK. 8 (5): 18–23. Archived from the original (PDF) on 27 May 2014. Retrieved 2014-05-25.
  11. ^ hammer(8)DragonFly BSD 시스템 유지보수 및 운용 명령 매뉴얼
  12. ^ Kemp, Juliet (4 August 2008). "Tip of the Trade: Dragonfly BSD and the Hammer Filesystem". ServerWatch. Retrieved 2014-05-26.
  13. ^ Jeremy Andrews (2007-10-14). "HAMMER Performance". KernelTrap. Archived from the original on 2011-11-04. Retrieved 2019-08-21.
  14. ^ Dillon, Matthew (22 July 2011). "git: HAMMER VFS - Add code to reduce frontend vs flusher locking conflicts". commits (Mailing list).
  15. ^ Matthew Dillon (2017-09-23). "hammer_disk.h". BSD Cross Reference. DragonFly BSD. Retrieved 2019-03-06.
  16. ^ Matthew Dillon (2018-05-05). "hammer2_disk.h". BSD Cross Reference. DragonFly BSD. Retrieved 2019-03-06.
  17. ^ Matthew Dillon (2017-03-27). "git: hammer - HAMMER Version 7". commits@DragonFly (Mailing list). Retrieved 2019-03-06.

외부 링크