Вопрос или проблема
У меня есть два сервера приложений, работающие в кластере актив/актив на виртуальном хосте VMWare ESXi (5.5, в ближайшем будущем обновление до 6.5) с работающим VSphere. Приложению требуется совместимое хранилище с высокой производительностью.
ESXi использует хранилище EMC с использованием LUN.
Существует ли способ создать дополнительное хранилище (диск), которое будет отображаться через VSphere для обеих виртуальных машин?
Я бы лично предпочел GlusterFS, что потребовало бы добавления дополнительных виртуальных машин, но мои администраторы инфраструктуры, как правило, отклоняют это (достигнут лимит на ВМ). Поэтому подход с GlusterFS для меня невозможен.
Общая схема – создать новый vmdk, используя 1:0 в качестве идентификатора SCSI, чтобы создать отдельный виртуальный контроллер. Этот контроллер может быть установлен как совместный виртуальный (общее использование на одном хосте) или совместный физический (совместное использование между хостами).
На другой ВМ вы добавляете существующий диск, используя отдельный контроллер, и вы готовы.
Очевидно, что работающие ВМ должны координировать доступ к диску между собой. Использование обычной файловой системы без опции кластеризации не сработает.
Посмотрите https://web.archive.org/web/20201026144441/https://communities.vmware.com/blogs/Abhilash_hb/2013/08/25/clustering-using-sharing-of-vmdks-between-virtual-machines для получения подробной информации.
Ответ или решение
Для организации совместного использования хранилища между несколькими виртуальными машинами (ВМ) в среде VMware ESXi и vSphere, можно следовать следующим шагам. В данном случае мы предполагаем, что у вас две приложение-сервера, которые работают в активном/активном кластере и требуют совместного, высокопроизводительного хранилища.
Шаги для создания общего виртуального диска:
-
Создайте общий VMDK:
- В vSphere Web Client выберите одну из ваших виртуальных машин.
- Перейдите в настройки (Edit Settings) виртуальной машины и выберите раздел "Добавить устройство" (Add New Device).
- Выберите опцию "Жесткий диск" (Hard Disk).
- При создании жесткого диска выберите "Использовать существующий виртуальный диск" (Use an existing virtual disk) и укажите путь к вашим VMDK-файлам (например,
datastore_name/vm_name/shared_disk.vmdk
). - Обязательно задайте тип контроллера SCSI с ID 1:0, чтобы создать отдельный виртуальный контроллер.
-
Настройте контроллеры дисков:
- В обеих виртуальных машинах нужно установить диск на общий контроллер.
- В настройках виртуальной машины убедитесь, что диск настроен как "shared virtual" (обычно для совместного использования на одном хосте) или "shared physical" (для совместного использования в кластере с несколькими хостами).
-
Координация доступа к диску:
- Важно помнить, что доступ к общему диску требует координации между ВМ. Вы не можете использовать стандартную файловую систему без поддерживаемых функций кластеризации, таких как GFS или корневые специальные решения для совместного доступа.
- Рассмотрите возможность использования файловых систем с поддержкой кластеров, таких как VMFS (VMware File System) или другие системы хранения данных, которые могут обеспечить консистентность и безопасность данных при одновременном доступе.
-
Тестирование:
- После настройки общего доступа, протестируйте систему на предмет корректного функционирования. Убедитесь, что обе серверные ВМ могут получать доступ к общему диску без конфликтов и ошибок.
-
Мониторинг производительности:
- Важно следить за производительностью вашего общего хранилища, чтобы убедиться, что оно справляется с нагрузкой от двух активных ВМ. Используйте инструменты мониторинга, чтобы оценить параметры производительности и вносить необходимые коррективы.
Заключение
Таким образом, совместное использование дискового пространства между множеством виртуальных машин в VMware ESXi и vSphere возможно с использованием возможностей, заложенных в платформе. Следует учитывать необходимость координации доступа и возможность применять специализированные файловые системы для совместного использования. Для более детальной информации можно ознакомиться с руководствами и документами на веб-сайте VMware и специальными статьями, такими как этот пример на ресурсе VMware Communities.
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться.