Add skip_corrupted_meta_entries docs

This commit is contained in:
Vitaliy Filippov
2026-03-03 01:52:22 +03:00
parent 22c39561cf
commit c541dd422f
3 changed files with 101 additions and 28 deletions
+27 -7
View File
@@ -38,6 +38,7 @@ with an OSD restart or, for some of them, even without restarting by updating co
- [journal_io](#journal_io) - [journal_io](#journal_io)
- [journal_sector_buffer_count](#journal_sector_buffer_count) - [journal_sector_buffer_count](#journal_sector_buffer_count)
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites) - [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_small_writes](#throttle_small_writes)
- [throttle_target_iops](#throttle_target_iops) - [throttle_target_iops](#throttle_target_iops)
- [throttle_target_mbs](#throttle_target_mbs) - [throttle_target_mbs](#throttle_target_mbs)
@@ -279,13 +280,19 @@ Maximum number of journal flushers (see above min_flusher_count).
- Type: boolean - Type: boolean
- Default: true - Default: true
This parameter makes Vitastor always keep metadata area of the block device Only for the old store ([meta_format](layout-osd.en.md#meta_format) 2).
in memory. It's required for good performance because it allows to avoid
additional read-modify-write cycles during metadata modifications. Metadata This parameter makes Vitastor keep a copy of metadata area in memory as it is
area size is currently roughly 224 MB per 1 TB of data. You can turn it off on disk, in addition to the metadata database. When the option is enabled, every
to reduce memory usage by this value, but it will hurt performance. This metadata entry is effectively stored in RAM twice. It's required for good performance
restriction is likely to be removed in the future along with the upgrade because it allows to avoid additional read-modify-write cycles during metadata
of the metadata storage scheme. 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 ## 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 is when you enable journal_no_same_sector_overwrites. In this case set
it to, for example, 1024. 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 ## journal_no_same_sector_overwrites
- Type: boolean - 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. 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 ## throttle_small_writes
- Type: boolean - Type: boolean
+28 -7
View File
@@ -39,6 +39,7 @@
- [journal_io](#journal_io) - [journal_io](#journal_io)
- [journal_sector_buffer_count](#journal_sector_buffer_count) - [journal_sector_buffer_count](#journal_sector_buffer_count)
- [journal_no_same_sector_overwrites](#journal_no_same_sector_overwrites) - [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_small_writes](#throttle_small_writes)
- [throttle_target_iops](#throttle_target_iops) - [throttle_target_iops](#throttle_target_iops)
- [throttle_target_mbs](#throttle_target_mbs) - [throttle_target_mbs](#throttle_target_mbs)
@@ -287,13 +288,19 @@ Flusher - это микро-поток (корутина), которая коп
- Тип: булево (да/нет) - Тип: булево (да/нет)
- Значение по умолчанию: true - Значение по умолчанию: true
Данный параметр заставляет Vitastor всегда держать область метаданных диска Только для старого хранилища ([meta_format](layout-osd.en.md#meta_format) 2).
в памяти. Это нужно, чтобы избегать дополнительных операций чтения с диска
при записи. Размер области метаданных на данный момент составляет примерно Данный параметр заставляет Vitastor всегда держать копию области метаданных
224 МБ на 1 ТБ данных. При включении потребление памяти снизится примерно в памяти в том же виде, как она лежит на диске, в дополнение к БД метаданных.
на эту величину, но при этом также снизится и производительность. В будущем, То есть, с включённой опцией каждая запись метаданных хранится в памяти дважды.
после обновления схемы хранения метаданных, это ограничение, скорее всего, Это нужно, чтобы избегать дополнительных операций чтения с диска при записи.
будет ликвидировано. Размер области метаданных в старом хранилище составляет примерно 224 МБ на
1 ТБ данных. Вы можете отключить опцию, чтобы снизить потребление памяти
примерно на эту величину, но при этом также снизится и производительность.
Для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3) опция,
возможно, будет переработана в будущем для поддержки работы без полной
загрузки метаданных в памяти.
## inmemory_journal ## inmemory_journal
@@ -376,6 +383,8 @@ fsync небезопасным даже с режимом "directsync".
нужно менять - это если вы включаете journal_no_same_sector_overwrites. В нужно менять - это если вы включаете journal_no_same_sector_overwrites. В
этом случае установите данный параметр, например, в 1024. этом случае установите данный параметр, например, в 1024.
Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3).
## journal_no_same_sector_overwrites ## journal_no_same_sector_overwrites
- Тип: булево (да/нет) - Тип: булево (да/нет)
@@ -391,6 +400,18 @@ fsync небезопасным даже с режимом "directsync".
Почти все другие SSD (99% моделей) не требуют данной опции. Почти все другие 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 ## throttle_small_writes
- Тип: булево (да/нет) - Тип: булево (да/нет)
+46 -14
View File
@@ -253,21 +253,33 @@
type: bool type: bool
default: true default: true
info: | info: |
This parameter makes Vitastor always keep metadata area of the block device Only for the old store ([meta_format](layout-osd.en.md#meta_format) 2).
in memory. It's required for good performance because it allows to avoid
additional read-modify-write cycles during metadata modifications. Metadata This parameter makes Vitastor keep a copy of metadata area in memory as it is
area size is currently roughly 224 MB per 1 TB of data. You can turn it off on disk, in addition to the metadata database. When the option is enabled, every
to reduce memory usage by this value, but it will hurt performance. This metadata entry is effectively stored in RAM twice. It's required for good performance
restriction is likely to be removed in the future along with the upgrade because it allows to avoid additional read-modify-write cycles during metadata
of the metadata storage scheme. 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: | info_ru: |
Данный параметр заставляет Vitastor всегда держать область метаданных диска Только для старого хранилища ([meta_format](layout-osd.en.md#meta_format) 2).
в памяти. Это нужно, чтобы избегать дополнительных операций чтения с диска
при записи. Размер области метаданных на данный момент составляет примерно Данный параметр заставляет Vitastor всегда держать копию области метаданных
224 МБ на 1 ТБ данных. При включении потребление памяти снизится примерно в памяти в том же виде, как она лежит на диске, в дополнение к БД метаданных.
на эту величину, но при этом также снизится и производительность. В будущем, То есть, с включённой опцией каждая запись метаданных хранится в памяти дважды.
после обновления схемы хранения метаданных, это ограничение, скорее всего, Это нужно, чтобы избегать дополнительных операций чтения с диска при записи.
будет ликвидировано. Размер области метаданных в старом хранилище составляет примерно 224 МБ на
1 ТБ данных. Вы можете отключить опцию, чтобы снизить потребление памяти
примерно на эту величину, но при этом также снизится и производительность.
Для нового хранилища ([meta_format](layout-osd.en.md#meta_format) 3) опция,
возможно, будет переработана в будущем для поддержки работы без полной
загрузки метаданных в памяти.
- name: inmemory_journal - name: inmemory_journal
type: bool type: bool
default: true default: true
@@ -386,11 +398,15 @@
blocks. The only situation when you should increase it to a larger value 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 is when you enable journal_no_same_sector_overwrites. In this case set
it to, for example, 1024. it to, for example, 1024.
Not applicable to the new store ([meta_format](layout-osd.en.md#meta_format) 3).
info_ru: | info_ru: |
Максимальное число буферов, разрешённых для использования под записываемые Максимальное число буферов, разрешённых для использования под записываемые
в журнал блоки метаданных. Единственная ситуация, в которой этот параметр в журнал блоки метаданных. Единственная ситуация, в которой этот параметр
нужно менять - это если вы включаете journal_no_same_sector_overwrites. В нужно менять - это если вы включаете journal_no_same_sector_overwrites. В
этом случае установите данный параметр, например, в 1024. этом случае установите данный параметр, например, в 1024.
Неприменимо к новому хранилищу ([meta_format](layout-osd.en.md#meta_format) 3).
- name: journal_no_same_sector_overwrites - name: journal_no_same_sector_overwrites
type: bool type: bool
default: false default: false
@@ -402,6 +418,8 @@
journal after writing it instead of possibly overwriting it the second time. journal after writing it instead of possibly overwriting it the second time.
Most (99%) other SSDs don't need this option. 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: | info_ru: |
Включайте данную опцию для SSD вроде Intel D3-S4510 и D3-S4610, которые Включайте данную опцию для SSD вроде Intel D3-S4510 и D3-S4610, которые
ОЧЕНЬ не любят, когда ПО перезаписывает один и тот же сектор несколько раз ОЧЕНЬ не любят, когда ПО перезаписывает один и тот же сектор несколько раз
@@ -412,6 +430,20 @@
самого сектора. самого сектора.
Почти все другие SSD (99% моделей) не требуют данной опции. Почти все другие 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 - name: throttle_small_writes
type: bool type: bool
default: false default: false