Назад | Перейти на главную страницу

Предложение по созданию тома GlusterFS

Мне нужно развернуть несколько кластеров Openshift от 3 до 10 узлов. Для 3 узлов я создаю тома как реплицированные.

Но для 4 и выше создание реплицированного тома выглядит не лучшим образом, поэтому каждый узел имеет диск емкостью 300 ГБ, и репликация его на 10 узлов не оптимальна. Я ищу формулу для использования как

For 4 nodes create volume as disperse:2:1
For 5 nodes create volume as disperse:?:?
For 6 nodes create volume as disperse:?:?
For 7 nodes create volume as disperse:?:?
For 8 nodes create volume as disperse:?:?
For 9 nodes create volume as disperse:?:?
For 10 nodes create volume as disperse:?:?

Окружающая среда: Я буду использовать эти тома для MYSQL 5.7.28, и на каждом сервере есть диск объемом 300 ГБ. Из 300 ГБ я создам том размером 250 ГБ для MYSQL.

OpenShift 3.11 version

# gluster --version
glusterfs 6.1

PS: у меня нет предыстории хранения, поэтому извините, если мне не хватает какой-то очевидной точки, я пытался выполнить поиск в Google, но не смог извлечь необходимую информацию.

Планируете ли вы использовать все узлы в качестве узлов хранения или только часть узлов в качестве узлов хранения? Исходя из вашего вопроса, MySQL использует 250 ГБ, каким еще приложениям требуется хранилище?

Репликация тома: доступное эффективное пространство для хранения будет

volume_size = sum of storage available from three nodes / 3

В вашем случае размер тома будет 300 ГБ с использованием трех узлов хранения.

Дисперсный объем: доступное эффективное пространство для хранения будет

volume_size = storage in single node * (number of bricks - redundancy count)

В вашем случае размер тома будет 300 * (3-1) = 600GiB. Более подробная информация доступна здесь https://docs.gluster.org/en/v3/Administrator%20Guide/Setting%20Up%20Volumes/#creating-dispersed-volumes Дисперсные тома хороши для архивных целей, так как позволяют сэкономить место по сравнению с репликами. Но он может быть медленным по сравнению с Replica из-за вычислений, выполняемых во время каждого ввода-вывода.

Кадалу (https://kadalu.io) предлагает другой подход к предоставлению томов в Kubernetes. Он создает один том Gluster из хранилища и предоставляет подтомы из этого тома, когда запрашивается PV (в вашем случае Storage for Mysql).

Kadalu в настоящее время поддерживает Replica 1 и Replica 3 Volumes. Реплика 1 полезна, когда устройство хранения заявлено у других поставщиков хранилища, например AWS / Azure. Replica 3 обеспечивает высокую доступность хранилища для приложений, даже если один из трех узлов выходит из строя. Недавнее сообщение в блоге (https://kadalu.io/blog/kadalu-kubernetes-storage) объясняет несколько конфигураций, доступных с Kadalu, и использование его с существующим хранилищем.

Kadalu использует GlusterFS и изначально интегрирован с Kubernetes, без использования демона управления Gluster - glusterd.

Обновить: Добавлен расчет дисперсного объема.

number of disperse bricks = data bricks + redundancy count

Если доступно 3 устройства хранения,

2 data bricks + 1 redundancy bricks

В случае 6 запоминающих устройств,

4 data bricks + 2 redundancy bricks

Если количество блоков резервирования увеличивается, то размер используемого тома уменьшается. Том будет доступен для приложений, даже если количество блоков, эквивалентных блокам избыточности, уменьшится. Например, в 4+2 конфигурации объем будет доступен, даже если 2 кирпича из 6 упадут.