Project

General

Profile

Actions

Feature #62715

open

mgr/volumes: switch to storing subvolume metadata in libcephsqlite

Added by Venky Shankar 9 months ago. Updated 11 days ago.

Status:
New
Priority:
Normal
Category:
Administration/Usability
Target version:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Component(FS):
mgr/volumes
Labels (FS):
Pull request ID:

Description

A bit of history: The subvolume thing started out as a directory structure in the file system (and that is still the case), but the initial versions did not have any notion of subvolume metadata. The next version(s), what we have as of this writing, have a metadata store. The (subvolume) metadata is stored as an ini file and lives in the top-level subvolume directory and stores various pieces for subvolume information - state, path, in-progress clones, etc.

The metadata store has worked pretty well since it was introduced barring a few issues, e.g.:

- corrupted metadata file due to ENOSPC (this also prompted us to work an a tool to regenerate metadata, but we hit a roadblock with the implementation)
- security issue with a custom .meta

which prompted a variety of code changes to workaround the problem. This all carries a sizeable baggage of fixes/workarounds which I think can be done away with if the metadata is stored directly in RADOS. One may argue saying "If it ain't broken, don't fix it", which is a perfectly valid argument, however, IMO, doing away with workarounds is a big win with all this (not to mention that the metadata store would be unified for legacy and v1/v2 subvolumes). Thoughts?


Related issues 1 (1 open0 closed)

Related to mgr - Feature #62884: audit: create audit module which persists in RADOS important operations performed on the clusterNew

Actions
Actions

Also available in: Atom PDF