Данный документ использует пути, установленные с помощью RPM-пакета FastCFS (каталог конфигурационных файлов и рабочий каталог программы и т.д.). В случае самостоятельной сборки и установки, пожалуйста, сделайте соответствующие изменения.
Конфигурация кластера FastCFS включает следующие пять частей:
/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
server.conf
data_path
на абсолютный путь[cluster]
и [service]
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%
storage.conf
storage.conf
необходима только при активированном режиме долговременного хранения./usr/bin/fdir_serverd /etc/fastcfs/fdir/server.conf restart
или:
sudo systemctl restart fastdir
Просмотр логов:
tail /opt/fastcfs/fdir/logs/fdir_serverd.log
Путь к конфигурационному файлу:
/etc/fastcfs/fstoreКонфигурационный файл
cluster.conf
всех служебных экземпляров faststore в кластере должен быть одинаковым. Рекомендуется полностью настроитьcluster.conf
, а затем распространить его на все серверы и клиенты в кластере.### 4.1 Настройка всех служебных экземпляров FastStore в кластере вcluster.conf
Каждый FastStore служебный экземпляр состоит из трех портов: cluster, replica и service. В отличие от cluster.conf
fastDIR, здесь используется еще один порт replica, но способ конфигурирования тот же.
cluster.conf
Для рабочей среды рекомендуется иметь как минимум 64 группы данных для удобства масштабирования в будущем. Лучше не превышать 1024 (в зависимости от прогнозируемого развития бизнеса за следующие пять лет).
storage.conf
Поддерживается настройка нескольких путей хранения. Для максимальной производительности жестких дисков рекомендуется использовать монтирование одного диска, где каждый диск является отдельным путем хранения.
Пример конфигурации:
store_path_count = 1
[store-path-1]
path = /opt/faststore/data
server.conf
data_path
на абсолютный путь.[cluster]
, [replica]
и [service]
.cluster.conf
. В противном случае при запуске будет выдано сообщение об ошибке, аналогичное следующему:```
ОШИБКА - файл: server_group_info.c, строка: 347, файл конфигурации кластера: /etc/fastcfs/fstore/cluster.conf,
не удалось найти себя по локальному IP-адресу и порту прослушивания
* Поддерживаемое свойство индексации хранилища версии V4.0 по умолчанию отключено. Его можно настроить в разделе `[storage-engine]`. Подробнее см. примеры конфигураций в каталоге `conf` в исходном коде.
Пример включения конфигурации хранилища:
[storage-engine]
enabled = true
storage_config_filename = dbstore.conf
data_path = db
# коэффициент ограничения памяти для срезового индекса
# допустимый диапазон значений составляет [1%, 99%]
# значение по умолчанию равно 60%
memory_limit = 60%
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
Путь к конфигурационному файлу fused:
/etc/fastcfs/fcfs
Примечание: если клиент fused установлен на том же сервере, где размещены faststore и fastDIR, можно пропустить разделы OnClickListener 5.1 и 5.2.
/etc/fastcfs/fstore/cluster.conf
/etc/fastcfs/fdir/cluster.conf
Если необходимо, можно изменить параметр 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" (двойное активное резервирование), обратитесь к документации по настройке узлов голосования.
Для включения управления хранилищами или контроля доступа, обратитесь к документации по настройке аутентификации.
Для использования FastCFS в качестве общего хранилища данных для систем Oracle RAC и других, обратитесь к руководству по настройке совместного использования данных.
Желаю удачи! Хорошего дня!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )