Чи є гарною ідеєю зберігати обсяги Docker у глюстерфах?


24

Наразі я замислююся про переміщення деяких наших серверів та додатків у середовище coreOS . Однією з проблем, які я бачу тут, є управління стійкими даними, оскільки coreOS не обробляє обсяги Docker під час переміщення контейнера на нову машину. Після деяких досліджень я знайшов glusterFS, який стверджує, що це файлова система кластерів, яка може вирішити всі мої проблеми.

Моя теперішня ідея така: у мене є контейнер glusterFS, який працює як привілейований контейнер на кожній з моїх машин coreOS і відкриває /mnt/gluster, наприклад, сховище . У своєму Dockerfiles я вказую, що всі мої томи повинні бути встановлені на цьому шляху.

Наступним, що я розглядав, було, які контейнери повинні отримувати власні обсяги, а які повинні бути спільними. Наприклад, кожен mysqlконтейнер отримав би власний об'єм, оскільки він може обробляти реплікацію сам. Я не хочу возитися з цим. Веб-сервери, що обслуговують один і той же веб-сайт, будуть належним чином використовувати той самий об'єм для таких матеріалів, як "зображення, завантажені користувачем" тощо, оскільки вони не в змозі повторити ці дані.

Хтось пробував щось подібне чи щось я пропустив?


1
Я продемонстрував це поняттям і можу сказати, що воно працює, але перед тим, як перейти до Gluster, переконайтесь, що ви розумієте його профіль настройки. Завдяки тому, наскільки Gluster чутливий до затримки диска (подібно до etcd), він може робити програми штучно повільніше, щоб гарантувати реплікацію файлів.
Брайан Руда борода

2
Ми працюємо над інструментом, який управляє обсягами, приєднаними до докерних контейнерів. Він називається "flocker", і ви можете побачити github repo тут: github.com/clusterhq/flocker В даний час у нас є резервний файл для зберігання даних для ZFS, який використовує функцію знімка, щоб значно полегшити міграцію даних, але ми також маємо плани щодо інших резервних файлів зберігання (наприклад, загальний блок приладів блоку) Я не можу сказати, чи гарна ідея монтувати обсяги докера за допомогою GlusterFS, але я можу поручити загальну схему дизайну - тобто облік стану, створеного контейнером докера, використовуючи "щось"
Біно Карлос

1
Дякую за вашу відповідь. Я вже бачив флокер і це виглядає дуже перспективно. У вас є приблизна дата для підтримки Coreos або готової до виробництва версії 1.0?
Мартін

Я використовував glusterfs для томів з OpenStack, перед яким налаштований аналогічно тому, що ви робите, і це було чудово.
Етод

@Martin У нас (я працюю в ClusterHQ) Flocker працює над CoreOS, використовуючи Amazon EBS. coreos.com/blog/Flocker-on-CoreOS-Linux
Стівен Нгуен

Відповіді:


9

Ми розмістили аналогічну установку з Atomic ( http://www.projectatomic.io/ ) замість CoreOS для реплікуваної нерозподіленої системи зберігання GlusterFS з трьома наборами репліка-2. Це працює дуже добре.

Однак потрібно пам’ятати про деякі особливості GlusterFS. Як і Брайан, що вже згадувався, Gluster перш за все ставить послідовність та надійність. Чим частіше відбуваються зміни, тим більше відбувається тиражування. Це спричиняє чималий тиск на вашу систему.

Слідкуйте за тим, щоб ваша підсистема вводу-виводу була швидкою (так, це сховище), підключіть свої вузли Gluster з найшвидшими доступними мережевими з'єднаннями. Якщо у вас є лише GBit, агрегатуйте! І останнє, але не менш важливе, система зберігання повинна мати серйозну обчислювальну потужність, Gluster робить багато обчислень, щоб перевірити свій стан. Як сказано, навіть під великим навантаженням Gluster забезпечує.

Перегляньте свою стратегію MySQL. Gluster робить для вас реплікацію, а також забезпечує збалансування навантаження в доставці. Дійсно, швидше використовувати Gluster.


5

Використання glusterfs залежатиме від резервного копію пам’яті, який ви використовуєте. Як файлова система кластера призначена для кластеризації фізичного зберігання, щоб вона виглядала як один великий безперервний об'єм. Цей офіційний посібник для швидкого запуску добре пояснює процес.

У тому випадку, якщо ваша установка використовує два або більше окремих серверів зберігання резервних копій або щось подібне для зберігання всіх томів докера, то використання glusterfs або іншої подібної паралельної файлової системи може запропонувати значні переваги в продуктивності. У цьому випадку ви також можете розглянути можливість використання Luster , який широко використовується як паралельна файлова система у спільноті HPC.

Зважаючи на це, налаштування, налагодження та налаштування паралельних / кластерних файлових систем може зайняти багато часу, що вимагає багато досвіду, терпіння та інколи готовності перезапустити спочатку. Було б доцільно переконатися, що переваги продуктивності паралельної пропозиції файлової системи коштують великих зусиль, необхідних для її налаштування та підтримки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.