====== Распределенное отказоустойчивое хранилище Ceph - просто добавь узлов! ======
===== Анонс мастер класса =====
===== Запись мастер класса =====
* [[https://youtu.be/OB5jysMLjIM|Разворачиваем распределенное отказоустойчивое хранилище Ceph за 45 минут]]
===== Реклама мастер класса =====
* Всем привет, встречайте систему хранения мечты! Нужно гарантировать сохранность данных - пожалуйста - три копии в разных городах, заканчивается место - добавьте еще диск, закончилось место для дисков, добавьте еще узел. И узлы и диски - любые на вкус и бюджет. Давайте попробуем за 45 минут все развернуть и посмотреть пару основных сценариев - "кончилось место" и "узел вышел из строя"
===== Техническое задание =====
* Развернуть отказоустойчивую систему хранения предприятия с интерфейсом iSCSI без единой точки отказа
===== Методические рекомендации =====
* Провести мастер класс в инфраструктуре полученной в конце курса [[Создание отказоустойчивых Linux решений]]
===== Шаг 1. Исходное состояние стенда =====
* СДЕЛАНО: Настройка на win client на использование dhcp
* СДЕЛАНО: node1# rm .ssh/known_hosts && ip n f all
* [[Сервис DNS#Настройка мастер сервера зоны corpX.un]] (продемонстрировать GENERATE и csync2)
* Запустить cmder с правами текущего пользователя
* [[Сервис Git#Клонирование и обновление локального репозитория из сетевого]]
* Развертывание узлов node3..7 через [[Технология VirtualBox]] RAM 1Gb, HDD2 4G
cd conf/virtualbox/
./setup.sh X 6
* Настройка сети узлов node3..7 через [[Сервис Ansible]] (продемонстрировать, группа addnodes, Настройка транспорта ssh, Использование модулей, Использование ролей - файлы взять готовые из каталога conf)
===== Шаг 2. Установка и настройка Ceph =====
* Сервис Ansible [[Сервис Ansible#Использование модулей]]
node3# ssh-keygen
node3# ssh-copy-id node4
node3# ssh-copy-id node5
* [[Решение Ceph]]
* [[Сервис iSCSI]] Windows initiator
===== Шаг 3. Сценарий - нехватка места =====
* [[Материалы по Windows#Создание большого файла]]
* При попытке копирования 4-й копии получаем сообщение о нехватке места на диске в windows
* [[Решение Ceph#RBD POOL]] rbd resize
* После копирования 10-й копии файла получаем WARN (в debian 11 нет!!!)
* [[Решение Ceph#OSD POOL]] увеличиваем количество pg_num и pgp_num (не обязательно) и разворачиваем OSD на 6-м узле
node3# ssh-copy-id node6
* Добавление узла [[Решение Ceph#OSD]]
===== Шаг 4. Сценарий - авария узла =====
* Запускаем мониторинг ceph -s на 4-м узле и отключаем питание и удаляем 3-й, ждем результат ([[Решение Ceph#Поиск проблемных узлов]])
* Смотрим, как чувствуют себя пользователи windows (Перервать/Подключить)
* Временно уменьшаем [[Решение Ceph#OSD POOL]] test-pool1 size до 2-х (не обязательно)
node4 debian11# ceph mon remove node3
* Присваиваем 7-му узлу ip адрес 3-го, чистим ARP!!! ([[Настройка сети в Linux#Команды для диагностики]]) и настраиваем сеть через [[Сервис Ansible]]
* Берем конфигурацию с 4-го и запускаем [[Решение Ceph#MON]] на 3-м (узле создаем точно такой же monmap и выполняем все действия только для 3-го узла)
* Выполняем все действия по запуску [[Решение Ceph#MGR]] на 3-м узле
* Запускаем [[Решение Ceph#OSD]] на на 3-м узле
* Берем конфигурацию с 4-го и перезапускаем [[Решение Ceph#TGT-RBD]] на 3-м
* Возвращаем [[Решение Ceph#OSD POOL]] test-pool1 size равным 3
* Удаляем из списка вышедший из строя узел [[Решение Ceph#OSD]]
===== Что еще =====
* Добавление дисковых накопителей к узлам OSD через LVM
* Безопасность
* Более сложные карты, позволяющие хранить копии данных в различных географических местах