Skip to content

irq0/dev-ceph-rgw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RGW SAL Dev Notes

Filesystem SAL

https://github.com/irq0/ceph/tree/wip/rgw-simple-file

Filesystem Layout

  • Data root - config option rgw simplefile data path
    • Directory buckets/
      • Directory $BUCKET_NAME
        • File RGWBucketInfo.json - JSON serialized RGWBucketInfo
        • Directory objects/
          • Directory hash(rgw_obj_key.name)
            • File rgw_bucket_dir_entry.json - JSON serialized rgw_bucket_dir_entry
            • File data - raw object data
    • Directory users/ - User data TBD

Tools

Make object hash name

echo -n "testobject" | sha256sum

Bucket Name Restrictions

ObjectStore SAL

https://github.com/irq0/ceph/tree/wip/rgw-filestore

Notes

  • Moving bucket metadata objects to their own collection would simplify object listing and empty()

Development

Build

Add -DWITH_RADOSGW_SIMPLEFILE=ON to cmake. For example:

cmake  -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWITH_CCACHE=ON  -DWITH_RADOSGW_DBSTORE=ON -DWITH_RADOSGW_SIMPLEFILE=ON  -DDIAGNOSTICS_COLOR=always ..

Running RGW

bin/radosgw --conf ceph-rgw.conf -d --no-mon-config

Configuration

https://docs.ceph.com/en/latest/rados/troubleshooting/log-and-debug/

[global]
erasure code dir = /home/seri/WORKSPACE/ceph/build/lib
plugin dir = /home/seri/WORKSPACE/ceph/build/lib
run dir = /home/seri/WORKSPACE/ceph/build/out
crash dir = /home/seri/WORKSPACE/ceph/build/out
err to stderr = true
log to stderr = true
debug rgw = 20
debug rgw sync = 20
debug rocksdb = 1
debug filestore = 19
debug journal = 1

[client]
rgw backend store = simplefile
rgw enable ops log = true
rgw log object name = true
rgw simplefile data path = /home/seri/WORKSPACE/dev-ceph-rgw/rgw_data_dir

About

My Ceph RGW dev tools and notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages