Skip to content

Commit b346944

Browse files
authored
Merge pull request #22 from rustfs/i18n/ru-full-translation
I18n/ru full translation
2 parents 4af822e + bfc1867 commit b346944

39 files changed

Lines changed: 956 additions & 113 deletions

docs/ru/concepts/limit.md

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,70 @@
11
---
2-
title: "待翻译"
3-
description: "此文档正在翻译中"
2+
title: "Ограничения использования"
3+
description: "RustFS — простое, эффективное, распределенное объектное хранилище. Полностью совместимо с S3 и распространяется по лицензии Apache 2.0."
44
---
55

6-
# 此文档正在翻译中
6+
# Ограничения использования
77

8-
请稍后查看更新。
8+
## 1. Ограничения S3 API
9+
10+
> Следующие спецификации строго соответствуют стандарту протокола S3.
11+
12+
| Проект | Спецификация |
13+
| --------------------- | ---------------------------------- |
14+
| Максимальный размер объекта | 5 TiB |
15+
| Минимальный размер объекта | 0 B |
16+
| Максимальный размер объекта для одной операции PUT | Без мультичасти: 500 GiB; мультичасть: 5 TiB |
17+
| Максимальное число частей в одном мультизагрузке | 10,000 |
18+
| Диапазон размера части | 5 MiB до 5 GiB; последняя часть может быть 0 B до 5 GiB |
19+
| Максимум частей в ответе на LIST PARTS | 10,000 |
20+
| Максимум объектов в ответе на LIST OBJECTS | 1,000 |
21+
| Максимум незавершенных мультизагрузок в ответе | 1,000 |
22+
| Максимальная длина имени корзины | 63 символа |
23+
| Максимальная длина ключа объекта | 1024 символа |
24+
| Максимальная длина сегмента ключа между `/` | 255 символов |
25+
| Максимум версий одного объекта | 10,000 (конфигурируемо) |
26+
27+
---
28+
29+
## 2. Ограничения стирающего кодирования (Erasure Coding)
30+
31+
> Параметры EC конфигурируются на основе матрицы Рида—Соломона. См. фактическую конфигурацию EC.
32+
33+
| Проект | Спецификация |
34+
| ---------------------------- | ------------------------------ |
35+
| Макс. число серверов в кластере | Без ограничений |
36+
| Мин. число серверов | 1 |
37+
| Мин. число дисков на сервер при 1 сервере | 1 (для одиночного узла/одного диска; без доп. надежности/доступности) |
38+
| Мин. число дисков на сервер при ≥2 серверах | 1 |
39+
| Макс. число дисков на сервер | Без ограничений |
40+
| Кворум чтения | N/2 |
41+
| Кворум записи | (N/2) + 1 |
42+
43+
---
44+
45+
## 3. Ограничения именования объектов
46+
47+
### Ограничения ФС и ОС
48+
49+
Имена объектов в RustFS в основном ограничены базовой ОС и файловой системой. Например, Windows и некоторые другие ОС ограничивают использование специальных символов: `^`, `*`, `|`, `\`, `/`, `&`, `"` или `;`.
50+
51+
См. документацию вашей ОС/ФС для полного списка ограничений.
52+
53+
Для продакшена RustFS рекомендует Linux с файловой системой XFS для лучшей производительности и совместимости.
54+
55+
### Разрешение конфликтов имен
56+
57+
В RustFS приложение должно присваивать уникальные, не конфликтующие ключи всем объектам. Это включает недопущение создания объектов, имена которых конфликтуют с префиксами родительских или соседних объектов. При конфликте LIST на конфликтующем пути вернет пустое множество.
58+
59+
Пример конфликтов:
60+
61+
```bash
62+
PUT data/hello/2025/first/a.csv
63+
PUT data/hello/2025/first # конфликт с существующим префиксом
64+
65+
PUT data/hello/2025/first/
66+
PUT data/hello/2025/first/vendors.csv # конфликт с существующим объектом
67+
```
68+
69+
Хотя к таким объектам можно выполнять GET или HEAD, конфликт имен приведет к пустому результату LIST по пути `hello/2025/first/`.
970

docs/ru/concepts/object-healing.md

Lines changed: 71 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,76 @@
11
---
2-
title: "待翻译"
3-
description: "此文档正在翻译中"
2+
title: "Проверка объектов и автоматическое восстановление"
3+
description: "Описание функции самовосстановления объектов в RustFS в архитектуре один сервер–много дисков: назначение, принципы,流程,配置 и故障排查."
44
---
55

6-
# 此文档正在翻译中
6+
# Проверка объектов и автоматическое восстановление
77

