Ceph на Ubuntu 18.04

Приобретаем 3 VDS. Например на FirstByte

Устанавливаем Ubuntu 18.04 и даем названия s1 s2 и s3

После установки создаем раздел для ceph. Для этого загружается через LiveCD, уменьшаем основной раздел и создаем дополнительный. В системе появится новый раздел vda3

На каждом сервере подключаемся под root и ставим gnupg и python-minimal

# apt install python-minimal gnupg -y

На s1 устанавливаем ceph-deploy. Меняем mimic на последний стабильный релиз

# wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
# echo deb https://download.ceph.com/debian-mimic/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# apt update
# apt install ceph-deploy

Настраиваем синхронизацию времени на всех серверах

# apt install ntp

На каждом сервере добавляем адреса в /etc/hosts, чтобы они видели друг друга по именам s1 s2 b s3. Создаем пользователя для s1, переключаемся на него и создаем папку admin-ceph

# adduser {USERNAME}
# usermod -a -G sudo {USERNAME}
# su - {USERNAME}
~$ mkdir admin-ceph
~$ cd admin-ceph

Устанавливаем необходимые пакеты для ceph под пользователем root. Для каждого сервера будет запрошен пароль ssh

~/admin-ceph$ ceph-deploy --username root install s1 s2 s3

После установке на каждом сервере появился пользователь ceph.
Включаем им shell, настраиваем sudo и устанавливаем пароль

~/admin-ceph$ sudo chsh -s /bin/bash ceph
~/admin-ceph$ echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
~/admin-ceph$ sudo passwd ceph

Генерируем ssh ключ и добавляем для подключения к каждому серверу под пользователем ceph

~$ ssh-keygen
~$ ssh-copy-id ceph@s1
~$ ssh-copy-id ceph@s2
~$ ssh-copy-id ceph@s3

Чтобы для команды ceph-deploy не указывать пользователя создадим файл ~/.ssh/config

Host s1
   Hostname s1
   User ceph
Host s2
   Hostname s2
   User ceph
Host s3
   Hostname s3
   User ceph

Теперь приступим к созданию кластера. Создадим директорию, где будут хранится файлы настроек и выполним установку.
— создаем кластер
— добавляем поддержку ipv6 (желательно)

~$ mkdir admin-ceph
~$ cd admin-ceph
~/admin-ceph$ ceph-deploy new s1 s2 s3
~/admin-ceph$ echo ms bind ipv6 = true >> ceph.conf
~/admin-ceph$ ceph-deploy mon create-initial
~/admin-ceph$ ceph-deploy admin s1 s2 s3
~/admin-ceph$ ceph-deploy mgr create s1

Добавляем OSD на выделенные разделы

ceph-deploy osd create --data /dev/vda3 s1
ceph-deploy osd create --data /dev/vda3 s2
ceph-deploy osd create --data /dev/vda3 s3

Проверяем

ssh s1 sudo ceph -s

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *