Vitaliy Filippov
11ec9ad874
Release 0.8.0
...
- Implement automatic OSD activation via udev and simple on-disk superblock storage
- Add a new `vitastor-disk` tool and merge all disk-related functionality there.
Now it can prepare new OSD disks, upgrade plain old systemd units to the new scheme,
resize OSD data area, manage OSD services by disk paths, manage superblocks,
automatically check and disable disk cache, dump and write back journal and metadata.
- Add a documentation section about `vitastor-disk` (read it if you want details!)
- Install systemd services during package installation instead of the older method
of manually creating them via separate shell scripts
- Add a new `make-etcd` script that reuses /etc/vitastor/vitastor.conf to configure etcd
- Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
- Fix "fatal error: tried to overwrite non-zero metadata entry" which was possible
in some cases after unclean OSD shutdown (caused by old metadata entries not being zeroed)
2022-09-05 13:51:20 +03:00
Vitaliy Filippov
83bb6598dc
Fix fsync autodetection for the single-device mode
2022-09-05 13:51:20 +03:00
Vitaliy Filippov
150f369346
Hotfixes for vitastor-disk prepare: max_other, get device size, older sfdisk
2022-09-05 12:48:27 +03:00
Vitaliy Filippov
8d9a5fde15
Fix docs (block_size vs object_size)
2022-09-04 14:47:04 +03:00
Vitaliy Filippov
9ccc607ab9
Fix parse_size
2022-09-04 14:20:56 +03:00
Vitaliy Filippov
9481456dfe
Automatically check whether to disable cache during prepare
2022-09-03 02:04:21 +03:00
Vitaliy Filippov
68ebe5993a
Fix partition reuse
2022-09-02 23:32:25 +03:00
Vitaliy Filippov
a537db8909
Add documentation for the new "vitastor-disk" tool
2022-08-22 00:31:30 +03:00
Vitaliy Filippov
54ef2c389f
Followup to the "tried to overwrite" fix: also handle it in case of inmemory_meta == false
2022-08-21 01:28:29 +03:00
Vitaliy Filippov
153c73574a
Refactor blockstore_init_meta into slightly more obvious code
2022-08-21 01:21:13 +03:00
Vitaliy Filippov
d83580bd68
Fix "tried to overwrite non-zero metadata entry" when during a previous metadata
...
flush writing new entry is completed, but zeroing out an old one isn't
2022-08-21 00:31:18 +03:00
Vitaliy Filippov
29b40aba93
Add write-meta command (for debug)
2022-08-20 23:56:57 +03:00
Vitaliy Filippov
a52f2b0e8f
Add write-journal command (for debug)
2022-08-20 14:05:53 +03:00
Vitaliy Filippov
1407db9c08
Fix vitastor-disk prepare bugs
2022-08-19 02:22:54 +03:00
Vitaliy Filippov
c0d5e83fb8
Run partprobe when partitions do not appear
2022-08-18 02:05:16 +03:00
Vitaliy Filippov
40d8d65188
Rewrite upgrade-simple to C++
2022-08-18 01:31:31 +03:00
Vitaliy Filippov
a16263e88c
Fix bugs in the upgrade script and in the udev startup script
2022-08-17 10:28:34 +03:00
Vitaliy Filippov
cb4e3a118d
Fix warning
2022-08-15 00:18:21 +03:00
Vitaliy Filippov
b1e39b5dea
Split disk_tool.cpp into separate files
2022-08-14 02:37:01 +03:00
Vitaliy Filippov
1170319431
Finish vitastor-disk prepare in theory
2022-08-14 02:13:24 +03:00
Vitaliy Filippov
2e0a2221eb
vitastor-disk prepare: WIP second form command of the command
2022-08-12 01:58:28 +03:00
Vitaliy Filippov
5a10d135f3
Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
2022-08-11 01:56:33 +03:00
Vitaliy Filippov
4c9aaa8a86
vitastor-disk prepare: implement first form of the command
2022-08-09 01:29:29 +03:00
Vitaliy Filippov
ae99ee6266
Rename base64.{cpp.h} to str_util
2022-07-31 01:12:37 +03:00
Vitaliy Filippov
5af75f7d78
Implement vitastor-cli and vitastor-disk --help <command>
2022-07-31 01:10:05 +03:00
Vitaliy Filippov
7dc6f10ea1
Add read-sb command
2022-07-28 00:14:23 +03:00
Vitaliy Filippov
76dd0fdcea
Implement pre-exec command with on-start OSD checks
2022-07-24 15:09:45 +03:00
Vitaliy Filippov
5acc19bbd5
Implement systemctl start/stop and other commands
2022-07-23 02:18:40 +03:00
Vitaliy Filippov
d5ca4e1f90
Add exec-osd command
2022-07-22 02:17:24 +03:00
Vitaliy Filippov
67e04f789f
Add write-sb (superblock) command
2022-07-19 01:14:31 +03:00
Vitaliy Filippov
837407a84c
Add udev import command
2022-07-19 01:14:31 +03:00
Vitaliy Filippov
1fe5908899
WIP OSD activation from superblock
2022-07-17 02:14:50 +03:00
Vitaliy Filippov
dcc6d546be
Move simple-offsets into vitastor-disk, too
2022-07-15 02:19:35 +03:00
Vitaliy Filippov
85fa389557
Add a test for disk-tool resize
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
dfa433c63b
Add JSON format to dump-journal
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
cf487c95aa
Fix resizer
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
b10656ca09
Parse new disk params in disk_tool resizer
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
ea632367e9
Do not alter dsk.meta_offset/len to skip superblock
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
4d777c6729
Set journal/meta devices to data device explicitly instead of ""
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
0c404c5074
Use blockstore_disk in disk_tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
dfd80626bd
Extract disk opening functions to separate module
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
30907852c2
Use simple std::map for the config
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
078ed5b116
WIP Data area resize tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
73a363bf92
Rename some variables and constants
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
b0e86ca643
Merge dump-journal and dump-meta into the new "vitastor-disk" tool
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
8800afb649
Fix void* arithmetic again
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
e20cdd13b6
Fix simple-offsets return value
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
bce357e2a5
Do not read all metadata into memory when dumping
2022-06-13 01:26:30 +03:00
Vitaliy Filippov
0876ca09cd
Fix dumper includes and print format
2022-06-11 00:30:44 +03:00
Vitaliy Filippov
dac12d8a4c
Implement metadata dump tool
2022-06-10 18:50:09 +03:00