Coder Social home page Coder Social logo

cetune's Introduction

Functionality Description

  • CeTune is a toolkit/framework to deploy, benchmark, profile and tune *Ceph cluster performance.
  • Aim to speed up the procedure of benchmarking *Ceph performance, and provide clear data charts of system metrics, latency breakdown data for users to analyze *Ceph performance.
  • CeTune provides test performance through three interfaces: block, file system and object to evaluate *Ceph.

Maintainance


Prepare

  • one node as CeTune controller(AKA head), Other nodes as CeTune worker(AKA worker).
  • Head is able to autossh to all workers include himself, head has a 'hosts' file contains all workers info.
  • All nodes are able to connect to yum/apt-get repository and also being able to wget/curl from ceph.com.

Installation

  • Install to head and workers:
head and workers need deploy apt-get,wget,pip proxy.
apt-get install -y python
  • Install to head:
git clone https://github.com/01org/CeTune.git

cd /CeTune/deploy/
python controller_dependencies_install.py

# make sure head is able to autossh all worker nodes and 127.0.0.1
cd ${CeTune_PATH}/deploy/prepare-scripts; ./configure_autossh.sh ${host} ${ssh_password}
  • Install to workers:
cd /CeTune/deploy/
python worker_dependencies_install.py

Start CeTune with WebUI

# install webpy python module
cd ${CeTune_PATH}/webui/ 
git clone https://github.com/webpy/webpy.git

cd webpy
python setup.py install

# run CeTune webui
cd ${CeTune_PATH}/webui/
Python webui.py

# you will see below output
root@client01:/CeTune/webui# python webui.py
http://0.0.0.0:8080/

Add user for CeTune

cd /CeTune/visualizer/
# show help
python user_Management.py --help

# add a user
cd /CeTune/visualizer/
python user_Management.py -o add --user_name {set username} --passwd {set passwd} --role {set user role[admin|readonly]}

# delete a user
python user_Management.py -o del --user_name {username}

# list all user
python user_Management.py -o list

# update a user role
python user_Management.py -o up --user_name {username} --role {set user role[admin|readonly]}
  • CeTune WebUI

webui.png


Configure

  • Use WebUI 'Test Configuration' Page, you can specify all the deploy and benchmark required configuration.
  • Also users are also able to directly modify conf/all.conf, conf/tuner.yaml, conf/cases.conf to do configuration.
  • Configuration helper is both under 'helper' tag, right after 'User Guide' and shows on the configuration page.
  • Below is a brief intro of all configuration files' objective:
    • conf/all.conf
      • This is a configuration file to describe cluster, benchmark.
    • conf/tuner.yaml
      • This is a configuration file to tune ceph cluster, including pool configuration, ceph.conf, disk tuning, etc.
    • conf/cases.conf
      • This is a configuration file to decide which test case to run.

Deploy Ceph

Assume ceph is installed on all nodes, this part is demonstrate the workflow of using CeTune to deploy osd and mon to bring up a healthy ceph cluster.

  • Configure nodes info under 'Cluster Configuration'
KEY VALUE DESCRIPTION
clean build true / false Set true, clean current deployed ceph and redeploy a new cluster; Set false, try obtain current cluster layout, and add new osd to the existing cluster
head ${hostname} Cetune controller node hostname
user root Only support root currently
enable_rgw true / false Set true, cetune will also deploy radosgw; Set false, only deploy osd and rbd nodes
list_server ${hostname1},${hostname2},... List osd nodes here, split by ','
list_client ${hostname1},${hostname2},... List client(rbd/cosbench worker) nodes here, split by ','
list_mon ${hostname1},${hostname2},... List mon nodes here, split by ','
${server_name} ${osd_device1}:${journal_device1},${osd_device2}:${journal_device2},... After adding nodes at 'list_server', cetune will add new lines whose key is the server's name;Add osd:journal pair to corresponding node, split by ','
  • Uncheck 'Benchmark' and only check 'Deploy', then click 'Execute'

webui_deploy.png

  • WebUI will jump to 'CeTune Status' and you will about to see below console logs

webui_deploy_detail.png


Benchmark Ceph

  • Users are able to configure disk_read_ahead, scheduler, etc at 'system' settings.
  • Ceph.conf Tuning can be added to 'Ceph Tuning', so CeTune will runtime apply to ceph cluster.
  • 'Benchmark Configuration' is how we control the benchmark process, will give a detail explaination below.
    • There are two parts under 'Benchmark Configuration'.
    • the first table is to control some basic settings like where to store result data, what data will be collected, etc.
    • The second table is to control what testcase will be run, users can add multi testcase, so all the testcases will be run one by one.

Check Benchmark Results

webui_result.png

webui_result_detail.png

webui_result_detail2.png


User Guidance PDF

CeTune Documents Download Url

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.