Для просмотра этой видеозаписи необходимо авторизоваться

Авторизация

Ceph Установка

17

0

Описание

admin

От: admin

Дата загрузки: 06/29/2023

Теги: Ceph  

Курс СлЁрм по ceph

Поделиться

Share

Добавить в

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

Комментарии (2)

чтобы комментировать.

admin 06/29/2023

Кластер будем устанавливать с помощью ansible сценария ceph-ansible. Устанавливать будем на три сервера:

ingress-1.s000002, node-1.s000002, node-2.s000002 (число 000002 поменяйте на номер студента в своем логине)

Для создания тестовых серверов и получения материалов для практики необходимо создать стенд.

Ansible сценарий будем запускать на сервере master-1.s000002

Сначала зайдите по ssh на sbox.slurm.io, а с него на master-1.s000002. Работаем под пользователем root

Сначала установим ansible и git. В ветке stable-5.0, из которой мы будем устанавливать ceph, есть проверка версии ansible с требованием версии 2.8+, поэтому при установке указываем конкретную версию ansible, в нашем случае установится 2.9

Устанавливаем с помощью yum из репозитория southbridge

yum -y update
yum -y install ansible sshpass git ca-certificates

При необходимости установите netaddr

yum -y install ansible python-netaddr

Скопируем репозиторий со сценарием и переключаемся на стабильную ветку

cd /srv
git clone https://github.com/ceph/ceph-ansible
cd ceph-ansible
git checkout stable-5.0

Устанавливаем модули питона

pip install notario

Так же в последних версиях ceph-ansible установлена опция для ssh -o PreferredAuthentications=publickey, которая разрешает соединение только по ключу. Чтобы вернуть возможность входить по паролю, необходимо ее удалить. В файле ansible.cfg в разделе [ssh_connection] редактируем строчку с ssh_args

[ssh_connection]

ssh_args = -o ControlMaster=auto -o ControlPersist=600s

Подготавливаем инвентарь

Создаем каталоги для инвентаря и помещаем в них файлы со списком серверов и с настройками кластера

mkdir -p inventory/group_vars

Пример списка серверов: inventory/hosts

При составлении своего списка указывайте правильное имя и адрес серверов из сети, выданной вам

[mons]
ingress-1.s000002.slurm.io monitor_address=172.21.200.5
node-1.s000002.slurm.io monitor_address=172.21.200.6
node-2.s000002.slurm.io monitor_address=172.21.200.7

[osds]
ingress-1.s000002.slurm.io
node-1.s000002.slurm.io
node-2.s000002.slurm.io

[mgrs]
ingress-1.s000002.slurm.io
node-1.s000002.slurm.io
node-2.s000002.slurm.io

[mdss]
ingress-1.s000002.slurm.io
node-1.s000002.slurm.io
node-2.s000002.slurm.io

[grafana-server]
node-2.s000002.slurm.io

Пример файла с настройками кластера: inventory/group_vars/all.yml

При указании своих настроек указывайте правильные сети для кластера и разрешения доступа (число 000002 меняйте на номер студента в своем логине)

ceph_origin: repository
ceph_repository: community
ceph_stable_release: octopus

public_network: "172.21.200.0/24"
cluster_network: "172.21.200.0/24"

ntp_service_enabled: true
ntp_daemon_type: ntpd

dashboard_enabled: False

osd_objectstore: bluestore
osd_scenario: collocated
devices:
- /dev/sdb

ceph_conf_overrides:
global:
osd_pool_default_pg_num: 32
osd_pool_default_pgp_num: 32
osd_journal_size: 1024
osd_pool_default_size: 3
osd_pool_default_min_size: 2

admin 06/29/2023

Запуск сценария

Перед запуском еще раз проверьте, что указали правильные имена и адреса серверов, а так же public_network и cluster_network

Переименовываем playbook

mv site.yml.sample site.yml

Для удобства запуска можно создать небольшой script _deploy_cluster.sh

Не забудьте указать логин своего студента при запуске сценария

#!/bin/sh

d=$(date '+%Y.%m.%d_%H:%M')
ANSIBLE_LOG_PATH="./deploy-$d.log"
export ANSIBLE_LOG_PATH

ansible-playbook -u s000000 -k -i inventory/hosts site.yml -b --diff

Пока отрабатывает сценарий ansible можно прослушать следующий урок, про расчет количества placement group в кластере

Advertisement