BLOCK STORAGE

Block storage, sometimes referred to as block-level storage, is a technology that is used to store data files on storage area networks (SANs) or cloud-based storage environments. Developers favor block storage for computing situations where they require fast, efficient, and reliable data transportation.

Block storage breaks up data into blocks and then stores those blocks as separate pieces, each with a unique identifier. The SAN places those blocks of data wherever it is most efficient. That means it can store those blocks across different systems and each block can be configured (or partitioned) to work with different operating systems.

Block storage also decouples data from user environments, allowing that data to be spread across multiple environments. This creates multiple paths to the data and allows the user to retrieve it quickly. When a user or application requests data from a block storage system, the underlying storage system reassembles the data blocks and presents the data to the user or application.


Block storage vs. object storage vs. file storage

Block storage is not alone in the world of data storage. Developers also use other systems, such as object storage and file storage. While the ultimate goal of each is to provide data to users and applications, each of those storage methods goes about storing and retrieving data differently.

Object storage

Object storage, which is also known as object-based storage, breaks data files up into pieces called objects. It then stores those objects in a single repository, which can be spread out across multiple networked systems.

In practice, applications manage all of the objects, eliminating the need for a traditional file system. Each object receives a unique ID, which applications use to identify the object. And each object stores metadata—information about the files stored in the object.

One important difference between object storage and block storage is how each handles metadata. In object storage, metadata can be customized to include additional, detailed information about the data files stored in the object. For example, metadata accompanying a video file could be customized to tell where the video was made, the type of camera used to shoot it, and even what subjects were captured in each frame. In block storage, metadata is limited to basic file attributes.

Block storage is best suited for static files that aren’t changed often because any change made to a file results in the creation of a new object.

File storage

File storage, which is also referred to as file-level or file-based storage, is normally associated with Network Attached Storage (NAS) technology. NAS presents storage to users and applications using the same ideology as a traditional network file system. In other words, the user or application receives data through directory trees, folders, and individual files. This functions similarly to a local hard drive. However, NAS or the Network Operating System (NOS) handle access rights, file sharing, file locking, and other controls.

File storage can be very easy to configure, but access to data is constrained by a single path to the data, which can impact performance compared to block or object storage. File storage also only operates with common file-level protocols, such as a New Technology File System (NTFS) for Windows or a Network File System (NFS) for Linux. This could limit usability across dissimilar systems.

Block storage examples

Block storage allows for the creation of raw storage volumes, which server-based operating systems can connect to. You can treat those raw volumes as individual hard drives. This lets you use block storage for almost any kind of application, including file storage, database storage, virtual machine file system (VMFS) volumes, and more.

Take, for example, the deployment of virtual machines across an enterprise. With block storage, you can easily create and format a block-based storage volume to store the VMFS. A physical server can then attach to that block, creating multiple virtual machines. What’s more, creating a block-based volume, installing an operating system, and attaching to that volume allows users to share files using that native operating system.

Private cloud deployments are another excellent use of block storage. For a deeper dive into private clouds and block storage, check out the IBM Garage’s explanation of virtualization for extending virtualized private cloud using block and file storage.

Did you find this article useful?