remove ceph code
[stor4nfv.git] / src / ceph / src / tools / rbd_recover_tool / README
diff --git a/src/ceph/src/tools/rbd_recover_tool/README b/src/ceph/src/tools/rbd_recover_tool/README
deleted file mode 100644 (file)
index 73c19b9..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-# author: Min chen(minchen@ubuntukylin.com) 2014 2015
-
-------------- ceph rbd recover tool -------------
-
-  ceph rbd recover tool is used for recovering ceph rbd image, when all ceph services are killed.
-it is based on ceph-0.80.x (Firefly and newer)
-  currently, ceph service(ceph-mon, ceph-osd) evently are not avaiable caused by bugs or sth else
-, especially on large scale ceph cluster, so that the ceph cluster can not supply service 
-and rbd images can not be accessed. In this case, a tool to recover rbd image is nessecary.
-  ceph rbd recover tool is just used for this, it can collect all objects of an image from distributed
-osd nodes with the latest pg epoch, and splice objects by offset to a complete image. To make sure
-object data is complete, this tool does flush osd journal on each osd node before recovering.
-  but, there are some limitions:
--need ssh service and unobstructed network 
--osd data must be accessed on local disk
--clone image is not supported, while snapshot is supported
--only support relicated pool
-
-before you run this tool, you should make sure that:
-1). all processes (ceph-osd, ceph-mon, ceph-mds) are shutdown
-2). ssh deamon is running & network is ok (ssh to each node without password)
-3). ceph-kvstore-tool is installed(for ubuntu: apt-get install ceph-test)
-4). osd disk is not crashed and data can be accessed on local filesystem
-
--architecture:
-
-                      +---- osd.0
-                      |
-admin_node -----------+---- osd.1
-                      |
-                      +---- osd.2
-                     |
-                      ......
-
--files:
-admin_node: {rbd-recover-tool  common_h  epoch_h  metadata_h  database_h}
-osd:        {osd_job           common_h  epoch_h  metadata_h} #/var/rbd_tool/osd_job
-in this architecture, admin_node acts as client, osds act as server.
-so, they run diffrent files: 
-on admin_node run:  rbd-recover-tool <action> [<parameters>]
-on osd node run:    ./osd_job <funtion> <parameters>
-admin_node will copy files: osd_job, common_h, epoch_h, metadata_h to remote osd node
-
-
--config file
-before you run this tool, make sure write config files first
-osd_host_path: osd hostnames and osd data path #user input
-  osdhost0     /var/lib/ceph/osd/ceph-0
-  osdhost1     /var/lib/ceph/osd/ceph-1
-  ......
-mon_host: all mon node hostname #user input
-  monhost0
-  monhost1
-  ......
-mds_host: all mds node hostname #user input
-  mdshost0
-  mdshost1
-  ......
-then, init_env_admin function will create file: osd_host
-osd_host: all osd node hostname #generated by admin_job, user ignore it
-  osdhost0
-  osdhost1
-  ......
-
-
--usage:
-rbd-recovert-tool <operation>
-<operation> :
-database               #generating offline database: hobject path, node hostname, pg_epoch and image metadata
-list                   #list all images from offline database
-lookup <pool_id>/<image_name>[@[<snap_name>]]  #lookup image metadata in offline database
-recover <pool_id><image_name>[@[<snap_name>]] [/path/to/store/image]   #recover image data according to image metadata
-
--steps:
-1. stop all ceph services: ceph-mon, ceph-osd, ceph-mds
-2. setup config files: osd_host_path, mon_host, mds_host
-3. rbd-recover-tool database   # wait a long time 
-4. rbd-recover-tool list
-4. rbd-recover-tool recover <pool_id>/<image_name>[@[<image_name>]] [/path/to/store/image]
-
-
--debug & error check
-if admin_node operation is failed, you can check it on osd node
-cd /var/rbd_tool/osd_job
-./osd_job <operation>
-<opeartion> :
-do_image_id <image_id_hobject>         #get image id of image format v2 
-do_image_id <image_header_hobject>     #get image id of image format v1
-do_image_metadata_v1 <image_header_hobject>    #get image metadata of image format v1, maybe pg epoch is not latest
-do_image_metadata_v2 <image_header_hobject>    #get image metadata of image format v2, maybe pg epoch is not latest
-do_image_list                          #get all images on this osd(image head hobject)
-do_pg_epoch                            #get all pg epoch and store it in /var/rbd_tool/single_node/node_pg_epoch
-do_omap_list                           #list all omap headers and omap entries on this osd
-
-
--FAQ
-file FAQ lists some common confusing cases while testing