Manual ceph-iscsi Installation


To complete the installation of ceph-iscsi, there are 4 steps:

  1. Install common packages from your Linux distribution’s software repository

  2. Install Git to fetch the remaining packages directly from their Git repositories

  3. Ensure a compatible kernel is used

  4. Install all the components of ceph-iscsi and start associated daemons:

    • tcmu-runner

    • rtslib-fb

    • configshell-fb

    • targetcli-fb

    • ceph-iscsi

1. Install Common Packages

The following packages will be used by ceph-iscsi and target tools. They must be installed from your Linux distribution’s software repository on each machine that will be a iSCSI gateway:

  • libnl3

  • libkmod

  • librbd1

  • pyparsing

  • python kmod

  • python pyudev

  • python gobject

  • python urwid

  • python pyparsing

  • python rados

  • python rbd

  • python netifaces

  • python crypto

  • python requests

  • python flask

  • pyOpenSSL

2. Install Git

In order to install all the packages needed to run iSCSI with Ceph, you need to download them directly from their repository by using Git. On CentOS/RHEL execute:

sudo yum install git

On Debian/Ubuntu execute:

sudo apt install git

To know more about Git and how it works, please, visit

3. Ensure a compatible kernel is used

Ensure you use a supported kernel that contains the required Ceph iSCSI patches:

  • all Linux distribution with a kernel v4.16 or newer, or

  • Red Hat Enterprise Linux or CentOS 7.5 or later (in these distributions ceph-iscsi support is backported)

If you are already using a compatible kernel, you can go to next step. However, if you are NOT using a compatible kernel then check your distro’s documentation for specific instructions on how to build this kernel. The only Ceph iSCSI specific requirements are that the following build options must be enabled:


4. Install ceph-iscsi

Finally, the remaining tools can be fetched directly from their Git repositories and their associated services started



git clone
cd tcmu-runner

Run the following command to install all the needed dependencies:


Now you can build the tcmu-runner. To do so, use the following build command:

cmake -Dwith-glfs=false -Dwith-qcow=false -DSUPPORT_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX=/usr
make install

Enable and start the daemon:

systemctl daemon-reload
systemctl enable tcmu-runner
systemctl start tcmu-runner



git clone
cd rtslib-fb
python install



git clone
cd configshell-fb
python install



git clone
cd targetcli-fb
python install
mkdir /etc/target
mkdir /var/target


The ceph-iscsi tools assume they are managing all targets on the system. If targets have been setup and are being managed by targetcli the target service must be disabled.



git clone
cd ceph-iscsi
python install --install-scripts=/usr/bin
cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system

Enable and start the daemon:

systemctl daemon-reload
systemctl enable rbd-target-gw
systemctl start rbd-target-gw
systemctl enable rbd-target-api
systemctl start rbd-target-api

Installation is complete. Proceed to the setup section in the main ceph-iscsi CLI page.