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

OSCHINA-MIRROR/fastdfs100-FastCFS

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

Инструменты управления FastCFS

  • fcfs.sh — быстрый инструмент для управления кластерами FastCFS
  • fcfs_conf.sh — инструмент для быстрой генерации конфигурационных файлов кластера

1. Описание fcfs.sh

Файл fcfs.sh представляет собой скрипт для быстрой установки и управления кластерами FastCFS. Он использует протокол SSH для подключения к удалённым серверам и выполняет команды с помощью учётной записи на серверах, имеющей права доступа через sudo (или root). Этот скрипт можно запустить только с вашей рабочей станции; он не требует серверов, баз данных или других дополнительных ресурсов.

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

Примечание: данный инструмент предназначен для использования в следующих операционных системах:

  • CentOS 7 и выше версий
  • Red Hat Enterprise Linux 8 и выше версий
  • Rocky Linux 8 и выше версий
  • Anolis 7 и выше версий
  • AlmaLinux 7 и выше версий
  • Fedora Linux 20 и выше версий
  • Oracle Linux 8 и выше версий
  • Amazon Linux
  • Alibaba Cloud Linux
  • BigCLoud 21 и выше версий
  • openEuler 20 и выше версий
  • Kylin V10 и выше версий
  • UOS 20 и выше версий
  • Debian 10 и выше версий
  • Ubuntu 18.04 и выше версий

1.1. Возможности инструментаИнструмент позволяет быстро создавать кластеры FastCFS, включая установку программного обеспечения, распространение конфигuraциoнных файлов, управление службами кластера и просмoтр логов кластера.Он также может обновлять или понижать версию программного обеспечения на одном или нескольких узлах кластера.

Этот инструмент может заново установить программное обеспечение или заново распространить конфигурационные файлы.

1.2. Недостатки инструмента

Этот инструмент не является универсальным средством для развертывания и не предназначен для работы с другими типами кластеров. Кроме распространения конфигурационных файлов по всем узлам кластера, он не производит никаких изменений в конфигурации кластера. Вам потребуется предоставить действующие конфигурационные файлы кластера.

1.3. Получение fcfs.sh

Скачайте fcfs.sh с одного из указанных ниже адресов и поместите его в директорию bin вашей рабочей станции:

http://fastcfs.net/fastcfs/ops/fcfs.sh

Команда для получения:

sudo curl -o /usr/bin/fcfs.sh http://fastcfs.net/fastcfs/ops/fcfs.sh && sudo chmod +x /usr/bin/fcfs.sh

После завершения загрузки вы можете проверить работоспособность инструмента командой which fcfs.sh.

1.4. Предварительные условия для использования инструмента* fcfs.settings — конфигурация управления кластером, расположенная в текущей рабочей директории

  • conf — каталог конфигuraциональных файлов кластера, расположенный в текущей рабочей директории
  • Безопасный вход в удалённые серверы SSH, см. раздел 5. Безопасный вход в удалённые серверы SSH Для каждого кластера следует создать независимую рабочую директорию (например: fastcfs-ops), в которую следует поместить файлы fcfs.settings и conf. Затем все последующие команды управления этим кластером должны выполняться внутри этой рабочей директории.#### 1.4.1. fcfs.settings

Файл fcfs.settings включает два поля: fastcfs_version и fuseclient_ips. Поле fastcfs_version используется для указания основной версии FastCFS, а поле fuseclient_ips — для указания списка IP адресов серверов, где будет установлен клиент fuse. При необходимости обновления или понижения версий программного обеспечения кластера FastCFS вам потребуется сначала изменить значение поля fastcfs_version на желаемую версию.

Пример конфигурационного файла fcfs.settings:

# Версия кластера FastCFS (например: 5.3.3)
fastcfs_version=5.3.3

# Список IP адресов серверов, где будет установлен клиент fuse, разделённые запятой
fuseclient_ips=10.0.1.14

Примечание: рекомендуется использовать версию 5.3.3 или выше при развертывании кластера.

1.4.2. conf

Все конфигурационные файлы кластера FastCFS должны быть предварительно помещены в директорию conf внутри рабочей директории. Директория conf включает следующие пять поддиректорий:

  • vote — конфигурационные файлы сервера fvote
  • fdir — конфигурационные файлы сервера fdir
  • fstore — конфигурационные файлы сервера fstore
  • auth — конфигурационные файлы сервера fauth
  • fcfs — конфигурационные файлы клиента fuseclient

