Commit Graph

1118 Commits (v0.8.0)

Author SHA1 Message Date
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 8972878c77 Fix make-etcd for ip:port 2022-09-04 14:11:59 +03:00
Vitaliy Filippov 2a1da88253 Create /etc/vitastor during package installation 2022-09-03 23:31:55 +03:00
Vitaliy Filippov 2f13f347b0 Fix space stats in mon 2022-09-03 11:16:33 +03:00
Vitaliy Filippov 9453db0e99 Add a newer make-etcd.js 2022-09-03 02:04:21 +03:00
Vitaliy Filippov a828a1233d Remove old make-osd scripts 2022-09-03 02:04:21 +03:00
Vitaliy Filippov 9481456dfe Automatically check whether to disable cache during prepare 2022-09-03 02:04:21 +03:00
Vitaliy Filippov bd11db5d0a Add vitastor-mon.service, vitastor.target, create user and log directory during package installation 2022-09-03 00:09:22 +03:00
Vitaliy Filippov 68ebe5993a Fix partition reuse 2022-09-02 23:32:25 +03:00
Vitaliy Filippov eecbfb66ce Remove the old make-osd.sh script from packages 2022-09-02 20:35:15 +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 e62bab1b39 Add systemd unit for udev deployments 2022-08-15 00:23:26 +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 6fde9950d6 Implement upgrade tool from "simple" units to superblock+udev deployments 2022-07-27 02:33:43 +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