8-
请稍后查看更新。
8+
## Обзор
9+
10+
## Архитектура RustFS и дизайн самовосстановления
11+
12+
### Архитектура один сервер – много дисков
13+
14+
RustFS использует дизайн одного сервера с множеством дисков, объединяя диски в общий логический пул, чтобы предоставить сервис объектного хранилища. При записи каждый объект разбивается на несколько фрагментов данных (shards) и избыточные фрагменты, которые распределяются по разным дискам для повышения надежности и производительности.
15+
16+
### Принципы дизайна самовосстановления
17+
18+
1. Проверка целостности данных: комбинирование контрольных сумм (checksum) для обеспечения一致ности данных фрагментов при чтении. Например, ZFS проверяет checksum каждого блока при чтении и выполняет восстановление при сбое проверки.
19+
2. Избыточность и стирающее кодирование: с помощью erasure coding генерируются избыточные фрагменты. При потере или повреждении части фрагментов исходный объект восстанавливается из избыточных данных.
20+
3. Многоуровневое срабатывание: онлайн-восстановление при чтении, фоновое сканирование и ручной запуск, чтобы сбалансировать производительность и надежность.
21+
22+
## Принципы самовосстановления объектов
23+
24+
### Проверка и стирающее кодирование
25+
26+
На этапе записи RustFS разбивает объект на k фрагментов данных и m избыточных фрагментов, распределяя их по n=k+m устройствам согласно заданным параметрам EC. При чтении, если обнаруживается повреждение или потеря фрагмента, восстановление выполняется из оставшихся корректных фрагментов.
27+
28+
### Проверка данных и ремонт (Scrub & Repair)
29+
30+
RustFS периодически выполняет легкую проверку (light scrub) и глубокую проверку (deep scrub) над пулом хранения:
31+
- Легкая проверка: сравнение метаданных объекта и размеров фрагментов, оперативная маркировка повреждений.
32+
- Глубокая проверка: побитовое чтение и проверка checksum, выявление и ремонт скрытых bad blocks или bit rot.
33+
34+
При обнаружении несоответствий RustFS автоматически запускает процесс Repair, восстанавливая поврежденные фрагменты из избыточных и записывая их обратно на исходный либо резервный диск, чтобы обеспечить исправность данных при следующем доступе.
35+
36+
## Процессы самовосстановления
37+
38+
### Онлайн-восстановление при чтении
39+
40+
При каждом `GET` или `HEAD` запросе клиентом RustFS вначале проверяет все фрагменты данных соответствующего объекта:
41+
1. Если все фрагменты в порядке — возвращаются данные напрямую.
42+
2. Если есть потерянные/поврежденные фрагменты — система восстанавливает недостающие части из избыточных и возвращает клиенту целый объект.
43+
Эта схема, аналогичная чтению-с-восстановлением в MinIO, прозрачно исправляет ошибки без ущерба для запроса клиента.
44+
45+
### Фоновое сканирование и восстановление
46+
47+
Встроенный сканер объектов RustFS хешированно обходит 1/1024 объектов в пуле хранения для проверки целостности:
48+
- Регулярно (настраиваемая частота) выполняет легкую проверку;
49+
- При обнаружении повреждений немедленно инициирует процесс восстановления.
50+
По умолчанию глубокая проверка на bit rot отключена для снижения накладных расходов; при необходимости ее можно включить.
51+
52+
### Ручной запуск восстановления
53+
54+
Администратор может запустить полнообъемное восстановление с помощью CLI:
55+
56+
```bash
57+
rc admin heal start --all
58+
```
59+
60+
Операция сканирует весь пул хранения и выполняет полную проверку и ремонт всех объектов; ресурсозатратно, рекомендуется выполнять в непиковое время.
61+
62+
## Примеры использования
63+
64+
```bash
65+
# Просмотр текущего статуса самовосстановления
66+
rc admin heal status
67+
# Запуск восстановления для указанного bucket
68+
rc admin heal start --bucket photos
69+
# Остановка текущей задачи восстановления
70+
rc admin heal stop
71+
```
72+
73+
## Итоги
74+
75+
Самовосстановление объектов в RustFS объединяет зрелые решения MinIO, Ceph и ZFS. За счет многоуровневого триггера проверки и восстановления RustFS эффективно противостоит повреждению фрагментов, отказам дисков и bit rot как в одноузловой многодисковой, так и многосерверной архитектуре, обеспечивая высокую надежность и доступность объектного хранилища.
976

