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