Block Devices

Block devices are one of the fundamental device classes on a Linux or UNIX system. These devices most often represent disk drives or other storage. When it comes to these devices, Linux has largely reached a state of maturity but there have been some nice improvements.

Linux has for many years included support for software RAID, consolidating several drives together to provide redundancy. This is commonly used in business and enterprise environments for data safety. In a typical RAID setup, several disks may be strung together such that the failure of any one of them will not cause data loss. Linux 3.0 now includes the RAID 6 scheme. This scheme uses dual parity blocks to add a second layer of protection. Users of this scheme will have to have two simultaneous failures in an array of drives in order for data to be lost. Linux has further improved data safety by now also being able to poll the health of compatible underlying devices. This allows administrators to be aware of potential faults before they happen.

One other advancement since the launch of Linux 2.6 has been the beginnings of “object store” devices. Instead of behaving like a disk where you have a large array of blocks that you can access in any order, these devices represent a new model where the hardware itself defines “objects” and “containers” which may be accessed by the operating system. Linux 3.0 includes support for these Object Storage Devices (OSDs) as well as a new filesystem, “exofs”, which is designed to work with them. While this technology has not hit mainstream use yet, Linux will be ready when and if it does.

Continue on to Filesystems...