https://github.com/irq0/ceph/tree/wip/rgw-simple-file
- Data root - config option rgw simplefile data path
- Directory
buckets/- Directory
$BUCKET_NAME- File
RGWBucketInfo.json- JSON serializedRGWBucketInfo - Directory
objects/- Directory
hash(rgw_obj_key.name)- File
rgw_bucket_dir_entry.json- JSON serializedrgw_bucket_dir_entry - File
data- raw object data
- File
- Directory
- File
- Directory
- Directory
users/- User data TBD
- Directory
echo -n "testobject" | sha256sum- https://stackoverflow.com/questions/50480924/regex-for-s3-bucket-name
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html
https://github.com/irq0/ceph/tree/wip/rgw-filestore
- Moving bucket metadata objects to their own collection would simplify object listing and empty()
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 ..
bin/radosgw --conf ceph-rgw.conf -d --no-mon-confighttps://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