Vitaliy Filippov
8e36f04482
One more experiment with cluster AFR%
2020-09-27 19:42:42 +03:00
Vitaliy Filippov
f460d8c1c8
Add note about NBD
2020-09-26 00:11:55 +03:00
Vitaliy Filippov
7619a789c0
Set request size in NBD
2020-09-26 00:01:23 +03:00
Vitaliy Filippov
e65a28e27e
Implement a simple NBD proxy (does not daemonize yet)
2020-09-25 20:51:01 +03:00
Vitaliy Filippov
6852f299ae
Add functions to calculate AFR for a cluster
2020-09-24 23:15:26 +03:00
Vitaliy Filippov
1967269c13
Resume operations in cluster_client when PGs are loaded (fixes a hang in qemu-img)
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
7574183ba6
Make qemu driver build with QEMU 3.x
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
108cd6312d
Correct some typos in README, add note about qemu-img
2020-09-20 01:50:19 +03:00
Vitaliy Filippov
588b9e6393
Add README
2020-09-17 23:07:50 +03:00
Vitaliy Filippov
0471b09b9c
Add license notices to all source code files
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
ef911555ed
Add cpp-btree and json11 submodules
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
9d20839a02
Add license texts
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
67a2e5640c
Fix a GIANT memory leak on read :D
2020-09-17 00:45:59 +03:00
Vitaliy Filippov
28a0f08ce7
Add a very simple tool for calculating device offsets
2020-09-17 00:45:59 +03:00
Vitaliy Filippov
9b4e5b64ae
Move monitor to mon/
2020-09-16 02:15:26 +03:00
Vitaliy Filippov
4ca2eeafff
Prefer data OSDs for EC/XOR because they can actually read something locally
2020-09-16 01:34:18 +03:00
Vitaliy Filippov
79156e0ee1
Add test systemd unit generation script
2020-09-13 12:50:15 +03:00
Vitaliy Filippov
ed26c33f85
React to down OSDs instantly, set timer to recheck PGs after <osd_out_time>
2020-09-13 12:23:18 +03:00
Vitaliy Filippov
18692517be
Increase receive_buffer_size
2020-09-13 00:39:20 +03:00
Vitaliy Filippov
de6919b02b
Add option to disable multiple overwrites of the same journal sector
...
This makes sense for some SSDs like Intel D3-4510 because they don't
like overwrites of the same sector:
$ fio -direct=1 -rw=write -bs=4k -size=4k -loops=100000 -iodepth=1
write: IOPS=3142, BW=12.3MiB/s (12.9MB/s)(97.9MiB/7977msec)
$ fio -direct=1 -rw=write -bs=4k -size=128k -loops=100000 -iodepth=1
write: IOPS=20.8k, BW=81.4MiB/s (85.3MB/s)(543MiB/6675msec)
2020-09-13 00:37:39 +03:00
Vitaliy Filippov
8f9f438e25
Allow zero reweights, fix changing pgs
2020-09-11 23:59:30 +03:00
Vitaliy Filippov
db4b82089e
connecting=true was also forgotten
2020-09-11 19:51:17 +03:00
Vitaliy Filippov
faa871090f
Do not die in mon on bad JSON in etcd
2020-09-11 19:25:52 +03:00
Vitaliy Filippov
49ec8c7c63
Add --verbose 1 flag for mon
2020-09-11 18:49:07 +03:00
Vitaliy Filippov
eadd454992
Fix etcd key regexps
2020-09-11 18:33:49 +03:00
Vitaliy Filippov
a15bd23ebd
Missed a bad PG key
2020-09-11 17:56:18 +03:00
Vitaliy Filippov
e3f502b466
Oops, I forgot a file
2020-09-11 17:49:44 +03:00
Vitaliy Filippov
6e72cf2732
Disable stdout/stderr buffering
2020-09-11 16:52:51 +03:00
Vitaliy Filippov
53832d184a
Allow to use lazy sync with replicated pools
2020-09-06 12:08:44 +03:00
Vitaliy Filippov
352caeba14
Fix one more bug with replicated reads
2020-09-06 02:27:44 +03:00
Vitaliy Filippov
fb533991b7
"Lock" retried objects from other flushers when accounting for overruns
...
Fixes a rare 100% CPU consuming hang
2020-09-06 02:19:36 +03:00
Vitaliy Filippov
73e26dbbea
Add up_wait_retry_interval to config and fix it so it actually works
2020-09-05 22:05:21 +03:00
Vitaliy Filippov
44973e7f27
Fix replicated pool bugs
2020-09-05 21:45:04 +03:00
Vitaliy Filippov
242d9a42a2
Change object format in prints to %lx:%lx v%lu
2020-09-05 17:44:05 +03:00
Vitaliy Filippov
68c3e96e46
Add pool setting to fio and qemu drivers
2020-09-05 17:44:00 +03:00
Vitaliy Filippov
cc4714a3a7
Basic fixes for the Monitor
2020-09-05 02:14:43 +03:00
Vitaliy Filippov
e051db5a73
Check for unsuccessful memory allocations
2020-09-05 01:42:11 +03:00
Vitaliy Filippov
4f9b5286a0
Add replicated pool support to OSD logic
...
...in theory :-D now it needs some testing
2020-09-05 01:42:11 +03:00
Vitaliy Filippov
168cc2c803
Add pool support to OSD, part 1
...
This just fixes all the code so it builds and works like before,
but doesn't yet bring the support for replicated pools.
2020-09-04 17:04:17 +03:00
Vitaliy Filippov
4cdad634b5
Add pool support to the cluster client
2020-09-03 00:52:41 +03:00
Vitaliy Filippov
293cb5bd1d
Parse pool configuration in etcd_state_client
2020-09-02 21:54:32 +03:00
Vitaliy Filippov
0918ea08fa
Implement min/max inode filters in LIST operation
2020-09-02 14:42:40 +03:00
Vitaliy Filippov
a8b3cbd6af
Implement per-pool PG calculation, fix some lint warnings
2020-09-01 18:53:54 +03:00
Vitaliy Filippov
fe0d78bf8e
Filter configuration keys with regexps instead of "osd_tree" value checks
2020-09-01 17:07:06 +03:00
Vitaliy Filippov
085c145a18
Document etcd data (to-be state with pools) at least in some form
2020-09-01 16:29:45 +03:00
Vitaliy Filippov
30da4bddbe
Extract scale_pg_count into a separate file
2020-09-01 16:18:58 +03:00
Vitaliy Filippov
14b4a4617e
(re)move placement_tree
2020-09-01 16:18:58 +03:00
Vitaliy Filippov
3932c9b2e2
Add WRITE_STABLE to the secondary OSD for the upcoming replication support
2020-09-01 16:18:58 +03:00
Vitaliy Filippov
2e8c69fc5b
Rename OSD_OP_SECONDARY_* to OSD_OP_SEC_*
2020-08-31 23:57:50 +03:00
Vitaliy Filippov
a86788fe3b
Support optimizing for the case when parity chunks occupy more space than data chunks
...
Mostly as an experiment because the problem solved by this commit
comes from Ceph's EC+compression implementation details and I'm not sure
if my implementation will be the same
2020-08-17 01:44:19 +03:00