====== Распределенное отказоустойчивое хранилище 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
  * Безопасность
  * Более сложные карты, позволяющие хранить копии данных в различных географических местах