Утилита csdctl
csdctl позволяет просматривать значения и состояния разных частей csd. Вносить изменения в файловую структуру csd с её помощью нельзя.
Условно csd можно разделить на две функциональные части:
Hot Storage;
Cold Storage.
Утилита имеет три набора опций и параметров:
общие опции;
опции Hot Storage;
опции Cold Storage.
Для получения перечня опций запустите утилиту с ключом --help:
csdctl --helpcsdctl options:-h [ --help ] show help message--help-seastar show help message about seastar options--help-loggers print a list of logger names and exit-v [ --version ] show versionGeneral options:--cs-root arg path to storage to be inspected--chunk-uid arg (=0) UID (u64) of interested chunkHot storage options:--hot-min summary--hot-balloc block allocator info--hot-wal WAL info--hot-chunks chunks--hot-exts chunk extentsCold storage options:--cold-min summary--cold-stripvers strip versions of a chunk--cold-muts chunk mutations--cold-kvstor kv-storage--cold-dirty-chunks dirty chunks--cold-chunks-to-del chunks marked as to be deleted
Первые три опции — стандартны для seastar-приложения. Четвертая опция позволяет получить версию утилиты. Для этого:
csdctl -vcsdctl: version:0.1.23 commit:288581d5 seastar:1.3.6 build:release timestamp:2022-11-11T11:06:42Z flags:mod, clang-14.0.6 branch:master
Список доступных опций:
--cs-root — путь к репозиторию. Опция обязательна.
--chunk-uid — ряд опций для Hot Storage/Cold Storage требует указания конкретного чанка, информацию о котором требуется отобразить. Для таких запросов передается uid чанка (u64);
--hot-min — запрос минимальных данных о Hot Storage;
--hot-balloc — информация о блочном аллокаторе;
--hot-wal — данные о журнале (WAL);
--hot-chunks — список чанков;
--hot-exts — список экстентов заданного чанка;
--cold-min — запрос минимальных данных о Cold Storage;
--cold-stripvers — версии стрипов заданного чанка;
--cold-muts — мутации заданного чанка;
--cold-kvstor — состояние kv-storage;
--cold-dirty-chunks — список чанков, у которых есть хотя бы одна мутация («грязные» чанки);
--cold-chunks-to-del — список чанков, промаркированных как deleted, но еще не удаленные. В kv-storage (WalMap) чанк, находящийся в процессе удаления, помечается специальной записью.
Пример использования:
sudo csdctl --cs-root /tmp/storage --hot-minHot storage summary ============================================================root: [/tmp/storage/data/hot/]block size: 4096chunks: 0total: 8301453312 (100 %)used: 0 ( 0 %)free: 8301453312 (100 %)