Как увидеть обновления объема EBS, когда он прикреплен к нескольким экземплярам?

Вопрос или проблема

У меня есть два экземпляра EC2, работающих под управлением Ubuntu 18.04. Я создал том Provisioned IOPS SSD (io1) и включил многооб Attach. Я успешно смонтировал том на обоих экземплярах и могу читать и записывать на него без каких-либо проблем. Проблема сейчас в том, что если я изменяю файл на общем томе с экземпляра A, я не могу увидеть изменения на экземпляре B без повторного монтирования тома. Есть ли способ сделать так, чтобы эти обновления были немедленно видны на обоих экземплярах?

Вам понадобится файловая система/программа, которая поддерживает многооб Attach. Например, Oracle RAC может использовать такие тома, в то время как обычные файловые системы, такие как ext4 или xfs, не могут. Они разработаны для монтирования только на одном хосте.

Давайте отступим назад – что вы пытаетесь достичь? Поделиться файлами между экземплярами, я полагаю? Ваш лучшей вариант – EFS (Эластичная файловая система) – облачный сервис NFS от AWS. Если у вас нет очень специфической необходимости в многооб Attach EBS и вы не запускаете какое-то очень специализированное приложение, которое может это использовать, я предлагаю рассмотреть возможность использования EFS. Необходимость в многооб Attach дисках редка, как в облаке, так и вне его.

Надеюсь, это поможет 🙂

Я нашел этот блог AWS, который предоставляет пошаговое руководство по включению многооб Attach EBS.

https://aws.amazon.com/blogs/storage/clustered-storage-simplified-gfs2-on-amazon-ebs-multi-attach-enabled-volumes/

Ответ или решение

Для достижения синхронизации обновлений на EBS-объеме, подключенном к нескольким экземплярам EC2, прежде всего необходимо понимать, что стандартные файловые системы, такие как ext4 или xfs, не созданы для одновременного доступа от нескольких экземпляров. Они требуют эксклюзивного доступа, что приводит к проблемам с видимостью изменений, как вы уже заметили.

1. Что такое EBS с многоразовым подключением?

EBS (Elastic Block Store) с многоразовым подключением (multi-attach) – это возможность подключить один и тот же EBS-объем к нескольким экземплярам EC2 одновременно. Однако этот функционал требует, чтобы файловая система, используемая на этом объеме, поддерживала доступ от нескольких экземпляров.

2. Правильный выбор файловой системы

Для того чтобы изменения, внесенные на объем, были немедленно видны на всех экземплярах, вам необходимо использовать файловую систему, которая поддерживает многоразовое подключение. Примеры таких файловых систем:

  • GFS2 (Global File System 2): Предназначена для многопоточных операций и позволяет нескольким узлам совместно использовать файл.
  • OCFS2 (Oracle Cluster File System 2): Подходит для систем, работающих в кластерах, и поддерживает многопоточность.

Тем не менее, использование указанных файловых систем требует наличия специализированного программного обеспечения и определенной конфигурации окружения.

3. Рассмотрение альтернатив

Если ваша цель – просто совместное использование файлов между экземплярами, то рассмотрите возможность использования Amazon Elastic File System (EFS). Это облачная сетевое файловое хранилище, которое прост в настройке и обслуживании, а также обеспечивает высокую доступность и автоматическое масштабирование. ЕFS поддерживает NFS (Network File System), что позволяет нескольким экземплярам EC2 получать доступ к файлам одновременно без необходимости в сложной конфигурации.

4. Применение

Если вы все же решите продолжить использовать EBS с многоразовым подключением, выполните следующие шаги:

  1. Установите GFS2 на обеих инстансах EC2.

    • Убедитесь, что ваши экземпляры настроены на совместное использование файловой системы.
  2. Сформатируйте объем EBS, используя команду для установки GFS2.

    • Пример создания файловой системы:
      mkfs.gfs2 -j 2 -p lock_nolock -O 2 /dev/xvdf
  3. Подключите GFS2 к обоим экземплярам:

    • Используйте команду mount, чтобы подключить файловую систему.
    • Убедитесь, что mount-параметры соответствуют требованиям GFS2.

Заключение

Хотя EBS с многоразовым подключением предоставляет интересный функционал, его использование строго ограничено специфическими случаями. Если ваша цель заключается в совместном доступе к файловым данным без сложной конфигурации и проблем с синхронизацией, Amazon EFS предоставляет идеальное решение. Сравните возможности ключевых решений и выберите оптимальное, исходя из ваших задач и сценариев использования.

Оцените материал
Добавить комментарий

Капча загружается...