Remote configuration of a LIO-based storage appliance
Clone or download
Pull request Compare This branch is 2 commits ahead, 11 commits behind MPSTOR:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
scripts
targetd
tests
.gitignore
API.md
Konnector-API.adoc
LICENSE
README.md
client
setup.py
targetd.8
targetd.yaml

README.md

Remote configuration of a "Konnector" storage appliance

"Konnector" storage nodes "import" storage from a fabric (iSCSI, iSER, SAS or FC) and use that storage to create MD RAID and LVM Volumes.

This project is a fork of Andy Grover's targetd and adds iscsi initiator management functionality.

Getting Started


The following dependencies are required :

Installing dependencies

rtslib-fb

$ pip-3.2 install rtslib-fb

py-setproctitle

$ pip install setproctitle

PyYAML

$ pip install PyYAML

lvm2

To install lvm2, preferably use your distribution package manager to install lvm2-python-libs. Several distributions do not have the package (e.g. Ubuntu), so you can install it manually as follow.

$ git clone git://git.fedorahosted.org/git/lvm2.git
$ cd lvm2

/lvm2$ apt-get install thin-provisioning-tools
/lvm2$ apt-get install python-dev
/lvm2$ ./configure --enable-python_bindings --enable-applib

/lvm2$ make
/lvm2$ make install
/lvm2$ cd /usr/lib/python2.7/site-packages/
/usr/lib/python2.7/site-packages$ mv lvm.so ../dist-packages 
/usr/lib/python2.7/site-packages$ cd

How to install Konnector

$ git clone https://github.com/MPSTOR/targetd.git
$ cd targetd
/targetd$ python setup.py install

A configuration file may be placed at /etc/target/targetd.yaml, and is in YAML format. Here's an example:

user: "foo" # strings quoted, or not
password: bar
ssl: false
target_name: iqn.2003-01.org.example.mach1:1234

block_pools: []
fs_pools: []

targetd defaults to using the username 'admin'. The admin password does not have a default -- each installation must set it.

Use the following instructions to move and edit your configuration file:

/targetd$ mv targetd.yaml /etc/target
/targetd$ vi /etc/target/targetd.yaml

Setting "fs_pool" in the config to one or more paths require them to match formatted btrfs mount point, else Konnector will not start and throw an error.

$ cd

Run Konnector

$ targetd

To run unit tests

$ py.test -q tests/test_iscsi_init.py -vv

======= Remote configuration of a "Konnector" storage appliance.

"Konnector" storage nodes "import" storage from a fabric (iSCSI, iSER, SAS or FC) and use that storage to create MD RAID and LVM Volumes.

This project will use targetd as a template, as targetd already has components that can be reused for this Konnector project, namely the jsonrpc-2.0 API as well as the LVM management.

targetd's API will be extended to handle LVM PV/VG creation as well as for iSCSI storage to be connected.