Получение примеров конфигурационных файлов

mkdir fastcfs-ops
cd fastcfs-ops/
curl -o fcfs-config-sample.tar.gz http://fastcfs.net/fastcfs/ops/fcfs-config-sample.tar.gz
tar -xzvf fcfs-config-sample.tar.gz

Создание конфигурационных файлов кластера FastCFS с помощью скрипта fcfs_conf.shВы также можете создать конфигурационные файлы кластера FastCFS с использованием скрипта fcfs_conf.sh, который соответствует вашим требованиям. Подробнее см.: fcfs_conf.sh

1.5. Безопасный вход по SSH

Скрипт fcfs.sh использует соединение по протоколу SSH со всеми хостами кластера. Он требует, чтобы рабочая машина могла выполнять скрипты через SSH на удалённых хостах. Выполняющий команды пользователь может быть либо root, либо пользователем с правами sudo, и он должен поддерживать безопасный вход без пароля.

Чтобы активировать безопасный вход без пароля, вам сначала нужно сгенерировать пару ключей RSA для SSH:

ssh-keygen -t rsa -C cfs -f cfs-ssh-key

Это создаст следующие ключевые файлы:

  • cfs-ssh-key — приватный ключ
  • cfs-ssh-key.pub — публичный ключ

1.5.1. Установка приватного ключа

Приватный ключ cfs-ssh-key следует скопировать в домашнюю директорию текущего пользователя на рабочей машине "~/.ssh/", затем добавьте следующий фрагмент конфигурации в файл конфигурации ~/.ssh/config (по одному экземпляру для каждого хоста кластера):

Host [ip узла] 
HostName [имя хоста узла] 
User [пользователь SSH] 
Port 22 
PubkeyAuthentication yes 
IdentityFile ~/.ssh/cfs-ssh-key 

1.5.2. Развертывание публичного ключа

Добавьте содержимое файла с публичным ключом в файл ~/.ssh/authorized_keys домашнего каталога каждого узла сервера для пользователя sudo:> ssh-copy-id -i cfs-ssh-key.pub [имя пользователя]@[IP узла сервера]

Убедитесь, что конфигурационный файл sshd на сервере имеет следующие параметры:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

1.6. Описание команд инструмента

Команды инструмента fcfs.sh состоят из трех частей: command, module и node. Command является обязательной частью, а module и node — необязательными.

Использование:

fcfs.sh command [module] [node]

Команды:

  • setup — быстрая команда для установки и запуска программного обеспечения FastCFS, объединяет команды install, config и restart
  • install — установка программного обеспечения FastCFS
  • reinstall — переустановка программного обеспечения FastCFS
  • remove — удаление программного обеспечения FastCFS, аналогично команде erase
  • erase — удаление программного обеспечения FastCFS
  • config — копирование конфигурационных файлов кластера в целевой каталог хоста
  • start — запуск всех или отдельных модульных служб в кластере
  • restart — перезапуск всех или отдельных модульных служб в кластере
  • stop — остановка всех или отдельных модульных служб в кластере
  • tail — просмотр последней части лог-файла указанного модуля (эквивалент команды tail на удаленном сервере)
  • status — проверка состояния процесса службы указанного модуля
  • help — подробное описание команд и примеры использования

Модули:* fvote — Сервер голосования

  • fdir — Сервер fastDIR
  • fstore — Сервер faststore
  • fauth — Сервер авторизации FastCFS
  • fuseclient — Клиент Fuse FastCFS

Узел:

Может использоваться для указания имени хоста или IP-адреса одного узла кластера, который будет выполнять команду. Если узел не указан, команда выполнится на всех узлах. Параметр node следует использовать вместе с параметром module и не может использоваться непосредственно.

1.6.1. Быстрое однокликовое развертывание FastCFS

Вы можете использовать команду setup, чтобы быстро установить программное обеспечение FastCFS на узлах кластера и автоматически сконфигурировать и запустить модульные службы.

Пример

Установка и запуск всего кластера FastCFS:

fcfs.sh setup

Установка и запуск всех серверов fdir на всех узлах:

fcfs.sh setup fdir

Установка сервера fdir на узле 10.0.1.11:

fcfs.sh setup fdir 10.0.1.11

Узел 10.0.1.11 должен принадлежать кластеру fdir, в противном случае команда завершится ошибкой.

1.6.2. Установка программного обеспечения FastCFS

Вы можете использовать команду install, чтобы установить только программное обеспечение FastCFS. Эта команда является частью команды setup.

