해머(파일 시스템)
HAMMER (file system)![]() |
개발자 | 매튜 딜런 |
---|---|
풀네임 | 망치 |
소개했다 | 2008년 7월 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년 현재[update] HAMMER는 HAMMER2와의 혼동을 피하기 위해 HAMMER1로 자주 언급되고 있으나 정식 명칭 변경은 이루어지지 않았다.두 파일 시스템은 서로 다른 [15][16]온디스크 포맷으로 인해 서로 독립적이며 개별적으로 [17]업데이트 및 개선 사항을 계속 수신합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "В состав DragonFlyBSD 2.0 будет включена файловая система HAMMER". Linux.org.ru (in Russian). 2007-10-14. Retrieved 2019-08-21.
- ^ Larabel, Michael (7 January 2011). "Can DragonFlyBSD's HAMMER Compete With Btrfs, ZFS?". Phoronix. Retrieved 2014-05-26.
- ^ a b Dillon, Matthew (21 June 2008). "THE HAMMER FILESYSTEM" (PDF). Retrieved 2009-03-02.
- ^ "HAMMER2 File-System Now Uses LZ4 Compression By Default - Phoronix". www.phoronix.com.
- ^ a b DragonFly BSD 파일 포맷 매뉴얼 –
- ^ Sherrill, Justin (7 November 2010). "Deduplication arrives". Retrieved 2011-11-28.
- ^ Dillon, Matthew (11 May 2011). "HAMMER2 announcement". users (Mailing list).
- ^ a b c "HAMMER". DragonFly BSD. Retrieved 2011-11-28.
- ^ a b Vervloesem, Koen (21 April 2010). "DragonFly BSD 2.6: towards a free clustering operating system". LWN.net. Retrieved 2014-05-26.
- ^ 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.
- ^ DragonFly BSD 시스템 유지보수 및 운용 명령 매뉴얼 –
- ^ Kemp, Juliet (4 August 2008). "Tip of the Trade: Dragonfly BSD and the Hammer Filesystem". ServerWatch. Retrieved 2014-05-26.
- ^ Jeremy Andrews (2007-10-14). "HAMMER Performance". KernelTrap. Archived from the original on 2011-11-04. Retrieved 2019-08-21.
- ^ Dillon, Matthew (22 July 2011). "git: HAMMER VFS - Add code to reduce frontend vs flusher locking conflicts". commits (Mailing list).
- ^ Matthew Dillon (2017-09-23). "hammer_disk.h". BSD Cross Reference. DragonFly BSD. Retrieved 2019-03-06.
- ^ Matthew Dillon (2018-05-05). "hammer2_disk.h". BSD Cross Reference. DragonFly BSD. Retrieved 2019-03-06.
- ^ Matthew Dillon (2017-03-27). "git: hammer - HAMMER Version 7". commits@DragonFly (Mailing list). Retrieved 2019-03-06.