BSDCan2011 - Final (with audio).5

BSDCan 2011
The Technical BSD Conference

Pawel Jakub Dawidek
Day Talks - 2 - 2011-05-14
Room DMS 1140
Start time 10:00
Duration 01:00
ID 254
Event type Lecture
Language used for presentation English


Highly Available Storage for FreeBSD

HAST stands for Highly Available STorage. It provides block-level data replication over the TCP/IP network that can be used for Primary-Secondary cluster setups. The talk will provide more details about HAST and will demonstrate how to configure and use HAST (hopefully).

HAST allows to transparently store data on two physically separated machines connected over the TCP/IP network. Those two machines together compose a cluster. HAST works in Primary-Secondary (Master-Backup, Master-Slave) configuration, which means that only one of the cluster nodes can be active at any given time. Active node will be called Primary node. This is the node that is able to handle I/O requests to HAST-managed devices. Currently HAST is limited to two cluster nodes in total.

HAST operates at block level - it provides disk-like devices in /dev/hast/ directory for use by file systems and/or applications. Working at block level makes it transparent for file systems and applications. There in no difference between using HAST-provided device and raw disk, partition, etc. All of them are just regular GEOM providers in FreeBSD.

HAST can be compared to a RAID1 (mirror) where one of the components is local disk (on the primary node) and second component is a disk on the remote machine (secondary node). Every write, delete or flush operation (BIOWRITE, BIODELETE, BIOFLUSH) is send to the local and to the remote disks over TCP connection (if secondary node is available). Every read operation (BIOREAD) is served from local disk, unless local disk isn't up-to-date or an I/O error occurs, then read operation is send to secondary node (if it is, of course, available).