Torus

Torus 分布式存储。(Torus Distributed Storage)

  • Owner: coreos/torus
  • Platform: Kubernetes, Linux, Mac
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Torus

Build Status
Go Report Card
GoDoc

Torus Overview

Torus is an open source project for distributed storage coordinated through etcd.

Torus provides a resource pool and basic file primitives from a set of daemons running atop multiple nodes. These primitives are made consistent by being append-only and coordinated by etcd. From these primitives, a Torus server can support multiple types of volumes, the semantics of which can be broken into subprojects. It ships with a simple block-device volume plugin, but is extensible to more.

Quick-glance overview

Sharding is done via a consistent hash function, controlled in the simple case by a hash ring algorithm, but fully extensible to arbitrary maps, rack-awareness, and other nice features. The project name comes from this: a hash 'ring' plus a 'volume' is a torus.

Project Status

Development on Torus at CoreOS stopped as of Feb 2017. We started Torus as a prototype in June 2016 to build a storage system that could be easily operated on top of Kubernetes. We have proven out that model with this project. But, we didn't achieve the development velocity over the 8 months that we had hoped for when we started out, and as such we didn't achieve the depth of community engagement we had hoped for either.

If you have immediate storage needs Kubernetes can plugin to dozens of other storage options including AWS/Azure/Google/OpenStack/etc block storage, Ceph, Gluster, NFS, etc that are external to Kubernetes.

We are also seeing the emergence of projects, like rook, which creates a storage system that is ran on top of Kubernetes, as an Operator. We expect to see more systems like this in the future, because Kubernetes is a perfect platform for running distributed storage systems.

If you are interested in continuing the project feel free to fork and continue; we can update this README if a particular fork gets solid traction.

For further questions email brandon.philips@coreos.com.

Trying out Torus

To get started quicky using Torus for the first time, start with the guide to running your first Torus cluster, learn more about setting up Torus on Kubernetes using FlexVolumes in contrib, or create a Torus cluster on bare metal.

Contributing to Torus

Torus is an open source project and contributors are welcome!
Join us on IRC at #coreos on freenode.net, file an issue here on Github, check out bigger plans on the kind/design tag, contribute on bugs that are low hanging fruit for issue ideas and check the project layout for a guide to the sections that might interest you.

Licensing

Unless otherwise noted, all code in the Torus repository is licensed under the Apache 2.0 license. Some portions of the codebase are derived from other projects under different licenses; the appropriate information can be found in the header of those source files, as applicable.

Main metrics

Overview
Name With Ownercoreos/torus
Primary LanguageGo
Program languageGo (Language Count: 4)
PlatformKubernetes, Linux, Mac
License:Apache License 2.0
所有者活动
Created At2015-10-23 19:56:21
Pushed At2018-01-04 20:29:28
Last Commit At2017-02-22 10:15:08
Release Count5
Last Release Namev0.1.2 (Posted on 2016-09-15 13:12:41)
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count1.8k
Watchers Count88
Fork Count171
Commits Count860
Has Issues Enabled
Issues Count173
Issue Open Count69
Pull Requests Count239
Pull Requests Open Count20
Pull Requests Close Count21
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private