1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fastdfs100-FastCFS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONFIGURE-zh_CN.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 23:09 7748a78

Конфигурация и запуск

Данный документ использует пути, установленные с помощью RPM-пакета FastCFS (каталог конфигурационных файлов и рабочий каталог программы и т.д.). В случае самостоятельной сборки и установки, пожалуйста, сделайте соответствующие изменения.

Конфигурация кластера FastCFS включает следующие пять частей:

  • Конфигурация сервера fastDIR (служебный экземпляр)
  • Конфигурация сервера faststore (служебный экземпляр)
  • Конфигурация клиента FastCFS
  • Конфигурация узлов голосования (необязательно)
  • Конфигурация аутентификации (необязательно)

1. Структура каталога конфигурационных файлов

/etc/fastcfs/
        |
        |__ fcfs: объединённые службы
        |    |__ fuse.conf: конфигурационный файл для fcfs_fuse
        |
        |__ fdir: служба каталога FastDIR
        |    |__ cluster.conf: список серверов, конфигурация ID, IP и порта серверов
        |    |__ server.conf: конфигурационный файл для fdir_server
        |    |__ storage.conf: конфигурационный файл для постоянного хранения данных
        |    |__ client.conf: конфигурационный файл для клиентов
        |
        |__ fstore: служба хранения данных faststore
             |__ cluster.conf: список серверов (конфигурация ID, IP и порта серверов) и конфигурация групп серверов и соответствия между ними
             |__ storage.conf: конфигурация путей хранения данных и распределения пространства
             |__ server.conf: конфигурационный файл для fs_server
             |__ client.conf: конфигурационный файл для клиентов
```## 2. Рабочий каталог программы

/opt/fastcfs/ | |__ fcfs |__ fused.pid: PID файла службы fcfs_fused |__ logs: Директория с лог-файлами |__ fcfs_fused.log: Лог ошибок | |__ fdir |__ serverd.pid: PID файла службы fdir_serverd |__ data: Директория системных данных, включает топологию кластера и binlog |__ cluster.info: Информация о топологии кластера |__ .inode.sn: Текущий порядковый номер inode |__ binlog: Хранение binlog файлов | |__ db: Директория по умолчанию для хранения данных движка |__ trunk: Trunk binlog |__ inode: Segment индекс (один segment содержит несколько inode, максимум 65536, ID segment увеличивается последовательно) |__ ####(например, 0001, 0002 и так далее): Хранение данных inode в виде trunk файлов | |__ logs: Директория с лог-файлами |__ fdir_serverd.log: Лог ошибок |__ slow.log: Лог медленных запросов | |__ fstore |__ serverd.pid: PID файла службы fs_serverd |__ data: Директория системных данных, включает топологию кластера и binlog |__ data_group.info: Информация о группах данных кластера |__ .store_path_index.dat: Индекс пути хранения |__ .trunk_id.dat: Текущий trunk ID информации |__ replica: Replica binlog, один DG соответствует одному подкаталогу |__ slice: Slice binlog |__ trunk: Trunk binlog |__ recovery: Slave добавляет исторические данные master, один DG соответствует одному подкаталогу

               |    |__ rebuild: Восстановление данных одного диска
               |    
               |__ db: Директория по умолчанию для хранения данных среза индекса движка
               |    |__ trunk: Trunk binlog
               |    |__ block: Segment индекс (один segment содержит несколько блоков, ID segment распределены по хешу)
               |    |__ ####(например, 0001, 0002 и так далее): Хранение данных индекса блока в виде trunk файлов
               |    
               |__ logs: Директория с лог-файлами
                    |__ fs_serverd.log: Лог ошибок
                    |__ slow.log: Лог медленных запросов
```## 3. Настройка сервера fastDIR (экземпляр сервиса)```Путь конфигурационного файла:

> /etc/fastcfs/fdir

Конфигурационный файл `cluster.conf` каждого сервера в кластере fastDIR должен быть абсолютно одинаковым. Рекомендуется выполнить настройку один раз и распространить его на все серверы и клиенты в кластере.

### 3.1 Настройка всех экземпляров сервиса fastDIR в файле `cluster.conf`