При первом выполнении этой команды, все программы должны быть установлены на всех узлах (то есть, в этот момент нельзя указывать модуль и узел). После этого, при необходимости добавления новых узлов, можно использовать команду с параметрами module и node.Пример

Установите необходимое программное обеспечение FastCFS на всех узлах:

fcfs.sh install

Установите сервер fdir на всех узлах fdir:

fcfs.sh install fdir

Установите сервер fdir на узле 10.0.1.11:

fcfs.sh install fdir 10.0.1.11

1.6.3. Обновление программного обеспечения FastCFS

Когда вы хотите обновить программное обеспечение FastCFS, вам следует сначала изменить значение поля fastcfs_version в конфигурационном файле fcfs.settings на новый номер версии, а затем выполнить команду install:

fcfs.sh install

1.6.4. Деградация программного обеспечения FastCFS

Если вам действительно требуется деградировать программное обеспечение FastCFS до старой версии, вам следует сначала выполнить команду remove:

fcfs.sh remove

или

fcfs.sh erase

Затем измените значение поля fastcfs_version на старую версию и выполните команду install:

fcfs.sh install

1.6.5. Удаление программного обеспечения FastCFS

Вы можете использовать команды remove или erase для удаления программного обеспечения FastCFS.

Пример

Удалите все программы со всех узлов:

fcfs.sh remove

Удалите сервер fdir со всех узлов fdir:

fcfs.sh remove fdir

Удалите сервер fdir с узла 10.0.1.11:

fcfs.sh remove fdir 10.0.1.11

1.6.6. Распределение конфигурационных файлов FastCFSПосле успешной установки программного обеспечения FastCFS вам следует распределить конфигурационные файлы на все узлы кластера, выполнив команду config. Если целевые директории конфигурационных файлов на узлах отсутствуют, они будут автоматически созданы.Пример

Распределите конфигурационные файлы всех модулей на соответствующие узлы:

fcfs.sh config

Распределите конфигурационные файлы сервера fdir на все узлы fdir:

fcfs.sh config fdir

Распределите конфигурационные файлы сервера fdir на узел fdir 10.0.1.11:

fcfs.sh config fdir 10.0.1.11

1.6.7. Управление кластером

Команды управления кластером включают start, stop, restart. Вы можете одновременно управлять всеми узлами всех модулей, всеми узлами одного модуля или одним узлом одного модуля. Если вы хотите выполнить операцию над отдельным узлом, вам необходимо указать параметр node после параметра module.

Пример

Запустите все службы на всех узлах:

fcfs.sh start

Перезапустите службу fdir на всех узлах fdir:

fcfs.sh restart fdir

Остановите службу fdir на узле 10.0.1.11:

fcfs.sh stop fdir 10.0.1.11

1.6.8. Просмотр журналов кластера

Когда вы хотите просмотреть последние журналы службы FastCFS, вы можете использовать команду tail, чтобы показать последнюю часть файла журнала указанного модуля.

Пример

Показать последние 100 строк в файле журнала службы fdir на узле 10.0.1.11:

fcfs.sh tail fdir 10.0.1.11 -n 100

или:

fcfs.sh tail fdir 10.0.1.11 -100

Показать последние 10 строк в журнале каждого сервера fdir:

fcfs.sh tail fdir

1.6.9. Просмотр состояния процессов служб кластера

Когда вы хотите просмотреть состояние процессов службы FastCFS, вы можете использовать команду status, чтобы показать состояние процессов указанной службы.Пример

Показать состояние процессов службы fdir на узле 10.0.1.11:

fcfs.sh status fdir 10.0.1.11

Показать состояние процессов каждого сервера fdir:

fcfs.sh status fdir

Показать состояние всех процессов служб:

fcfs.sh status

2. Введение в fcfs_conf.sh

fcfs_conf.sh — это инструмент для быстрого создания конфигурационных файлов кластера FastCFS. Он использует bash shell для доступа к локальному конфигурационному файлу fcfs_conf.settings. Этот инструмент можно запускать только с вашей рабочей станции, не требуя серверов, баз данных или других дополнительных ресурсов.

Если вам требуется быстро создать конфигурационные файлы кластера для списка IP-адресов серверов, этот инструмент будет полезен для вас.

2.1. Получение fcfs_conf.sh

Скачайте fcfs_conf.sh с адреса ниже и поместите его в каталог bin вашей рабочей станции, чтобы он был доступен через командную строку:

