Difference between ZFS and UFS
ZFS vs UFS:
A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data as well as manage the available space on the device(s) which contain it. A file system organizes data in an efficient manner and is tuned to the specific characteristics of the device. In the modern technology world, ZFS and UFS are important topics, although many are unknown to their differences. Therefore, this article will provide a brief discussion how ZFS differ from UFS.
What is ZFS?
ZFS – the Zettabyte File System – is an enormous advance in capability on existing file systems. ZFS is a new kind of file system that provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability. The ZFS file system is a revolutionary new file system that fundamentally changes the way file systems are administered, with features and benefits not found in any other file system available today. ZFS is robust, scalable, and easy to administer. It is available in Sun’s Solaris 10 and has been made open source. The advantages of ZFS look so great that its use may well spread to other UNIX distributions and even, possibly and eventually, to Windows. ZFS presents a pooled storage model that completely eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth and stranded storage. ZFS is a transactional file system, which means that the file system state is always consistent on disk. A key design element of the ZFS file system is scalability. The file system itself is 128 bit, allowing for 256 quadrillion zettabytes of storage. The largest SI prefix that the developers liked was ‘zetta’, and since ZFS is a 128-bit file system, the name was a reference to the fact that ZFS can store 256 quadrillion zettabytes (where each ZB is 270 bytes). ZFS was designed and implemented by a team at Sun led by Jeff Bonwick and Matthew Ahrens. It was announced on September 14, 2004, but development started in 2001.
What is UFS?
UFS stands for Unix File System. It is a file system used by many UNIX and UNIX-like operating systems. A UNIX file system is a collection of files and directories stored. Each file system is stored in a separate whole disk partition. UFS is also called the Berkeley Fast File System, the BSD Fast File System or FFS. It is a distant descendant of the original file system used by Version 7 Unix. The UNIX file system has several important features. Above all, it consists of different types of files such as Ordinary files, Directories, Special files and Pipes. Ordinary files are used to store information such as some text that have been written or an image, which have been drawn. This is the file type that is usually used. A directory is a file that holds other files and other directories. Directories can be created in the home directory to hold files and other sub-directories. Special files are used to represent a real physical device such as a printer, tape drive or terminal. The pipe acts as a temporary file which only exists to hold data from one command until it is read by another. The structure of the file system is another important feature. The UNIX file system is organised as a hierarchy of directories starting from a single directory called root which is represented by a / (slash). Imagine it as being similar to the root system of a plant or as an inverted tree structure.
What is the difference between UFS and ZFS?
ZFS is made up of a plethora of features and components. UFS in contrast is composed of a variety of parts and components. UFS is a file system used exclusively with UNIX and all Unix-like operation systems. ZFS in contrast is Open Source software that is licensed under the Common Development and Distribution License (or CDDL). ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The ZFS name was a trademark of Oracle until September 20, 2011. UFS on the other hand is a distant descendant of the original file system used by Version 7 Unix. An inode (index node) is a data structure found in many UNIX file systems. Each inode stores all the information about a file system object (file, directory, device node, socket and pipe), except data content and file name. A vnode is an object in kernel memory that speaks the UNIX file interface. Vnodes can represent files, directories, FIFOs, domain sockets, block devices, and character devices. In case of UFS, inodes are created at the time of creating the file system and are used to refer the files/directories. When it comes to ZFS, vnodes are created at the time when files/directories are created and are used to refer the files/directories.
In UFS, mirroring occurs on the block level. In contrast, when it comes to ZFS, mirroring occurs on the data level. In UFS, it can have only one snapshot for a same file system. But when it comes to ZFS, it can have more than one snapshot for a same file system. Unlike the UFS, ZFS have inbuilt Volume Manager.