Каждый экземпляр **fastDIR** службы состоит из двух портов: **cluster** и **service**;

Файл `cluster.conf` содержит конфигурацию всех экземпляров кластера, где каждый экземпляр представлен парой IP адреса и порта (включая два порта — cluster и service);

Для каждого экземпляра fastDIR требуется создание раздела `[server-$id]`, где $id — это уникальный идентификатор экземпляра (начинающийся с 1).

Если на одном сервере запущено несколько экземпляров, то необходимо явно указывать порты, так как они могут отличаться от глобальных настроек.

Пример конфигурации одного экземпляра:

```ini
[server-3]
cluster-port = 11015
service-port = 11016
host = 172.16.168.128

3.2 Настройка файла server.conf

  • Для изменения пути хранения данных, измените параметр data_path на абсолютный путь
  • Локальные порты (включая cluster и service) должны быть указаны в разделах [cluster] и [service]
  • Локальный IP адрес и порт должны быть указаны в конфигурации одного из экземпляров в файле cluster.conf. В противном случае при старте может возникнуть следующее сообщение об ошибке:
ERROR - file: cluster_info.c, line: 119, cluster config file: /etc/fastcfs/fdir/cluster.conf,
      cannot find myself by my local ip and listen port
```* Поддерживаемое свойство долговременного хранения по умолчанию выключено. Его можно включить в разделе `[storage-engine]`. Подробнее см. примеры конфигураций в директории conf исходного кода.
Пример включения конфигурации хранилища:

```ini
[storage-engine]
# если включить хранилище
### false: использовать бинлог напрямую
### true: использовать хранилище для массовых файлов
# значение по умолчанию — false
enabled = true

# имя конфигурационного файла для хранилища
storage_config_filename = storage.conf

# путь для хранения файлов данных
# может быть абсолютным путём или относительным
# относительный путь для подкаталога базового каталога
# этот путь будет создан автоматически, если он ещё не существует
# значение по умолчанию — db
data_path = db

# ограничение памяти для dentry
# допустимый диапазон значений — [1%, 99%]
# значение по умолчанию — 80%
memory_limit = 80%

3.3 Настройка файла storage.conf

  • Конфигурация файла storage.conf необходима только при активированном режиме долговременного хранения.
  • Обычно достаточно использования стандартных настроек. Перезапуск fastDIR:
/usr/bin/fdir_serverd /etc/fastcfs/fdir/server.conf restart

или:

sudo systemctl restart fastdir

Просмотр логов:

tail /opt/fastcfs/fdir/logs/fdir_serverd.log

4. Конфигурация сервера faststore (служебные экземпляры)

Путь к конфигурационному файлу:

/etc/fastcfs/fstoreКонфигурационный файл cluster.conf всех служебных экземпляров faststore в кластере должен быть одинаковым. Рекомендуется полностью настроить cluster.conf, а затем распространить его на все серверы и клиенты в кластере.### 4.1 Настройка всех служебных экземпляров FastStore в кластере в cluster.conf

Каждый FastStore служебный экземпляр состоит из трех портов: cluster, replica и service. В отличие от cluster.conf fastDIR, здесь используется еще один порт replica, но способ конфигурирования тот же.

4.2 Настройка соответствия групп серверов и групп данных в cluster.conf

Для рабочей среды рекомендуется иметь как минимум 64 группы данных для удобства масштабирования в будущем. Лучше не превышать 1024 (в зависимости от прогнозируемого развития бизнеса за следующие пять лет).

4.3 Настройка параметров хранения в storage.conf

Поддерживается настройка нескольких путей хранения. Для максимальной производительности жестких дисков рекомендуется использовать монтирование одного диска, где каждый диск является отдельным путем хранения.

Пример конфигурации:

store_path_count = 1

[store-path-1]
path = /opt/faststore/data

4.4 Настройка server.conf

  • Если требуется изменить путь хранения binlog, измените параметр data_path на абсолютный путь.
  • Локальные порты включают три порта: cluster, replica и service, которые настраиваются в разделах [cluster], [replica] и [service].
  • Соединение локального IP адреса с локальным портом должно быть указано в одном из экземпляров в cluster.conf. В противном случае при запуске будет выдано сообщение об ошибке, аналогичное следующему:``` ОШИБКА - файл: server_group_info.c, строка: 347, файл конфигурации кластера: /etc/fastcfs/fstore/cluster.conf, не удалось найти себя по локальному IP-адресу и порту прослушивания

