
Для просмотра этой видеозаписи необходимо авторизоваться
Авторизацияceph
Видео: 12
Описание
Добавить в
Вам надо авторизоваться чтобы добавлять видеозаписи к спискам воспроизведения.
Комментарии (2)
Авторизуйтесь чтобы комментировать.
Advertisement

Кластер будем устанавливать с помощью 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
Запуск сценария
Перед запуском еще раз проверьте, что указали правильные имена и адреса серверов, а так же 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 в кластере