docs/ru/concepts/object-scanner.md

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,31 @@
11
---
2-
title: "待翻译"
3-
description: "此文档正在翻译中"
2+
title: "Сканирование объектов"
3+
description: "RustFS — простое, эффективное, распределенное объектное хранилище. Полностью совместимо с S3 и распространяется по лицензии Apache 2.0."
44
---
55

6-
# 此文档正在翻译中
6+
# Сканирование объектов
77

8-
请稍后查看更新。
8+
В этой статье подробно介绍ется设计 и实现 сканера объектов RustFS, включая его интеграцию с Erasure Coding и механизмом Scrub & Repair, а также стратегию планирования, мониторинг метрик и методы диагностики.
9+
10+
## Обзор
11+
12+
Встроенный в движок хранения сканер объектов RustFS отвечает за периодическую проверку целостности объектов и выполнение запланированных операций. Задачи сканирования включают подсчет использования диска, оценку правил управления жизненным циклом, выполнение копирования объектов и запуск самовосстановления поврежденных объектов.
13+
14+
## Архитектура и принципы дизайна
15+
16+
### Архитектура сканера
17+
18+
Сканер RustFS использует механизм хеш-выборки: по хешу имени объекта выбирается один из 1024 объектов для проверки, что снижает влияние на производительность обычных запросов. Сканер глубоко интегрирован с модулем Erasure Coding и при обнаружении потерянных или поврежденных фрагментов может восстанавливать их из избыточных фрагментов в режиме онлайн, обеспечивая высокую доступность и согласованность данных.
19+
20+
## Проверка данных и восстановление
21+
22+
Механизм проверки данных RustFS позволяет быстро проверять согласованность метаданных, а побитовая проверка выявляет скрытые плохие блоки. Сканер может обнаружить проблемы типа bit rot и при необходимости запускать процесс восстановления.
23+
24+
## Режимы сканирования и планирование
25+
26+
RustFS поддерживает три режима триггера сканирования: онлайн-сканирование при чтении, фоновое регулярное сканирование и ручное полнообъемное сканирование — для баланса производительности и надежности. Подобно параметру `osd_scrub_begin_hour` в Ceph, администратор может задавать время запуска и частоту сканирования, например выполнять легкую проверку ежедневно по умолчанию.
27+
28+
## Мониторинг и метрики
29+
30+
Сканер RustFS собирает статистику задач, количество отказов и распределение времени выполнения, которые экспортируются в модель данных Prometheus как метрики `rustfs_scanner_jobs_total`, `rustfs_scanner_failures_total` и `rustfs_scanner_duration_seconds`. Совместно с системой мониторинга можно настраивать оповещения по уровню отказов и длительности, чтобы своевременно обнаруживать и локализовать потенциальные проблемы на уровнях хранения и сети.
931

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
---
2-
title: "待翻译"
3-
description: "此文档正在翻译中"
2+
title: "Инфраструктура для масштабных данных"
3+
description: "RustFS спроектирован для масштабирования по технологии, операциям и экономике."
44
---
55

6-
# 此文档正在翻译中
6+
# Инфраструктура для масштабных данных
77

8-
请稍后查看更新。
8+
RustFS спроектирован для масштабирования: технологического, операционного и экономического. Базовый масштаб.
9+
10+
![Архитектура RustFS](./images/s2-1.png)
11+
12+
RustFS работает где угодно и в любых облаках, но обычно — на коммерческих серверах с локально подключенными дисками (JBOD/JBOF). Все серверы в кластере функционально равны (полностью симметричная архитектура). Нет ни именованных узлов (NameNode), ни серверов метаданных.
13+
14+
RustFS записывает данные и метаданные вместе как объект, без отдельной БД метаданных. Все функции (erasure coding, проверка на bitrot, шифрование) выполняются inline и строго согласованно. В результате RustFS обладает исключительной устойчивостью.
15+
16+
Каждый кластер RustFS — это набор распределенных серверов RustFS, по одному процессу на узел. RustFS работает в пространстве пользователя как один процесс и использует легковесные корутины для высокой степени параллелизма. Диски группируются в наборы EC (см. калькулятор параметров), а размещение объектов на наборах выполняется детерминированным хешированием.
17+
18+
RustFS создан для масштабных, мульти-ДЦ облачных сервисов хранения. Каждый арендатор запускает собственный кластер RustFS, полностью изолированный от других, что защищает от сбоев при апгрейдах, обновлениях и инцидентах безопасности. Каждый арендатор масштабируется независимо за счет федерации кластеров по географии.
919

153 KB
Loading
153 KB
Loading

0 commit comments

Comments
 (0)