Программы и Дизайн » Linux, Unix и другие ОС » Операционные системы (Linux, Unix)
[x86, amd64] VM Ceph 18.2.2 Cluster @ Alpine 3.19 [VirtualBox OVA]Год Выпуска: 2024
Версия: 18.2.2 Build Reef
Разработчик: Ceph.com
Сайт разработчика:
https://github.com/ceph/cephСистемные требования:
- Core i3-5xxx+, 32 Gb RAM, 500+ Gb на NVMe-диске - рекомендуемые
- Core 2 Duo, 8 Gb RAM, 12 Gb на любом диске как самый минимум
- Навыки продвинутого Linux-администва
- Готовность курить тонны мануалов =)
Архитектура: x86, amd64
Таблэтка: не требуется
Язык интерфейса: Английский
MD5: cbcfec89919fe3feff91afdbda86530b
SHA256: 5eef012e1b0a6b40e438f0debe5b418cbeb531b96c2ab652dd6f563f7eb8e6ff
3.5 Gb OVA -> 10 Гб на дискеОписание: Готовый для запуска VirtualBox-шаблон *.ova (разворачивает 13 ВМ разом в 5 группах) полностью настроенного и готового к опытам цеф-кластера с ключевыми сервисами -
MON+MGR / OSD / RGW / MDS, с разделением (неполным, OSD-сеть не вынесена) на публичную внешнюю и кластерную сети, поднятый на весьма минималистичном линуксе, который вообще может быть применён для такой зловещей софтины.
Это один из самых сложных в настройке сервисов. Конфиг системы содержит порядка 2000 параметров, существенная часть которых документирована только исходным кодом. Документация между версиями совместима частично.
Используется для организации масштабируемых блочных / S3 хранилищ петабайтного масштаба.
[spoiler="Первый запуск и настройка"]
- импортируйте OVA-файл, дождитесь завершения импорта, но сразу НЕ СТАРТУЙТЕ.
- произведите подготовку публичной сети кластера (первые сетевые карты у каждой ВМ). Тут целых три базовых варианта :
- вместо виртуальной сети
ext-networkдля каждой из 13 ВМ сделать сетевой мост с той физической сетевой картой, где у вас домашняя сеть (любой домашний роутер 13 адресов из
192.168.*.*найдёт).
- поднять виртуальный роутер на базе
вспомогательной ВМ TinyGate, соединив её LAN-порт #2 с виртуальной сетью
ext-network(исключение допустимо для VM Ceph-Admin - её первый порт может быть соединён через что вам удобно)
- прописать внутри каждой ВМ 192.168.-адреса статикой на внутренний
eth0.
ВАЖНО !!
⚠ Данный сетап Ceph полагает, что внешняя сеть - это адреса 192.168.*.*!! Изменения - на вашу смелость. - Запустите все ВМ. Если запуск всех ВМ разом затруднителен, то запускать можно группами/частями. Несколько моментов:
- MON-ы запускайте либо все сразу в группе, либо хотя бы два одновременно. Кластер жив и управляем при любых двух активных MON. Без кворума будет грузиться дольше и сложнее.
- OSD лучше пускануть все разом, ну или минимум 3 в группе. При запуске по одному кластер может какое-то время поколбасить, особенно если стенд с медленными дисками.
- MDS и RGW можете не запускать вообще, если не планируете играться с CephFS / S3. Их работа не обязательна.
- Админ-ВМка
Ceph-Adminсделана для удобства и тоже в принципе не обязательна, если ваc не пугает 12 цефо-нод прямо в домашней сети и необходимость руками настраивать доступ на всех 12 ВМ вместо одной. P. S. Подразумевается, что линукс-консоль для вас родная, а доступ по ключам в ссш вы настраиваете с завязанными глазами, даже если вас разбудить 1 января после новогоднего корпоратива =)
Мануал по импорту в ProxMox (серверный гипервизор):
YouTube: 4lYulcTd5yc[/spoiler]
[spoiler="⚠ Безопасность, вот прям ОЧЕНЬ важно ⚠"]
Соблюдение минималистичности при сохранении относительной простоты сетапа требует жертв. Одна из таких жертв - отказ от авто-деплоя (таких манов вагон в интернете, разной степени мутности).
Поэтому все ключи, что SSH, что Ceph - прописаны в скриптах и конфигах, а значит,
скомпрометированы по умолчанию.
Поэтому:
⚠ НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ПОДОБНЫЕ УЧЕБНЫЕ / ТЕСТОВЫЕ СТЕНДЫ В ПРОДАКШЕНЕ. ⚠
⚠ ЗАПУСКАТЬ ТАКОЕ МОЖНО ТОЛЬКО В ДОВЕРЕННЫХ, ИЗОЛИРОВАННЫХ СЕТЯХ. ⚠P. S. Либо меняйте все ключи, что SSH, что кластерные из ceph auth, и будьте готовы править конфиги файервола внутри ВМ.
Однако если вы готовы это делать, то этот совет к вам скорее всего не относится.
[/spoiler]
[spoiler="Доп. информация"]
Тестовый стенд / учебный кластер для запуска в условиях минимума ресурсов (я запускал всё это на древнем ноуте из 2013 года).
Если у вас нет роутера дома или вам нужна полностью оффлайн-работа - пригодится
вспомогательная ВМ TinyGate (как вариант - перенастраивать сеть на первых картах всех 13 ВМ).
Состав кластера:
-
1x ADMIN ( управление кластером + доступ по SSH-ключам на остальные ноды )
-
3x MON+MGR ( Админство кластерных OSD только с них по умолчанию )
-
5x OSD ( данные на /dev/sdb, раздел XFS )
-
2x RGW ( для S3-доступа )
-
2x MDS ( для CephFS )
+ внешняя сеть (
ext-network) - настрока по DHCP, ожидаются адреса из 192.168.*.*
+ внутренняя (
ceph-backbone) кластерная сеть 10.67.89.*
+ в этой версии свирепый оверкоммит OSD - анонсится по 100 Гб при реальном объёме в 3-4 Гб.
Тип хранилища - BlueStore, но с размещением виртуального блочного устройства в файле на XFS.
На малых объёмах это работает.
На одной ВМ совместно размещены только MONx + MGRx, всё остальное отдельно.
Статус кластера:
Код: ceph-MON-0:~# ceph -s
cluster:
id: 8be60d80-6770-4e5a-ad20-48e4cea593f3
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-MON-0,ceph-MON-1,ceph-MON-2 (age 78m)
mgr: ceph-MON-0(active, since 74m), standbys: ceph-MON-1, ceph-MON-2
osd: 5 osds: 5 up (since 117m), 5 in (since 107m)
rgw: 2 daemons active (2 hosts, 1 zones)
data:
pools: 5 pools, 129 pgs
objects: 191 objects, 453.0 KiB
usage: 268 MiB used, 500 GiB / 500 GiB avail
pgs: 129 active+clean
Некоторые справочные материалы и шпаргалки, максимально актуальные для этой версии, приложены к раздаче, см. /Manuals
видос с кратким объяснением сути (котики присутсвуют):
YouTube: QBkH1g4DuKEК раздаче приложены файлы ридми, там есть описание конвертирования XFS-OSD в LVM-OSD.
Текущий конфиг более наглядный и понятный, LVM - существенно более быстрый.
Если первые интерфейсы админской ВМ и остальных ВМ кластера находятся в разных сетевых сегментах, то некоторые команды управления OSD с админской ВМ могут не работать.
Команды типа ceph osd df могут зависать.
В этом случае самый простой вариант - зайти по ссш на любой монитор и выполнить команду оттуда.
[/spoiler]
[spoiler="Зачем и почему"]
Настройка кластера цефа весьма сложна (особенно первый раз :D), а настройка в минималистичном линукс-окружениии без ceph-deploy/cephadm - изнурительно сложна, глубокая оптимизация индивидуальна для каждого сетапа и относится к высокому админскому искусству. Значительная часть мануалов по сетапу цефа полагает, что у вас дома есть как минимум половина современной инфраструктуры, и готовые средства для масс-менеджмента и развертывания. Мне же хотелось иметь возможность экспериментов без привязки к стороннему инструментарию.
Данный сетап идеально подходит для самых опасных экспериментов, которые вы никогда не рискнёте сделать на продакшене. Размер крохотный, опорная кластерная сеть не затрагивает физические интерфейсы, сами ВМ-ки легковесны и их можно склонировать сколько вам надо.
Всем изучающим сложные распределённые системы хранения может быть полезно.
Считайте это подарком от Аминуксера по случаю дня космонавтики.
[/spoiler]
[spoiler="Скриншоты"]

[/spoiler]
IPFS2024-04-12: Раздача обновлена. Достигнуто состояние HEALTH_OK, добавлен мануал и пример по LVM-BlueStore, зачищено место, проверен ресайз OSD, обновлена ОС2025-01-31: Выпущена новая версия сборки: 18.2.4 , оформил отдельной раздачей #6638764