http://fastcfs.net/fastcfs/ops/fcfs_conf.sh

Команда получения:

sudo curl -o /usr/bin/fcfs_conf.sh http://fastcfs.net/fastcfs/ops/fcfs_conf.sh && sudo chmod +x /usr/bin/fcfs_conf.sh

После завершения загрузки вы можете проверить работоспособность инструмента с помощью команды which fcfs_conf.sh.

2.2. Предварительные условия использования fcfs_conf.sh

  • fcfs_conf.settings — параметры конфигурации для генерации конфигурационных файлов кластера, расположенные в текущем рабочем каталогеВы должны создать отдельный рабочий каталог для каждого кластера (например, fastcfs-ops), а затем поместить fcfs_conf.settings в него. После этого выполните команду fcfs_conf.sh в этом рабочем каталоге.#### 2.2.1. fcfs_conf.settingsФайл fcfs_conf.settings включает шесть полей:

  • fastcfs_version — версия кластера, для которого будет сгенерирован конфигурационный файл;

  • vote_ips — список IP адресов серверов голосования, разделённых запятой;

  • auth_ips — список IP адресов серверов аутентификации FastCFS, разделённых запятой;

  • fdir_ips — список IP адресов серверов fastDIR, разделённых запятой;

  • fstore_group_count — количество групп серверов faststore;

  • fstore_group_[N] — список IP адресов серверов faststore группы N, разделённых запятой;

  • data_group_count — количество групп данных для кластера (рекомендуется использовать значение, являющееся целым числом, кратным 64; минимальное значение должно быть равно 256).

Параметр fstore_group_count должен совпадать по количеству со списками fstore_group_[N], причём номера групп начинаются с 1 и увеличиваются последовательно.

Пример конфигурационного файла fcfs_conf.settings представлен ниже:

# Версия кластера, для которой будет создан конфигурационный файл (например: 5.3.3)
fastcfs_version=5.3.3

# Список IP адресов серверов голосования, разделённых запятой
vote_ips=10.0.1.11,10.0.1.12,10.0.1.13

# Список IP адресов серверов аутентификации FastCFS, разделённых запятой
auth_ips=10.0.1.11,10.0.1.12,10.0.1.13

# Список IP адресов серверов fastDIR, разделённых запятой
fdir_ips=10.0.1.11,10.0.1.12,10.0.1.13

# Количество групп серверов faststore
fstore_group_count=2

# Список IP адресов серверов faststore группы 1, разделённых запятой
fstore_group_1=10.0.1.11,10.0.1.12,10.0.1.13

# Список IP адресов серверов faststore группы 2, разделённых запятой
fstore_group_2=10.0.2.14,10.0.2.15,10.0.2.16

# Количество групп данных для кластера (рекомендуется использовать значение, являющееся целым числом, кратным 64; минимальное значение должно быть равно 256)
data_group_count=256

Примечание: рекомендуется использовать версию 5.3.3 и выше для создания конфигурационных файлов кластера, особенно для модуля голосования (voting).

2.3. Описание командного файла fcfs_conf.sh

Командный файл fcfs_conf.sh состоит из двух частей: command, module. Команда обязательна, модуль необязательный.

Синтаксис:> fcfs_conf.sh command [module]

Команды:

  • create — создание конфигурационного файла;
  • help — вывод подробной информации о командах и примеров;

Модули:

  • fvote — сервер голосования;
  • fdir — сервер fastDIR;
  • fstore — сервер faststore;
  • fauth — сервер аутентификации FastCFS;
  • fuseclient — клиент FastCFS fuse;

3. Описание скрипта conf_tpl_tar.sh

Утилита для пакетирования шаблонов конфигураций кластера, предназначенная исключительно для разработчиков FastCFS.

Она собирает шаблоны конфигураций кластера FastCFS, fastDIR и faststore из соответствующих репозиториев исходного кода в tar-пакет.

Эти три репозитория должны находиться в одном каталоге, и conf_tpl_tar.sh должен выполняться в подкаталоге FastCFS/shell.

Формат команды:

conf_tpl_tar.sh <version> [update]
  • <version> — версия кластера, для которой создаётся tar-пакет шаблонов;
  • [update] — получение последней версии исходного кода перед созданием пакета, необязательный параметр.

Пример:

./conf_tpl_tar.sh 5.3.3 update

создаст в текущей директории архив с шаблонами конфигураций conf.5.3.3.tpl.tar.gz.

Опубликовать ( 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