Тестовая установка будет на 3 впс с Centos7 на каждом будет по одному доп диску /dev/vdb.Каждый впс будет использоваться как osd и mon.На 1-й и 3-й будет установлен манагер(?).Ставить будем luminous
Оф.документация
Имены впс будут соответственно ceph-osd1 ceph-osd2 ceph-osd3.Деплой осуществляем с osd1 из-под пользователя root
Подготовка нод(Делаем на всех 3-х):
1.Отключаем selinux
2.Создаем пользователя,от имени которого будет все работать(например cent),добавляем в sudo
useradd cent
passwd cent
echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
chmod 400 /etc/sudoers.d/ceph
3.Правим /etc/hosts,чтобы все 3 ноды были взаимно видны по именам.
==================================================================
Продолжаем на osd1:
1.Создаем файл /root/.ssh/config примерно такого содержания
Host ceph-osd1
Hostname ceph-osd1
User cent
Port 3333
Host ceph-osd2
Hostname ceph-osd2
User cent
Port 3333
Host ceph-osd3
Hostname ceph-osd3
User cent
Port 3333
chmod 600 /root/.ssh/config
2.Создаем/раскладываем ssh ключи
ssh-keygen
ssh-copy-id ceph-osd1
ssh-copy-id ceph-osd2
ssh-copy-id ceph-osd3
3.Создаем репу ceph
cat >/etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
4.Создаем каталог из которого будем делать деплой.Только из этого каталога
mkdir ~/ceph
cd ~/ceph
и ставим
yum install python-setuptools ceph-deploy
5.Удаляем репу на всякий случай.возможны странности при деплое
rm /etc/yum.repos.d/ceph.repo
=================================================================
Херачим:
1.Создаем новый кластер
ceph-deploy new ceph-osd1
Если не указать имя кластера в явном виде,то создастся с дефолтным именем ceph.
ceph-osd1 это монитор кластера.Если сразу планируется несколько,то указываются все,через пробел.
2.Ставим ceph на все ноды(в том числе на ту,с которой деплоим)
ceph-deploy install --release luminous ceph-osd1 ceph-osd2 ceph-osd3
Указываем релиз в явном виде,иначе ставится предыдущая версия,несмотря на то,что ceph-deploy установлен из luminous
3.Создаем/инициируем мониторы,указынные при создании кластера(в данном случае создастся один)
ceph-deploy mon create-initial
4.Разносим конфиги на ноды
ceph-deploy admin ceph-osd1 ceph-osd2 ceph-osd3
5.Создаем манагер(только в luminous+)
ceph-deploy mgr create ceph-osd1
Проверяем,всё ли удачно
ceph -s
Должно получится примерно так
[root@ceph-osd1 ceph]# ceph -s
cluster:
id: dfe07e88-4168-4cde-92d5-f0245e8ad2e6
health: HEALTH_OK
services:
mon: 1 daemons, quorum ceph-osd1
mgr: ceph-osd1(active)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 bytes
usage: 0 kB used, 0 kB / 0 kB avail
pgs:
6.Создаем osd
ceph-deploy osd create —data /dev/vdb ceph-osd1
ceph-deploy osd create —data /dev/vdb ceph-osd2
ceph-deploy osd create —data /dev/vdb ceph-osd3
Теперь так:
[root@ceph-osd1 ceph]# ceph -s
cluster:
id: dfe07e88-4168-4cde-92d5-f0245e8ad2e6
health: HEALTH_OK
services:
mon: 1 daemons, quorum ceph-osd1
mgr: ceph-osd1(active)
osd: 3 osds: 3 up, 3 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 bytes
usage: 3164 MB used, 71823 MB / 74988 MB avail
pgs:
======================================================
Добавление новых мониторов:
ceph-deploy mon add ceph-osd2
Но тут мы получаем фиг по всему лицу.Сервис на ноде не запускается с не очень внятной ошибкой.
Применяем магию:
Идем на ноду под пользователем root и делаем
ceph mon add ceph-osd2 :6789
ceph-mon -i ceph-osd2 --public-addr :6789
После этого сделав ceph -s мы должны увидеть 2 монитора.Если это так,то перезагружаем ноду,и видим,что сервис без ошибок поднялся автоматически.
Взято тут
Делаем на 3-уй ноде то же самое,т.к. нужно нечетное кол-во мониторов
Смотреть статус можно так:
ceph quorum_status --format json-pretty
Получить текущую карту мониторов можно так
ceph mon getmap -o ./monmap
просмотреть так
monmaptool —print ./monmap
=====================================================
Новые манагеры дробавляются без проблем
ceph-deploy mgr create ceph-osd3
=====================================================