А я тут live дистрибутив собираю, CephOS
Приветствую! :)
Зовут меня Sheridan и я алкоголик гентушник. 0x14 лет уже в emerge медитирую. А кнопки нажимаю и того больше.
Захотелось мне домой NAS. Хорошая штука, удобная. Да только вот ничего меня из того, что есть, не устраивало. А потом я узнал про распределённые ФС. А потом узнал про ceph (кстати, советую почитать это - неплохо для понимания что такое ceph). И захотел себе этот самый ceph домой. Не спрашивайте - зачем. Потому что могу :)
Долго ли коротко я эту хотелку в себе носил, да только вот недавно обломились мне несколько корпусов серверных. И железо дома накопилось разное. Решил, что пора действовать. Ну, железо в кучу собрать да от пыли почистить недолго, а вот ceph развернуть там-же - жалко диски то. Это ж целых как минимум два диска надо в btrfs raid положить, чтобы / там себя чувствовало нормально и у меня голова не болела на тему "А что если диск всё? Переустанавливать?".
И вспомнил я тут про SmartOS. А что, удобно! Грузимся с флешки а все диски гипервизору отдаём и радуемся. Поискал такое про ceph и не нашёл. Штош, думаю, зря я с железа компрессором пыль сдувал? Надо писать.
Ну, и, собственно, вот: CephOS. Уже 0.0.6beta, почти релиз. Обкатываю как раз на железе, ищу слабые стороны.
Идея такая:
Загружаем с флешек несколько хостов
Выполняем на каждом несколько команд
...
PROFIT!
Взял я в руки дебьяновый live-build и полез в него встраивать ceph. И скриптами обмазывать. И метриками обкладывать. Куда-ж без метрик то?
И вот что в итоге получилось:
Live дистрибутив, предназначенный для поднятия кластера ceph
Дистрибутив умеет в persistence (настройки/изменения в / будут храниться на другом разделе/устройстве)
Про ceph можно ничего не знать
Можно просто выключить ноду и хранилище не пострадает
Можно добавить дисков, хостов и хранилище просто увеличится.
Можно удалять из хранилища диски и хосты
Метрики, метрики, мои любимые метрики :) От node_exporter до smatrctl_exporter. К тому же есть специальный helper-генератор конфига для prometheus, чтобы не приходилось врукопашную все эти хосты подключать.
Для более лёгкого подключения есть специальный скрипт, который складывает всё нужное в архив. Этот архив потом нужно забрать на хост клиента, разложить оттуда всё по местам, выбрать и установить нужный вариант монтирования. Ну, в смысле можно руками, можно в fstab, а можно и systemd юнитами монтировать.
Можно управлять сжатием CephFS
Ну и никто не отнимает стандартный ceph cli, ежели надо чтото сделать, что скриптами ещё не обмазано. Или написать ишью в github проекта - вполне возможно, что обмажу :)
Debian bookworm, Ceph squid
Да, флешки менее надёжны, чем hdd. Но флешки категорически дешевле. Да, флешки медленнее hdd. Но это не сильно то и надо в контексте CephOS. Вдобавок live-build поддерживает persistent разделы - то есть можно условный /var/lib/ceph положить на отдельный ssd и оно ещё до загрузки основной системы примонтируется куда надо. Флешка ушла к тёмным магистрам? Ну и дырку на ней в небе, мы с другой загрузимся и заново подключим ноду к хранилищу. Удобно!
Ориентирован CephOS на soho сегмент, где особо не нужны высокие скорости и сверхвысокая надёжность. То есть можно поднять вообще на хламе. То есть не надо это сравнивать с промышленными Ceph кластерами на десятки хостов (хотя ничего не мешает и на CephOS это поднять). А для дома, я считаю, самое то, если завалялось штуки три комплекта старого железа :)
Как? Скачиваем cephos_installer_0.0.6beta.run, записываем несколько флешек, втыкаем флешки в хосты, выполняем на хостах несколько команд, генерируем и забираем архив со всем необходимым для монтирования, монтируем, пользуемся. Всё :)
А ежели поподробнее интересно, то вот тут моя шпаргалка по подъёмы CephOS в виртуалках и на железном полигоне
И мне нужна ваша помощь.
Если у кого есть возможность - протестируйте пожалуйста. Баги/вопросы/пожелания/проклятия в ишью забрасывайте. А если вы с ceph работаете, то я бы очень хотел от вас советов полезных. Мои то два глаза ещё зоркие вроде, но это глаза автора. А нужны глаза пользователей :)
Спасибо, что прочитали эту простыню :)

Лига Сисадминов
2.4K постов18.9K подписчиков
Правила сообщества
Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.