DISCONTINUATION OF PROJECT
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
Contact: webadmin@linux.intel.com
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.
CeTune is an opensource project, under LGPL V2.1, Drived by INTEL BDT CSE team.
Maillist: https://github.com/01org/CeTune
Subscribe maillist: https://lists.01.org/mailman/listinfo/cephperformance
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.
Install to head and workers:
head and workers need deploy apt-get,wget,pip proxy.
apt-get install -y python
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}
cd /CeTune/deploy/
python worker_dependencies_install.py
# 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/
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]}
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:
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 ',' |
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.