This project provides the common logic for creating and managing LIO gateways for ceph, together with a startup daemon
called rbd-target-gw which is responsible for restoring the state of LIO following a gateway reboot/outage.
This package should be installed on each node that is intended to be an iSCSI gateway. The config modules are used by
Simply install the provided rpm with
rpm -ivh ceph-iscsi-config-<ver>.el7.noarch.rpm
The following packages are required by ceph-iscsi-config and must be installed before starting the rbd-target-gw service:
python-rados python-rbd python-netifaces python-rtslib python-crypto
To install the python package that provides the application logic, run the provided setup.py script
i.e. > python setup.py install
For the management daemon (rbd-target-gw), simply copy the following files into their equivalent places on each gateway
Once the daemon is in place, reload the configuration with
systemctl daemon-reload
systemctl enable rbd-target-gw
systemctl start rbd-target-gw
The functionality provided by each module in the python package is summarised below;
Module | Description |
---|---|
client | logic handling the create/update and remove of a NodeACL from a gateway |
config | common code handling the creation and update mechanisms for the rados configuration object |
gateway | definition of the iSCSI gateway (target plus target portal groups) |
lun | rbd image management (create/resize), combined with mapping to the OS and LIO instance |
utils | common code called by multiple modules |
The rbd-target-gw daemon performs the following tasks;