Предварительная настройка Ceph
Перед подключением хранилища Ceph к кластеру VMmanager необходимо провести предварительную настройку узлов кластера Ceph. В этой статье приведена общая информация об установке. Рекомендуем создавать кластер Ceph в соответствии с официальной документацией.
Перед созданием кластера убедитесь, что используемое оборудование соответствует системным требованиям.
Обратите внимание!
Узлы и кластеры хранилища Ceph не являются узлами и кластерами VMmanager.
Обратите внимание!
Рекомендуем использовать программное обеспечение Ceph версии не ниже 13.2.0.
Требования к узлам кластера
В составе кластера должны быть следующие физические или виртуальные серверы:
- сервер с данными (OSD);
- не менее трёх серверов-мониторов (MON);
- административный сервер (ADM);
- сервис мониторинга (MGR);
- сервер метаданных (MDS). Необходим, если вы используете файловую систему CephFS.
Серверы должны отвечать следующим требованиям:
- В качестве узла кластера не может использоваться сервер с платформой VMmanager.
- Не рекомендуется использовать узлы кластера VMmanager. Это приводит к высокой нагрузке на сервер и усложняет процесс его восстановления в случае выхода из строя.
- Рекомендуем использование серверов, находящихся в одной стойке и в одном сегменте сети.
- Рекомендуем использовать высокоскоростное сетевое подключение между узлами кластера.
- На всех серверах должна быть установлена одна операционная система.
- На серверах-мониторах должен быть открыт доступ к порту 6789/TCP, на серверах с данными — к диапазону портов 6800..7300/TCP.
- На всех узлах кластера должен быть непримонтированный раздел или диск для установки программного обеспечения (ПО) Ceph.
Пример подготовки узлов кластера
Рассмотрим пример создания кластера с использованием серверов:
- ceph-cluster-1 с IP-адресом 172.31.245.51. Назначение — MON, OSD, ADM, MGR.
- ceph-cluster-2 с IP-адресом 172.31.246.77. Назначение — MON, OSD.
- ceph-cluster-3 с IP-адресом 172.31.246.82. Назначение — MON, OSD.
Обратите внимание!
Если при выполнении команды ceph-deploy появляется ошибка "RuntimeError: NoSectionError: No section: 'ceph'", выполните команду повторно.
На всех серверах
- Установите ПО Ceph. Для этого:
Выполните команду:
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
CODEСоздайте файл /etc/yum.repos.d/ceph.repo и добавьте в него строки:
[ceph-noarch] name=Ceph noarch packages baseurl=https://download.ceph.com/rpm-nautilus/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc
CODEВыполните команду:
yum update
CODE
Установите ПО для работы NTP. Это предотвратит проблемы, возникающие из-за сдвига системного времени:
yum install ntp ntpdate ntp-doc
CODEСоздайте пользователя ceph и установите для него необходимые права:
useradd -d /home/ceph -m ceph passwd ceph echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph chmod 0440 /etc/sudoers.d/ceph
CODEСоздайте алиасы для узлов кластера в файле /etc/hosts:
172.31.245.51 ceph1.example.com ceph1 172.31.246.77 ceph2.example.com ceph2 172.31.246.82 ceph3.example.com ceph3
CODEДобавьте службы Ceph в настройки firewalld:
firewall-cmd --zone=public --add-service=ceph-mon --permanent firewall-cmd --zone=public --add-service=ceph --permanent firewall-cmd --reload
CODE
На административном сервере
Установите пакеты ceph-deploy и python-setuptools:
yum install ceph-deploy python-setuptools
CODEСоздайте ключи ssh и скопируйте их на все узлы кластера:
ssh-keygen ssh-copy-id ceph@ceph1 ssh-copy-id ceph@ceph2 ssh-copy-id ceph@ceph3
CODEДобавьте в файл ~/.ssh/config строки:
Host ceph1 Hostname ceph1 User ceph Host ceph2 Hostname ceph2 User ceph Host ceph3 Hostname ceph3 User ceph
CODEСоздайте директорию my-cluster для конфигурационных файлов и файлов ceph-deploy и перейдите в неё:
mkdir my-cluster cd my-cluster
CODEСоздайте конфигурационный файл кластера:
ceph-deploy new ceph1 ceph2 ceph3
CODEПояснения к командеceph1 ceph2 ceph3 — узлы кластера, выполняющие функции серверов-мониторов
Обратите внимание!
При использования Ceph-хранилища с одним узлом кластера замените в конфигурационном ceph.conf значение параметра "osd_crush_chooseleaf_type" на 0.
Добавьте информацию о сети узлов кластера в конфигурационный файл ceph.conf:
echo "public_network = 172.31.240.0/20" >> ceph.conf
CODEУстановите ceph-deploy на узлы кластера:
ceph-deploy install ceph1 ceph2 ceph3
CODEСоздайте сервис мониторинга:
ceph-deploy mgr create ceph1
CODEСоздайте и проведите инициализацию серверов-мониторов:
ceph-deploy mon create-initial
CODEСкопируйте конфигурационные файлы на узлы кластера:
ceph-deploy admin ceph1 ceph2 ceph3
CODEДобавьте в кластер серверы с данными:
ceph-deploy osd create --data /dev/sdb ceph1 ceph-deploy osd create --data /dev/sdb ceph2 ceph-deploy osd create --data /dev/sdb ceph3
CODEПояснения к команде/dev/sdb — устройство хранения данных на узле кластера
Очистите диски /dev/sdb на серверах с данными:
ceph-deploy disk zap ceph1:sdb ceph2:sdb ceph3:sdb
BASH