Sheepdog is a distributed block storage file system emerging in the open-source community in recent years. It adopts a completely symmetric structure and does not have a central node similar to metadata services. This architecture provides linear scalability without spof and ease of management. For disks and physical nodes, sheepdog enables dynamic capacity management and hides hardware errors. For data management, sheepdog uses redundancy to achieve high availability, and provides automatic data recovery to balance data storage features. In addition, sheepdog has zero configuration, high reliability, intelligent node management, linear capacity expansion, and virtual machine awareness (bottom layer supports cold/hot migration, snapshots, and cloning) and supports the features of the computing and storage hybrid architecture. Currently, open-source software such as qemu, libvirt, and openstack are well integrated with sheepdog support. In openstack, it can be used as the back-end storage of cinder and glance.
Sheepdog consists of cluster management and storage management. The existing cluster management tools are used for cluster management. The storage management is implemented based on the local file system. Currently, the supported local file systems include ext4 and XFS.
The compiled sheepdog consists of two programs: the daemon sheep and the cluster management tool dog. The Daemon sheep also provides node routing and Object Storage.
Sheep processes forward requests through the logic of the node routing (GATEWAY), and specific objects are stored on each node through the logic of Object Storage, this aggregates the buckets on all nodes to form a shared bucket.
Sheepdog consists of two programs, one is the background process sheep and the other is the foreground management tool dog. Dog manages the entire sheep cluster, including cluster management and VDI management. Cluster management mainly includes cluster status acquisition, cluster snapshot, cluster recovery, node information, node logs, and node recovery. VDI management includes creating, deleting, taking snapshots, checking, and attributes of VDI.
Dog is a command line tool. When started, it initiates a TCP connection to the sheep process in the background and transmits control commands through the connection. When sheep receives the control command, if necessary, it will spread the corresponding command to the cluster and add a symmetric design, so that the dog can manage the entire cluster.
Original article: http://www.hengtianyun.com/download-show-id-123.html
[Hengtian Cloud technology sharing series 11] sheepdog Introduction