Итого, по мотивам предыдущих частей данной эпопеи: раз, два, три, мы имеем парочку хостов ESXi и vCenter Server, который этими хостами умеет управлять.
Следующее обязательное условие для построения кластера — общее хранилище с кластерной файловой системой VMware — VMFS (или NFS ресурс). Данное хранилище должно быть доступно одновременно всем узлам будущего кластера и на нем будут храниться файлы виртуальных машин. В двух словах про эти самые файлы.
Каждая виртуальная машина для гапервизора ESXi, это с одной стороны — набор файлов на диске, с другой стороны — процесс, или набор процессов в которые завернуты процессы гостевой операционной системы. Ниже на картинке — примерный список файлов типичной виртуальной машины:
В данном примере машина называется w73D, это имя фигурирует в названиях ее файлов, в большинстве файлов отличается только расширение.
w73D.vmx — содержит параметры конфигурации виртуальной машины, такие как размер ОЗУ, количество ядер процессора, конфигурацию устройств ввода-вывода и множество других параметров
w73D.vmdk — файл виртуального диска, который видит гостевая операционная система как физический винчестер. Если добавить еще парочку дисков в виртуальную машину — файлов с расширением *.vmdk тоже будет несколько
w73D.nvram — файл состояния BIOS виртуальной машины
w73D-bf967e3a.vswp — swap файл виртуальной машины, который создается во время запуска ВМ и его размер равняется размеру незарезервированной оперативной памяти виртуальной машины (в данном примере вся память ВМ зарезервирована) и используется в случае конкуренции за оперативную память между виртуальными машинами
Это основные файлы, и которых состоит ВМ. Есть также дополнительные файлы, которые используются для системных нужд, некоторые из них:
vmware.log — здесь и так понятно: лог системных событий, связанных с виртуальной машиной
w73D.vmsd — информация о снапшотах виртуальной машины
w73D.vmx.lck — используется для блокировки ВМ от запуска одновременно на двух узлах
И т.д… лезть в дебри и перечислять все не буду, статья ознакомительная.
В кластерной конфигурации VMware vSphere все файлы виртуальных машин, которые предполагается защищать с помощью VMware HA и двигать с помощью VMware DRS и vMotion предполагается хранить на общем хранилище (в контексте VMware — Datastore) которое доступно всем узлам кластера одновременно.
Для этих целей можно использовать конечно же Fibre Channel, FCoE, iSCSI или даже NFS хранилище. Конечно, хорошо если у вас есть модная СХД с подключением по FC или FCoE, там вопросов практически не возникает, но это дорого (если говорить про ДЕМО-стенд), и даже крутые компании не всегда могут себе позволить юзать дорогущий сторедж в качестве «песочницы».
Поэтому рассмотрим iSCSI и NFS как вариант общей хранилки «для бедных», хотя бы потому, что для демонстрации его можно собрать на коленке за полчаса (но фирменная СХД с подключением по iSCSI или NFS тоже стоит хороших денег, дружно вспомним про NetApp ;))
Если выбирать между iSCSI и NFS то здесь тоже есть небольшая диллема, у каждого варианта есть недостатки, если в двух словах, то iSCSI более глючный, а NFS более тормознутый (задо надежней и проще). Да, определенно есть любители айскази, которые закидают меня помидорами и скажут что все глюки от кривых ручек, но в контексте ESXi есть несколько официально признанных багов, при работе с iSCSI, особенно при использовании Software iSCSI адаптера со стороны ESXi, хотя есть конторки, пользующие такую конфигурацию в продуктиве, отловившие и поборовшие все глюки, каждому, как говорится, свое.
Кароче, для данной демонстрации я выбираю NFS, не смотря на его тормознутость, а вы смотрите сами. NFS сервером может притвориться в принципе любой линукс, но еще проще — готовое решение на подобии Open-E или Openfiler.
Суть:
- скачиваем готовый модуль в виде ISO или OVA/OVF
- развертываем на физической или виртуальной машине подминая под себя побольше дискового пространства
- прибиваем айпишник
- создаем через веб-морду (для любителей порнушки — через командную строку)
- ????????
- PROFIT!
Описывать подробно установку и настройку NFS ресурса не буду, ибо:
- лень
- там все интуитивно понятно
- не охота очередной раз отходить от темы
Допустим, NFS мы развернули, теперь нужно примаппить его к узлам будущего кластера.
Для этого: наступаем на узел -> лезем в Configuration -> Storage -> Add Storage (см. картинко ниже)
В открывшемся окне выбираем «Network File System» и следуя инструкциям указываем:
- Адрес или имя узла NFS сервера
- Путь к папке на сервере
- Имя хранилища, которое будет отображаться в списке датасторов
Если мы все сделали правильно, то у нас появится на вкладке «Datastores«. Повторяем действия для всех узлов будущего кластера, при этом имя хранилища у всех узлов должно быть одинаковое.
В случае с блочным хранилищем FC или FCoE, прежде всего, LUN должен быть презентован всем узлам будущего кластера, после этого, создаем на нем файловую систему VMFS посредством «Add Storage» на одном из узлов, а на остальных — ВНИМАНИЕ!! — делаем правой кнопкой -> «Rescan for Datastores». Если данный LUN добавить повторно на другом узле, пока он не успел отсканниться — получится какашка.
Что с этим всем теперь делать? — можно создать на новоиспеченном хранилище одну или несколько виртуальных машин. Содержимое хранилища можно посмотреть тыцнув на нем правой и выбрав «Browse Datastore«. В случае с NFS — можно подключить его с другим серверам или юзерским машинкам, даже с виндой, т.к. NFS это универсальная сетевая файловая система, чего нельзя сказать про VMFS, которую умеет читать только ESXi.
На сегодня все, в следующей статье надеюсь завершить историю с созданием кластера, попытаюсь рассказать о настройках кластерных фич и тестировании их работы.
Я старался расписывать максимально подробно и доступно, но если по данной, или предыдущим статьям есть вопросы — задавайте, постараюсь ответить.
Всем мира и любви :)
Следующая статья по сабжу:
Строим кластер VMware: Часть 5 — создание и настройка кластера