HOME

TheInfoList



OR:

HAMMER is a high-availability
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
file system developed by
Matthew Dillon Matthew Dillon (born 1966) is an American software engineer known for Amiga software, contributions to FreeBSD and for starting and leading the DragonFly BSD project since 2003. Biography Dillon studied electronic engineering and computer scie ...
for
DragonFly BSD DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in ...
using
B+ tree A B+ tree is an m-ary tree with a variable but often large number of children per node. A B+ tree consists of a root, internal nodes and leaves. The root may be either a leaf or a node with two or more children. A B+ tree can be viewed as a B ...
s. Its major features include infinite NFS-exportable snapshots, master–multislave operation, configurable history retention,
fsck The system utility fsck (''file system check'') is a tool for checking the consistency of a file system in Unix and Unix-like operating systems, such as Linux Linux ( ) is a family of open source Unix-like operating systems based on the L ...
less-mount, and
checksums A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify data ...
to deal with
data corruption Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended changes to the original data. Computer, transmission, and storage systems use a number of meas ...
. HAMMER also supports data block deduplication, meaning that identical data blocks will be stored only once on a file system. A successor,
HAMMER2 HAMMER2 is a successor to the HAMMER (file system), HAMMER filesystem, redesigned from the ground up to support enhanced Computer cluster, clustering. HAMMER2 supports online and batched Data deduplication, deduplication, Snapshot (computer storag ...
, was announced in 2011 and became the default in Dragonfly 5.2 (April 2018).


Features

HAMMER file system provides configurable fine-grained and coarse-grained filesystem histories with online snapshots availability. Up to 65536 '' master'' (read–write) and ''slave'' (read-only) pseudo file systems (PFSs), with independent individual retention parameters and inode numbering, may be created for each file system; PFS may be mirrored to multiple slaves both locally or over network connection with near real-time performance. No file system checking is required on remount. HAMMER supports volumes up to 1  EiB of storage capacity. File system supports CRC checksumming of data and metadata, online layout correction and
data deduplication In computing, data deduplication is a technique for eliminating duplicate copies of repeating data. Successful implementation of the technique can improve storage utilization, which may in turn lower capital expenditure by reducing the overall amou ...
, and dynamic
inode An inode (index node) is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attribu ...
s allocation with an effectively unlimited number of inodes.


Limitations

, regular maintenance is required to keep the file system clean and regain space after file deletions. By default, a
cron The cron command-line utility is a job scheduler on Unix-like operating systems. Users who set up and maintain software environments use cron to schedule jobs (commands or shell scripts), also known as cron jobs, to run periodically at fixed t ...
job performs the necessary actions on DragonFly BSD daily. HAMMER does not support multi-master configurations.


Performance

HAMMER is optimized to reduce the number of physical I/O operations to cover the most likely path, ensuring sequential access for optimal performance. The following performance-related improvements were introduced in : * Increased disk read speed in certain scenarios by implementing pulse-width modulated time-domain multiplexer on B-tree cursor operation * Removed a deadlock stalling issue * Improved read performance during heavy, concurrent file write operations


Development

HAMMER was developed specifically for DragonFly BSD to provide a feature-rich yet better designed analogue of the then increasingly popular
ZFS ZFS (previously Zettabyte File System) is a file system with Volume manager, volume management capabilities. It began as part of the Sun Microsystems Solaris (operating system), Solaris operating system in 2001. Large parts of Solaris, includin ...
. HAMMER was declared production-ready with DragonFly 2.2 in 2009; in 2012, design-level work shifted onto
HAMMER2 HAMMER2 is a successor to the HAMMER (file system), HAMMER filesystem, redesigned from the ground up to support enhanced Computer cluster, clustering. HAMMER2 supports online and batched Data deduplication, deduplication, Snapshot (computer storag ...
, which was declared stable with DragonFly 5.2 in 2018. , HAMMER is now often referred to as HAMMER1 to avoid confusion with HAMMER2, although an official renaming has not happened. Both filesystems are independent of each other due to different on-disk formats, and continue to receive separate updates and improvements independently.


See also

*
Comparison of file systems The following tables compare general and technical information for a number of file systems. General information Metadata All widely used file systems record a last modified time stamp (also known as "mtime"). It is not included i ...
*
List of file systems The following lists identify, characterize, and link to more thorough information on file systems. Many older operating systems support only their one "native" file system, which does not bear any name apart from the name of the operating system i ...
*
HAMMER2 HAMMER2 is a successor to the HAMMER (file system), HAMMER filesystem, redesigned from the ground up to support enhanced Computer cluster, clustering. HAMMER2 supports online and batched Data deduplication, deduplication, Snapshot (computer storag ...
*
ZFS ZFS (previously Zettabyte File System) is a file system with Volume manager, volume management capabilities. It began as part of the Sun Microsystems Solaris (operating system), Solaris operating system in 2001. Large parts of Solaris, includin ...
*
Btrfs Btrfs (pronounced as "better F S", "butter F S", "b-tree F S", or "B.T.R.F.S.") is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager (distinct from Linux's LVM), d ...
*
OpenZFS OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system, and is now maintained by the OpenZFS Project. Similar to the original ZFS, the impleme ...


References


External links

* {{File systems , state=expanded DragonFly BSD Distributed file systems 2008 software