0-Disk

module
v1.1.0-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2017 License: Apache-2.0

README

G8OS Block Storage Build Status

The G8OS block storage allows to create and use block devices (volumes) on top of the G80S object storage.

A volume can be deduped, have various blocksizes and depending on the underlying objectstor cluster used, have different speed characteristics.

Make sure tot have Golang version 1.6 or above installed!

Components:

  • Volume Controller AYS to manage volumes. A rest api allows easy access from external systems.
  • NBD Server A Network Block Device server to expose the volumes to virtual machines.

Build for g8os

  • Clone the code to your GOPATH and go get the dependencies:
go get -d github.com/g8os/blockstor
cd $GOPATH/src/github.com/g8os/blockstor/nbdserver
  • Build (totally static) the binary: CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' .
  • Put that single binary somewhere alone: mkdir /tmp/gonbdserver && cp nbdserver /tmp/gonbdserver
  • From JumpScale, create the flist:
kvs = j.servers.kvs.getRocksDBStore(name='flist', namespace=None, dbpath="/tmp/flist-gonbdserver.db")
f = j.tools.flist.getFlist(rootpath='/tmp/gonbdserver', kvs=kvs)
f.add('/tmp/gonbdserver/')
f.upload("remote-ardb-server", 16379)
  • Pack your rocksdb database, and you're done:
cd /tmp/flist-gonbdserver.db/
tar -cf ../flist-gonbdserver.db.tar *
cd .. && gzip flist-gonbdserver.db.tar

Directories

Path Synopsis
clients
Package clients combines the generated clients for external services
Package clients combines the generated clients for external services
lba
stubs
Package stubs provides fake implementations for external components like ardb.
Package stubs provides fake implementations for external components like ardb.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL