Manual ceph-iscsi-cli Installation¶
Requirements
The following packages will be used by ceph-iscsi-cli 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 kmod
python pyudev
python gobject
python urwid
python pyparsing
python rados
python rbd
python netaddr
python netifaces
python crypto
python requests
python flask
pyOpenSSL
Packages
Linux Kernel
If not using a distro kernel that contains the required Ceph iSCSI patches, then Linux kernel v4.17 or newer or the ceph-client ceph-iscsi-test branch must be used. To get the branch run:
> git clone https://github.com/ceph/ceph-client.git > git checkout ceph-iscsi-test
Warning
ceph-iscsi-test is not for production use. It should only be used for proof of concept setups and testing. The kernel is only updated with Ceph iSCSI patches. General security and bug fixes from upstream are not applied.
Check your distro’s docs for specific instructions on how to build a kernel. The only Ceph iSCSI specific requirements are the following build options must be enabled:
CONFIG_TARGET_CORE=m CONFIG_TCM_USER2=m CONFIG_ISCSI_TARGET=m
tcmu-runner
Installation:
> git clone https://github.com/open-iscsi/tcmu-runner > cd tcmu-runner
Ceph iSCSI requires systemd so the following build command must be used:
> 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
rtslib-fb
Installation:
> git clone https://github.com/open-iscsi/rtslib-fb.git > cd rtslib-fb > python setup.py install
configshell-fb
Installation:
> git clone https://github.com/open-iscsi/configshell-fb.git > cd configshell-fb > python setup.py install
targetcli-fb
Installation:
> git clone https://github.com/open-iscsi/targetcli-fb.git > cd targetcli-fb > python setup.py install > mkdir /etc/target > mkdir /var/target
Warning
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.
ceph-iscsi-config
Installation:
> git clone https://github.com/ceph/ceph-iscsi-config.git > cd ceph-iscsi-config > python setup.py install > cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
Enable and start the daemon:
> systemctl daemon-reload > systemctl enable rbd-target-gw > systemctl start rbd-target-gw
ceph-iscsi-cli
Installation:
> git clone https://github.com/ceph/ceph-iscsi-cli.git > cd ceph-iscsi-cli > python setup.py install > cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system
Installation is complete. Proceed to the setup section in the main ceph-iscsi-cli page.