Файл fcfs.sh
представляет собой скрипт для быстрой установки и управления кластерами FastCFS. Он использует протокол SSH для подключения к удалённым серверам и выполняет команды с помощью учётной записи на серверах, имеющей права доступа через sudo (или root). Этот скрипт можно запустить только с вашей рабочей станции; он не требует серверов, баз данных или других дополнительных ресурсов.
Если вам часто приходится создавать, устанавливать или конфигурировать кластеры FastCFS, этот инструмент поможет вам значительно сэкономить время.
Примечание: данный инструмент предназначен для использования в следующих операционных системах:
Этот инструмент может заново установить программное обеспечение или заново распространить конфигурационные файлы.
Этот инструмент не является универсальным средством для развертывания и не предназначен для работы с другими типами кластеров. Кроме распространения конфигурационных файлов по всем узлам кластера, он не производит никаких изменений в конфигурации кластера. Вам потребуется предоставить действующие конфигурационные файлы кластера.
Скачайте fcfs.sh
с одного из указанных ниже адресов и поместите его в директорию bin вашей рабочей станции:
Команда для получения:
sudo curl -o /usr/bin/fcfs.sh http://fastcfs.net/fastcfs/ops/fcfs.sh && sudo chmod +x /usr/bin/fcfs.sh
После завершения загрузки вы можете проверить работоспособность инструмента командой which fcfs.sh.
Файл 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 или выше при развертывании кластера.
Все конфигурационные файлы кластера FastCFS должны быть предварительно помещены в директорию conf внутри рабочей директории. Директория conf включает следующие пять поддиректорий:
Получение примеров конфигурационных файлов
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
Скрипт fcfs.sh использует соединение по протоколу SSH со всеми хостами кластера. Он требует, чтобы рабочая машина могла выполнять скрипты через SSH на удалённых хостах. Выполняющий команды пользователь может быть либо root, либо пользователем с правами sudo, и он должен поддерживать безопасный вход без пароля.
Чтобы активировать безопасный вход без пароля, вам сначала нужно сгенерировать пару ключей RSA для SSH:
ssh-keygen -t rsa -C cfs -f cfs-ssh-key
Это создаст следующие ключевые файлы:
Приватный ключ cfs-ssh-key
следует скопировать в домашнюю директорию текущего пользователя на рабочей машине "~/.ssh/", затем добавьте следующий фрагмент конфигурации в файл конфигурации ~/.ssh/config
(по одному экземпляру для каждого хоста кластера):
Host [ip узла]
HostName [имя хоста узла]
User [пользователь SSH]
Port 22
PubkeyAuthentication yes
IdentityFile ~/.ssh/cfs-ssh-key
Добавьте содержимое файла с публичным ключом в файл ~/.ssh/authorized_keys домашнего каталога каждого узла сервера для пользователя sudo:> ssh-copy-id -i cfs-ssh-key.pub [имя пользователя]@[IP узла сервера]
Убедитесь, что конфигурационный файл sshd на сервере имеет следующие параметры:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Команды инструмента fcfs.sh
состоят из трех частей: command, module и node. Command является обязательной частью, а module и node — необязательными.
Использование:
fcfs.sh command [module] [node]
Команды:
Модули:* fvote — Сервер голосования
Узел:
Может использоваться для указания имени хоста или IP-адреса одного узла кластера, который будет выполнять команду. Если узел не указан, команда выполнится на всех узлах. Параметр node
следует использовать вместе с параметром module
и не может использоваться непосредственно.
Вы можете использовать команду 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, в противном случае команда завершится ошибкой.
Вы можете использовать команду 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
Когда вы хотите обновить программное обеспечение FastCFS, вам следует сначала изменить значение поля fastcfs_version
в конфигурационном файле fcfs.settings
на новый номер версии, а затем выполнить команду install
:
fcfs.sh install
Если вам действительно требуется деградировать программное обеспечение FastCFS до старой версии, вам следует сначала выполнить команду remove:
fcfs.sh remove
или
fcfs.sh erase
Затем измените значение поля fastcfs_version
на старую версию и выполните команду install
:
fcfs.sh install
Вы можете использовать команды 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
Распределите конфигурационные файлы всех модулей на соответствующие узлы:
fcfs.sh config
Распределите конфигурационные файлы сервера fdir на все узлы fdir:
fcfs.sh config fdir
Распределите конфигурационные файлы сервера fdir на узел fdir 10.0.1.11:
fcfs.sh config fdir 10.0.1.11
Команды управления кластером включают 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
Когда вы хотите просмотреть последние журналы службы 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
Когда вы хотите просмотреть состояние процессов службы FastCFS, вы можете использовать команду status, чтобы показать состояние процессов указанной службы.Пример
Показать состояние процессов службы fdir на узле 10.0.1.11:
fcfs.sh status fdir 10.0.1.11
Показать состояние процессов каждого сервера fdir:
fcfs.sh status fdir
Показать состояние всех процессов служб:
fcfs.sh status
fcfs_conf.sh — это инструмент для быстрого создания конфигурационных файлов кластера FastCFS. Он использует bash shell для доступа к локальному конфигурационному файлу fcfs_conf.settings. Этот инструмент можно запускать только с вашей рабочей станции, не требуя серверов, баз данных или других дополнительных ресурсов.
Если вам требуется быстро создать конфигурационные файлы кластера для списка IP-адресов серверов, этот инструмент будет полезен для вас.
Скачайте fcfs_conf.sh с адреса ниже и поместите его в каталог bin вашей рабочей станции, чтобы он был доступен через командную строку:
Команда получения:
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.
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).
Командный файл fcfs_conf.sh
состоит из двух частей: command
, module
. Команда обязательна, модуль необязательный.
Синтаксис:> fcfs_conf.sh command [module]
Команды:
create
— создание конфигурационного файла;help
— вывод подробной информации о командах и примеров;Модули:
fvote
— сервер голосования;fdir
— сервер fastDIR;fstore
— сервер faststore;fauth
— сервер аутентификации FastCFS;fuseclient
— клиент FastCFS fuse;Утилита для пакетирования шаблонов конфигураций кластера, предназначенная исключительно для разработчиков 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 )