"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.
The following dependencies are required :
$ pip-3.2 install rtslib-fb
$ pip install setproctitle
$ pip install PyYAML
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
$ 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.