Git Product home page Git Product logo

ceph-iscsi-config's Introduction

ceph-iscsi-config

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.

Usage

This package should be installed on each node that is intended to be an iSCSI gateway. The config modules are used by

Installation

Via RPM

Simply install the provided rpm with
rpm -ivh ceph-iscsi-config-<ver>.el7.noarch.rpm

Manually

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-netaddr 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

  • <archive_root>/usr/lib/systemd/system/rbd-target-gw.service --> /lib/systemd/system
  • <archive_root>/usr/bin/rbd-target-gw --> /usr/bin

Once the daemon is in place, reload the configuration with

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

Features

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;

  1. At start up remove any osd blacklist entry that may apply to the running host
  2. Read the configuration object from Rados
  3. Process the configuration
    3.1 map rbd's to the host
    3.2 add rbd's to LIO
    3.3 Create the iscsi target, TPG's and port IP's
    3.4 Define clients (NodeACL's)
    3.5 add the required rbd images to clients

ceph-iscsi-config's People

Contributors

ktdreyer avatar leseb avatar mikechristie avatar pcuzner avatar vshankar avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.