A network block device (NBD) is a remote data storage technique used on Linux® and Unix® computer systems, which allows a client computer to access a data store on a remote system. Once the client computer has set up the NBD, it is used as though it were a disk drive actually on the client as opposed to somewhere else on the network. The network block device on the server can be an actual hard disk or even a special type of file that can be accessed as though it were a disk. Although slower than a local hard disk, the method is useful for a number of cases, such as backup or compact computers without a disk drive.
Using the network block device, in most cases, entails a server and client model. On the server, what is referred to as the device node is maintained. This is typically either a hard disk, an array of disks, or a type of file often referred to as a disk image. The server runs a small bit of software, called a daemon, which allows for a client to access the device node from the server and mount it locally. From the client computer's perspective, the device node is accessed just as if it were any other disk drive.
The network block device is similar, in many ways, to another technique used by Unix® systems known as a network file system (NFS). One primary difference, however, is the protocol by which the communication occurs. NFS uses the user datagram protocol (UDP), whereas NBD uses the transmission control protocol (TCP). Since UDP is something of a fire and forget method of packet transfer over the network, it is sometimes hindered by the client having to ask for retransmission of the data. The TCP communication, on the other hand, establishes a dedicated connection between the client and server, ensuring the NBD data is read to and written from accurately.
This ability in a network block device implementation allows for some special types of disk mirroring to be established between the client and server. This technique is known as a redundant array of independent disks (RAID). With a type one RAID setup, the data on one disk is mirrored on any number of additional disks, providing an instantly accessible backup should any of the disks fail. In essence, the array is viewed by the computer operating system as a single disk.
One such product that makes extensive use of the network block device technique is known as the distributed replicated block device (DRBD®). A DRBD® setup is often used for very large disk arrays that require high availability. In this case, though, one disk array is set up in a RAID format, and then mirrored on other disk arrays through the use of an NDB. The DRBD® is then accessible to any number of client computers.