Zettabyte File System (ZFS)

J

Jarret W. Buse

Guest
Zettabyte File System (ZFS)

When originally developed, ZFS stood for Zettabyte File System. The acronym no longer stands for Zettabyte File System and has no meaningful acronym as it started out having.

ZFS is a 128-bit file system developed by Sun Microsystems in 2005 for OpenSolaris.

The maximum volume size for a ZFS volume is 2 to the power of 64 for a total of 18 exabits. The maximum number of files in a directory which ZFS supports is 2 to the power of 48 or 281,474,976,710,656 files. The filename can have a maximum length of 255 characters.

ZFS supports deduplication.

RAID is supported by ZFS. ZFS does support RAID-1, except that more than two disks can be mirrored. Other RAID supported is not the standard RAID types, but RAID-Z. Specifically, ZFS supports RAID-Z levels 1, 2, and 3. RAID-Z1 will mirror small blocks across disks instead of using parity. RAID-Z2 uses double the parity across disks to allow for a maximum of two disks to fail and the data on the RAID volume to remain accessible. RAID-Z3 uses triple parity to allow for a maximum of three disks to fail before the volume is inaccessible. When a large disk fails on a RAID system, it takes a long time to reconstruct the data from the parity. Disks with storage capabilities in the high terabyte range can take weeks for data reconstruction from parity. Using a higher level of RAID-Z allows for the disks to not be slowed down by allowing disk access and data repair at the same time.

For increased size, ZFS supports Resizing. The file system can cover multiple block devices. In this case, multiple drives can be joined in a ZFS Storage Pool (zpool). Each device, or hard disk, is a virtual device (vdev). If one vdev fails, the whole zpool goes offline. To prevent this from occurring, a zpool can be implemented with RAID so it has redundancy to remain online in case of failure. The ZFS file system can support up to 18,446,744,073,709,551,616 vdev devices in a zpool. The same number is the amount of zpools on a system.

It should be noted that when a volume has RAID enabled (RAID 0 - striping), the volume can be increased by Resizing. When a new drive is added to a RAID volume, the stripes are dynamically resized to allow for the new drive to be included into the RAID set.

Snapshots allow for an image that can readily be used for making a backup and not require files to be locked. Files can also be skipped in some cases if the file is opened and being modified at the time of the backup. For writing, clones can also be used.

A zpool can support Quotas to limit the available space to a user or group. Unlimited access can allow certain users and/or groups to fill drives to full capacity.

To compensate for drive speed, ZFS uses a cache algorithm called ARC. For data that is accessed often, ZFS will keep the data in RAM, which is faster than a hard disk. If the data is no longer accessed as much, the data is not cached in RAM. If the hardware system has low RAM, then the caching is not managed and all data is stored on disk only. ZFS works with low memory systems, but works better with higher amounts of RAM.

All pointers to a block use a 256-bit checksum to provide data integrity. Data is written as a Copy-On-Write (COW). Data is written to new blocks before the pointer is changed to the new block location. Once done, the old blocks are marked as unused. Blocks are not overwritten.

Blocks can be of variable sizes, up to a maximum of 1,024 KB. When Compression is enabled, variable block sizes are used to allow for smaller block usage when a file is shrunk.

ZFS supports compression. Compression is used to reduce file size before storing it on disk. Compression saves space on the drives and produces faster reads. Since the data is compressed, there is less data to be read from the disk. Write times can also be reduced, but it does require a little overhead to compress before a write and uncompress after a read. Compression/decompression is performed by the CPU. The available compression methods are LZJB and gzip.

To help reduce the space taken up by data files, ZFS supports Deduplication. The process of Deduplication is to remove repetitive data from a file making it smaller on the disk. Similar to caching data to RAM, Deduplication requires RAM to perform the process. It is suggested to have one to two gigabytes of RAM for every terabyte of drive space on the ZFS volume.

ZFS supports encryption which occurs in the I/O pipeline. Encryption modifies the data file with an encryption key so the data is unreadable even if the drive is removed and placed into another system.

Before a write, the order of precedence is:
  • Compression – Data is compressed (if enabled)
  • Encryption – Data is encrypted (if enabled)
  • Checksum – Checksum is created for data
  • Deduplication – Duplicated data sections are removed

When data is read from the disk and sent back through the I/O pipeline, these steps are performed in reverse.
 

Attachments

  • slider.jpg
    slider.jpg
    13.3 KB · Views: 118,095


Dear Sir,

I have purchase NEw All in one desktop Lenovo Essential C240 Black, Spec. Processor: Intel Dure core 847 (1.1 Ghz) 500GB HDD, 2 GB DDR3 ram.
Where and what lunix system shall i purchase and from where
 
Go to Forums and select Popular Distributions. Or click here. From this list you can pick a distribution type. Nearly all Linux distributions are free to download. Otherwise go to the Forum section for Beginners.

Otherwise, go to Ubuntu.com and download the newest version. It seems to be popular.

Hope this helps.
 
Dear Sir,

I have purchase NEw All in one desktop Lenovo Essential C240 Black, Spec. Processor: Intel Dure core 847 (1.1 Ghz) 500GB HDD, 2 GB DDR3 ram.
Where and what lunix system shall i purchase and from where
Please keep questions on topic. This topic is on the ZFS file system.
 

Members online


Latest posts

Top