From c541dd422f3539c45dc1112a15a26016e35b590e Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Tue, 3 Mar 2026 01:52:13 +0300 Subject: [PATCH] Add skip_corrupted_meta_entries docs --- docs/config/osd.en.md | 34 ++++++++++++++++++----- docs/config/osd.ru.md | 35 +++++++++++++++++++----- docs/config/src/osd.yml | 60 +++++++++++++++++++++++++++++++---------- 3 files changed, 101 insertions(+), 28 deletions(-) diff --git a/docs/config/osd.en.md b/docs/config/osd.en.md index 8aab9eb5..91f3f18c 100644 --- a/docs/config/osd.en.md +++ b/docs/config/osd.en.md @@ -38,6 +38,7 @@ with an OSD restart or, for some of them, even without restarting by updating co - [journal_io](#journal_io) - [journal_sector_buffer_count](#journal_sector_buffer_count) - [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites) +- [skip_corrupted_meta_entries](#skip_corrupted_meta_entries) - [throttle_small_writes](#throttle_small_writes) - [throttle_target_iops](#throttle_target_iops) - [throttle_target_mbs](#throttle_target_mbs) @@ -279,13 +280,19 @@ Maximum number of journal flushers (see above min_flusher_count). - Type: boolean - Default: true -This parameter makes Vitastor always keep metadata area of the block device -in memory. It's required for good performance because it allows to avoid -additional read-modify-write cycles during metadata modifications. Metadata -area size is currently roughly 224 MB per 1 TB of data. You can turn it off -to reduce memory usage by this value, but it will hurt performance. This -restriction is likely to be removed in the future along with the upgrade -of the metadata storage scheme. +Only for the old store ([meta_format](layout-osd.en.md#meta_format) 2). + +This parameter makes Vitastor keep a copy of metadata area in memory as it is +on disk, in addition to the metadata database. When the option is enabled, every +metadata entry is effectively stored in RAM twice. It's required for good performance +because it allows to avoid additional read-modify-write cycles during metadata +modifications. Metadata area size with the old store is roughly 224 MB per 1 TB +of data. You can turn the option off to reduce memory usage by this value, but +it will reduce performance. + +For the new store ([meta_format](layout-osd.en.md#meta_format) 3), the option +may be changed in the future to support operation without loading full metadata +database in memory. ## inmemory_journal @@ -364,6 +371,8 @@ blocks. The only situation when you should increase it to a larger value is when you enable journal_no_same_sector_overwrites. In this case set it to, for example, 1024. +Not applicable to the new store ([meta_format](layout-osd.en.md#meta_format) 3). + ## journal_no_same_sector_overwrites - Type: boolean @@ -377,6 +386,17 @@ journal after writing it instead of possibly overwriting it the second time. Most (99%) other SSDs don't need this option. +Not applicable to the new store ([meta_format](layout-osd.en.md#meta_format) 3). + +## skip_corrupted_meta_entries + +- Type: boolean +- Default: false + +Only for the new store ([meta_format](layout-osd.en.md#meta_format) 3). +Allow OSD to start when some metadata entries or blocks are corrupted by +skipping them. Should be only used as an emergency measure. + ## throttle_small_writes - Type: boolean diff --git a/docs/config/osd.ru.md b/docs/config/osd.ru.md index ae60f773..5db7f7d4 100644 --- a/docs/config/osd.ru.md +++ b/docs/config/osd.ru.md @@ -39,6 +39,7 @@ - [journal_io](#journal_io) - [journal_sector_buffer_count](#journal_sector_buffer_count) - [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites) +- [skip_corrupted_meta_entries](#skip_corrupted_meta_entries) - [throttle_small_writes](#throttle_small_writes) - [throttle_target_iops](#throttle_target_iops) - [throttle_target_mbs](#throttle_target_mbs) @@ -287,13 +288,19 @@ Flusher - это микро-поток (корутина), которая коп - Тип: булево (да/нет) - Значение по умолчанию: true -Данный параметр заставляет Vitastor всегда держать область метаданных диска -в памяти. Это нужно, чтобы избегать дополнительных операций чтения с диска -при записи. Размер области метаданных на данный момент составляет примерно -224 МБ на 1 ТБ данных. При включении потребление памяти снизится примерно -на эту величину, но при этом также снизится и производительность. В будущем, -после обновления схемы хранения метаданных, это ограничение, скорее всего, -будет ликвидировано. +Только для старого хранилища ([meta_format](layout-osd.en.md#meta_format) 2). + +Данный параметр заставляет Vitastor всегда держать копию области метаданных +в памяти в том же виде, как она лежит на диске, в дополнение к БД метаданных. +То есть, с включённой опцией каждая запись метаданных хранится в памяти дважды. +Это нужно, чтобы избегать дополнительных операций чтения с диска при записи. +Размер области метаданных в старом хранилище составляет примерно 224 МБ на +1 ТБ данных. Вы можете отключить опцию, чтобы снизить потребление памяти +примерно на эту величину, но при этом также снизится и производительность. + +Для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3) опция, +возможно, будет переработана в будущем для поддержки работы без полной +загрузки метаданных в памяти. ## inmemory_journal @@ -376,6 +383,8 @@ fsync небезопасным даже с режимом "directsync". нужно менять - это если вы включаете journal_no_same_sector_overwrites. В этом случае установите данный параметр, например, в 1024. +Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3). + ## journal_no_same_sector_overwrites - Тип: булево (да/нет) @@ -391,6 +400,18 @@ fsync небезопасным даже с режимом "directsync". Почти все другие SSD (99% моделей) не требуют данной опции. +Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3). + +## skip_corrupted_meta_entries + +- Тип: булево (да/нет) +- Значение по умолчанию: false + +Только для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3). +Разрешить OSD запускаться, даже если часть блоков или записей метаданных +повреждена, пропуская их. Опция предназначена для использования только в +целях аварийного восстановления. + ## throttle_small_writes - Тип: булево (да/нет) diff --git a/docs/config/src/osd.yml b/docs/config/src/osd.yml index 19e40411..a5aea83d 100644 --- a/docs/config/src/osd.yml +++ b/docs/config/src/osd.yml @@ -253,21 +253,33 @@ type: bool default: true info: | - This parameter makes Vitastor always keep metadata area of the block device - in memory. It's required for good performance because it allows to avoid - additional read-modify-write cycles during metadata modifications. Metadata - area size is currently roughly 224 MB per 1 TB of data. You can turn it off - to reduce memory usage by this value, but it will hurt performance. This - restriction is likely to be removed in the future along with the upgrade - of the metadata storage scheme. + Only for the old store ([meta_format](layout-osd.en.md#meta_format) 2). + + This parameter makes Vitastor keep a copy of metadata area in memory as it is + on disk, in addition to the metadata database. When the option is enabled, every + metadata entry is effectively stored in RAM twice. It's required for good performance + because it allows to avoid additional read-modify-write cycles during metadata + modifications. Metadata area size with the old store is roughly 224 MB per 1 TB + of data. You can turn the option off to reduce memory usage by this value, but + it will reduce performance. + + For the new store ([meta_format](layout-osd.en.md#meta_format) 3), the option + may be changed in the future to support operation without loading full metadata + database in memory. info_ru: | - Данный параметр заставляет Vitastor всегда держать область метаданных диска - в памяти. Это нужно, чтобы избегать дополнительных операций чтения с диска - при записи. Размер области метаданных на данный момент составляет примерно - 224 МБ на 1 ТБ данных. При включении потребление памяти снизится примерно - на эту величину, но при этом также снизится и производительность. В будущем, - после обновления схемы хранения метаданных, это ограничение, скорее всего, - будет ликвидировано. + Только для старого хранилища ([meta_format](layout-osd.en.md#meta_format) 2). + + Данный параметр заставляет Vitastor всегда держать копию области метаданных + в памяти в том же виде, как она лежит на диске, в дополнение к БД метаданных. + То есть, с включённой опцией каждая запись метаданных хранится в памяти дважды. + Это нужно, чтобы избегать дополнительных операций чтения с диска при записи. + Размер области метаданных в старом хранилище составляет примерно 224 МБ на + 1 ТБ данных. Вы можете отключить опцию, чтобы снизить потребление памяти + примерно на эту величину, но при этом также снизится и производительность. + + Для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3) опция, + возможно, будет переработана в будущем для поддержки работы без полной + загрузки метаданных в памяти. - name: inmemory_journal type: bool default: true @@ -386,11 +398,15 @@ blocks. The only situation when you should increase it to a larger value is when you enable journal_no_same_sector_overwrites. In this case set it to, for example, 1024. + + Not applicable to the new store ([meta_format](layout-osd.en.md#meta_format) 3). info_ru: | Максимальное число буферов, разрешённых для использования под записываемые в журнал блоки метаданных. Единственная ситуация, в которой этот параметр нужно менять - это если вы включаете journal_no_same_sector_overwrites. В этом случае установите данный параметр, например, в 1024. + + Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3). - name: journal_no_same_sector_overwrites type: bool default: false @@ -402,6 +418,8 @@ journal after writing it instead of possibly overwriting it the second time. Most (99%) other SSDs don't need this option. + + Not applicable to the new store ([meta_format](layout-osd.en.md#meta_format) 3). info_ru: | Включайте данную опцию для SSD вроде Intel D3-S4510 и D3-S4610, которые ОЧЕНЬ не любят, когда ПО перезаписывает один и тот же сектор несколько раз @@ -412,6 +430,20 @@ самого сектора. Почти все другие SSD (99% моделей) не требуют данной опции. + + Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3). +- name: skip_corrupted_meta_entries + type: bool + default: false + info: | + Only for the new store ([meta_format](layout-osd.en.md#meta_format) 3). + Allow OSD to start when some metadata entries or blocks are corrupted by + skipping them. Should be only used as an emergency measure. + info_ru: | + Только для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3). + Разрешить OSD запускаться, даже если часть блоков или записей метаданных + повреждена, пропуская их. Опция предназначена для использования только в + целях аварийного восстановления. - name: throttle_small_writes type: bool default: false