* Поддерживаемое свойство индексации хранилища версии V4.0 по умолчанию отключено. Его можно настроить в разделе `[storage-engine]`. Подробнее см. примеры конфигураций в каталоге `conf` в исходном коде.
Пример включения конфигурации хранилища:

[storage-engine]

если включить хранилище

false: использовать binlog напрямую

true: использовать хранилище для больших объёмов данных

значение по умолчанию — false

enabled = true

имя файла конфигурации для хранилища

storage_config_filename = dbstore.conf

путь для хранения файлов данных

может быть абсолютным или относительным путём

относительный путь для подкаталога базового пути

этот путь будет создан автоматически, если он ещё не существует

значение по умолчанию — db

data_path = db


# коэффициент ограничения памяти для срезового индекса
# допустимый диапазон значений составляет [1%, 99%]
# значение по умолчанию равно 60%

memory_limit = 60%

4.5 Настройка конфигурационного файла dbstore.conf

  • Конфигурация dbstore.conf требуется только в том случае, если активирована возможность долговременного хранения данных для срезового индекса.
  • Обычно достаточно использовать значения по умолчанию.

Перезапуск faststore:

/usr/bin/fs_serverd /etc/fastcfs/fstore/server.conf restart
```или:

```bash
sudo systemctl restart faststore

Просмотр логов:

tail /opt/fastcfs/fstore/logs/fs_serverd.log

5. Настройка клиента FastCFS

Путь к конфигурационному файлу fused:

/etc/fastcfs/fcfs

Примечание: если клиент fused установлен на том же сервере, где размещены faststore и fastDIR, можно пропустить разделы OnClickListener 5.1 и 5.2.

5.1 Копирование конфигурационных файлов с сервера faststore в директорию /etc/fastcfs/fstore/

/etc/fastcfs/fstore/cluster.conf

5.2 Копирование конфигурационных файлов с сервера fastDIR в директорию /etc/fastcfs/fdir/

/etc/fastcfs/fdir/cluster.conf

5.3 Изменение точки монтирования (необязательно)

Если необходимо, можно изменить параметр mountpoint в конфигурационном файле fuse.conf, чтобы указать точку монтирования:

mountpoint = /opt/fastcfs/fuse

Перезапуск fused:

/usr/bin/fcfs_fused /etc/fastcfs/fcfs/fuse.conf restart

или:

sudo systemctl restart fastcfs

Просмотр логов:

tail /opt/fastcfs/fcfs/logs/fcfs_fused.log

Проверка состояния кластера fastDIR:

fdir_cluster_stat

Проверка состояния одного экземпляра fastDIR:

fdir_service_stat $IP:$port

Подсказка: можно скопировать IP-адрес и порт из вывода команды fdir_cluster_stat.

Проверка состояния кластера faststore:

fs_cluster_stat

Получение списка неподключенных сервисов, используя:

fs_cluster_stat -N

Используйте -h, чтобы получить больше информации о доступных опциях.

Проверка использования дискового пространства FastCFS:

df -h /opt/fastcfs/fuse | grep fuse

Таким образом, директория mountpoint (например: /opt/fastcfs/fuse) теперь может использоваться как локальная файловая система.## 6. Настройка узлов голосования (необязательно)

Для реализации двойной репликации и защиты от "brain split" (двойное активное резервирование), обратитесь к документации по настройке узлов голосования.

7. Настройка аутентификации (необязательно)

Для включения управления хранилищами или контроля доступа, обратитесь к документации по настройке аутентификации.

8. Настройка совместного использования данных (необязательно)

Для использования FastCFS в качестве общего хранилища данных для систем Oracle RAC и других, обратитесь к руководству по настройке совместного использования данных.

Желаю удачи! Хорошего дня!

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/fastdfs100-FastCFS.git
git@api.gitlife.ru:oschina-mirror/fastdfs100-FastCFS.git
oschina-mirror
fastdfs100-FastCFS
fastdfs100-FastCFS
master