Среда, 12 Январь 2022 04:46

Настройка кластера vSphere 6.7 в домашних условиях

Автор
Оцените материал
(15 голосов)

Данная статья подойдёт для новичков, которые хотят потренироваться в настройке кластера vSphere 6.7. Итак, изначально имеется: 

- Тестовый комп1 "железный" Intel Xeon E5-2620 v3 + 16gb RAM
- Тестовый комп2 "железный" Intel Xeon E5-2698 v3 + 64gb RAM
- Тестовый комп3 "виртуальный" с Windows srv 2019 и настроенной ролью контроллера домена.
- Тестовый комп4 "железный" с расшаренным диском по протоколу iSCSI.
- Всё это соединено через обычный пассивный коммутатор. 

Сперва потребуется скачать установочные образы. Их можно взять тут, на оф.сайте: 

https://customerconnect.vmware.com/en/downloads/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/6_7

Нужно скачать VMware vSphere Hypervisor (ESXi) 6.7U3b и VMware vCenter Server 6.7U3p

Но перед этим потребуется пройти регистрацию. Если регистрироваться лень, то можно скачать и со сторонних ресурсов, например, на момент написания статьи доступны вот эти прямые ссылки: 

https://virtualmedia.online.net/ESXi/VMware-VMvisor-Installer-201912001-15160138.x86_64.iso

http://94.130.64.147/vmware/VMware-VCSA-all-6.7.0-18831133.iso

Но вообще, скачивать с посторонних сайтов небезопасно. Мало ли, что там могут подсунуть. Скачав образ с постороннего сайта, рекомендуется проверить его MD5SUM, SHA1SUM и SHA256SUM. Они должны совпадать с указанными значениями на сайте:

 В линуксовых ОС это делается весьма просто. Делаю проверку на примере файла Vmware-VCSA-all-6.7.0-18831133.iso

sha256sum -b VMware-VCSA-all-6.7.0-18831133.iso
791fdec2927f1f552587f3856e5540803c683b1de5961cfb896a18aef2505348 *Vmware-VCSA-all-6.7.0-18831133.iso
sha1sum -b VMware-VCSA-all-6.7.0-18831133.iso
103c8ecefd6f8d0aa1047c001d1f453f99434d2c *Vmware-VCSA-all-6.7.0-18831133.iso
md5sum -b VMware-VCSA-all-6.7.0-18831133.iso
ac23056eeed9207bc4952f623e1b3ff9 *Vmware-VCSA-all-6.7.0-18831133.iso 

Вижу, что полученные суммы совпадают с указанными на сайте. Образ подлинный. Аналогичную проверку надо сделать и с образом Vmware-Vmvisor-Installer-201912001-15160138.x86_64.iso.

Но даже если образ подлинный, то проблема поджидает уже сразу при попытке установить этот образ на тестовую машину. Поначалу вроде всё в порядке, запускается установщик:

Но после загрузки установщика сразу вылазит вот такое сообщение:

No network adapters were detected. Either no network adapters are physically connected to the system, or a suitable driver could not be located.A third party driver may be required.

Установщик гипервизора не нашёл сетевую карту, т.к. в стоковый образ встроены драйвера не для всякого железа. В основном там драйверы только для брэндовых серверов. Помимо отсутствия драйверов для сетевых карт, также и могут отсутствовать драйвера для ACHI-контроллера. Проблема решается с помощью добавления нужных драйверов в установочный образ. И сейчас я попробую это сделать. Но для этого мне потребуется Windows 10.

Для интегрирования драйверов в образ гипервизора ESXi есть специальный скрипт PowerShell, скачать его можно тут: 

https://www.v-front.de/p/ESXi-customizer-ps.html

После этого открываю консоль PowerShell через запуск от администратора. Перехожу в каталог со скачанным скриптом: 

cd c:\distrib 

И далее, для интегрирования драйверов сетевой карты, следуя инструкции на сайте, надо ввести команду: 

.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -vft -load sata-xahci,net55-r8168 

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

https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages

У меня на всех компах стоят сетевухи Realtek 8111 серии. Поэтому мне нужен пакет драйверов net55-r8168. Ну и также встраиваю пакет драйверов для SATA AHCI контроллеров — sata-xahci.

Проблема в том, что при попытке запуска скрипта получаю ошибку: 

.\ESXi-Customizer-PS-v2.6.0.ps1 : Невозможно загрузить файл C:\distrib\ESXi-Customizer-PS-v2.6.0.ps1, так как выполнение сценариев отключено в этой системе. Для получения
дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170.
строка:1 знак:1 

Выполнение сторонних скриптов запрещено политикой безопасности. Надо ввести вот такую команду для разрешения: 

Set-ExecutionPolicy unrestricted

И на этот вопрос ответить «Y»: 

Изменение политики выполнения
Политика выполнения защищает компьютер от ненадежных сценариев. Изменение политики выполнения может поставить под угрозу безопасность системы, как описано в разделе
справки, вызываемом командой about_Execution_Policies и расположенном по адресу https:/go.microsoft.com/fwlink/?LinkID=135170 . Вы хотите изменить политику выполнения?
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка (значением по умолчанию является "N"): y 

После чего снова пробую запустить скрипт ESXi-Customizer-PS-v2.6.0.ps1. И на этот раз уже выдаётся запрос на подтверждение запуска: 

.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -vft -load sata-xahci,net55-r8168

Предупреждение о безопасности
Запускайте только сценарии, которым вы доверяете. Хотя сценарии из Интернета могут быть полезными, данный сценарий потенциально опасен для компьютера. Если вы доверяете
ему, разрешите его выполнение без вывода предупреждающих сообщений, выполнив командлет Unblock-File. Вы хотите запустить C:\distrib\ESXi-Customizer-PS-v2.6.0.ps1?
[D] Не запускать - D [R] Запустить однажды - R [S] Приостановить - S [?] Справка (значением по умолчанию является "D"): 

Жму «R», и скрипт начинает работать, но сразу же выдаёт следующую ошибку: 

FATAL ERROR: VMware.VimAutomation.Core is not available as a module or snapin! It looks like there is no compatible version of PowerCLI installed! 

Это ему требуется установка модуля VMware PowerCLI, без него скрипт не работает. Ставлю его такой командой: 

Install-Module -Name VMware.PowerCLI 

В процессе установки модуля будут задаваться вопросы про дополнительные компоненты и репозиторий. Везде отвечаю «Y»: 

Для продолжения требуется поставщик NuGet
Для взаимодействия с репозиториями на основе NuGet модулю PowerShellGet требуется версия поставщика NuGet "2.8.5.201" или более новая. Поставщик NuGet должен быть
доступен в "C:\Program Files\PackageManagement\ProviderAssemblies" или "C:\Users\kjgkjh\AppData\Local\PackageManagement\ProviderAssemblies". Поставщик NuGet можно также
установить, выполнив команду "Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force". Вы хотите, чтобы модуль PowerShellGet установил и импортировал
поставщик NuGet прямо сейчас?
[Y] Да - Y [N] Нет - N [S] Приостановить - S [?] Справка (значением по умолчанию является "Y"): y

Ненадежный репозиторий
Идет установка модулей из ненадежного репозитория. Если вы доверяете этому репозиторию, измените его значение InstallationPolicy, запустив командлет Set-PSRepository. Вы
действительно хотите установить модули из "PSGallery"?
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка (значением по умолчанию является "N"): y 

Потом снова пробую запустить ESXi-Customizer-PS-v2.6.0.ps1. Скрипт начал работать наконец-то. Но в конце всё равно получил ошибку: 

.\ESXi-Customizer-PS-v2.6.0.ps1 -v67 -vft -load sata-xahci,net55-r8168

Предупреждение о безопасности
Запускайте только сценарии, которым вы доверяете. Хотя сценарии из Интернета могут быть полезными, данный сценарий потенциально опасен для компьютера. Если вы доверяете
ему, разрешите его выполнение без вывода предупреждающих сообщений, выполнив командлет Unblock-File. Вы хотите запустить C:\distrib\ESXi-Customizer-PS-v2.6.0.ps1?
[D] Не запускать - D [R] Запустить однажды - R [S] Приостановить - S [?] Справка (значением по умолчанию является "D"): r

This is ESXi-Customizer-PS Version 2.6.0 (visit https://ESXi-Customizer-PS.v-front.de for more information!)
(Call with -help for instructions)

Logging to C:\Users\kjgkjh\AppData\Local\Temp\ESXi-Customizer-PS-5712.log ...

Running with PowerShell version 5.1 and VMware PowerCLI version 12.4.0.18627056

Connecting the VMware ESXi Online depot ... [OK]

Connecting the V-Front Online depot ... [OK]

Getting Imageprofiles, please wait ... [OK]

Using Imageprofile ESXi-6.7.0-20211104001-standard ...
(dated 10/26/2021 03:22:32, AcceptanceLevel: PartnerSupported,
Updates ESXi 6.7 Image Profile-ESXi-6.7.0-20211104001-standard)

Load additional VIBs from Online depots ...
Add VIB sata-xahci 1.42-1 [New AcceptanceLevel: CommunitySupported] [OK, added]
Add VIB net55-r8168 8.045a-napi [OK, added]

Exporting the Imageprofile to 'C:\distrib\ESXi-6.7.0-20211104001-standard-customized.iso'. Please be patient ...


An unexpected error occured:
[WinError 10054] ?????????????????? ???????? ?????????????????????????? ???????????????? ???????????????????????? ??????????????????????

If requesting support please be sure to include the log file
C:\Users\kjgkjh\AppData\Local\Temp\ESXi-Customizer-PS-5712.log 

Где-то на форуме нашёл информацию, что надо фаервол отключить, мол скрипт не может скачать исходники с узла VMware. Но отключение фаервола не помогло.

В итоге, решением оказалось, что надо самостоятельно скачать исходники с сайта VMware и подсунуть их скрипту. И вот тут уже без регистрации не обойтись, ибо скачивать надо от сюда: 

https://customerconnect.vmware.com/patch#search

 Скачавшийся zip-файл кладу в туже папку, где и скрипт ESXi-Customizer-PS-v2.6.0.ps1. Команда запуска будет уже вот такая: 

.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\ESXi670-202111001.zip -vft -load sata-xahci,net55-r8168 -outDir c:\distrib\ 

И на этот раз, наконец-то, успешно. Скрипт отработал, образ создался: 

Running with PowerShell version 5.1 and VMware PowerCLI version 12.4.0.18627056

Adding base Offline bundle .\ESXi670-202111001.zip ... [OK]

Connecting the V-Front Online depot ... [OK]

Getting Imageprofiles, please wait ... [OK]

Using Imageprofile ESXi-6.7.0-20211104001-standard ...
(dated 10/26/2021 03:23:17, AcceptanceLevel: PartnerSupported,
Updates ESXi 6.7 Image Profile-ESXi-6.7.0-20211104001-standard)

Load additional VIBs from Online depots ...
Add VIB sata-xahci 1.42-1 [New AcceptanceLevel: CommunitySupported] [OK, added]
Add VIB net55-r8168 8.045a-napi [OK, added]

Exporting the Imageprofile to 'c:\distrib\\ESXi-6.7.0-20211104001-standard-customized.iso'. Please be patient ...


All done.

(Log file moved to c:\distrib\\ESXi-6.7.0-20211104001-standard-customized-202201100422.log)

Выкладываю этот образ у себя, может пригодится кому-нибудь: 

https://disk.yandex.ru/d/4-YhHRGGJ13mNg/ESXi-6.7.0-20211104001-standard-customized.iso

Также, на всякий случай, ещё собрал образ ESXi 6.5 с драйверами sata-xahci,net55-r8168,net51-r8169,Net51-sky2. Выкладываю и его:

https://disk.yandex.ru/d/8ZHxF5LDsc1lpg/ESXi-6.5.0-20211004001-standard-customized.iso

Пробую установить получившийся образ на тестовый комп. И на этот раз я получил сообщение о готовности к установке. Значит драйвера для всего необходимого теперь имеются.

И далее установка будет очень простая. Установщик попросит указать диск, на который хочу установить гипервизор:

Попросит указать пароль суперпользователя:

Ну и в конце установки выдаст сообщение об успешной установке:

После загрузки гипервизора меня встречает вот такая картина:

Жму F2 для входа в меню настроек. Там меня интересует лишь настройки сети:

В которых я прописываю статический IP-адрес:

А также прописываю DNS-сервер (это же и адрес контроллера домена Active Directory) и прописываю сетевое имя:

И ещё отключаю IPv6 за ненадобностью (в моём случае).

Аналогичным образом ставлю гипервизор и на другой тестовый комп. А далее надо заранее прописать хосты на DNS-сервере. Вот такие три записи я добавил:

ESXi1 и ESXi2 — для хостов ESXi. И vcenter — для vCenter сервера, через который буду создавать кластер.

Теперь требуется сделать некоторую начальную настройку свежеустановленных хостов ESXi. Для этого захожу в вэб-интерфейс по IP-адресу или FQDN-имени:

Логин и пароль ввожу тот, что указывал при установке. Потому иду в меню Manage, на вкладку System и жму кнопку Edit settings:

Там ставлю крыж, чтобы использовать NTP, выбираю запуск NTP-сервиса при старте хоста и прописываю адрес моего NTP-сервера. В моём случае NTP-сервер настроен на контроллере домена.

Затем надо запустить NTP-сервис. Жму Actions –> NTP service и Start:

Далее к гипервизору надо подключить iSCSI-диск. В моём случае iSCSI-диск расшарен без всяких ограничений и паролей, ибо весь стэнд тестовый. Перехожу в меню Storage, во вкладку Adapters и жму кнопку Software iSCSI:

Там ставлю крыж Enabled, затем жму кнопку Add dynamic target и в появившейся строке ввожу ip-адрес сервера с расшаренным iSCSI-диском, потом жму Save configuration:

Затем снова жму кнопку Refresh и наблюдаю, что появился iSCSI адаптер. Потом снова жму кнопку Software iSCSI и вижу, что в поле Static targets появился мой диск:

Закрываю это окно и перехожу на вкладку Datastores и жму кнопку New datastore:

В появившемся окне на первом шаге выбираю Create new VMFS datastore и жму Next.

На следующем шаге задаю название новому датастору и вижу в списке доступных дисков свой iSCSI-диск. Жму Next.

На следующем шаге ничего не трогаю, параметры по умолчанию устраивают.

Ну и дальше кнопка Finish. В списке хранилищ появился мой:

Собственно, на этом начальная настройка закончена. Делаю всё тоже самое на второй машине со со вторым гипервизором. Кроме подключения датастора (хранилища). Именно хранилища. iSCSI адаптер добавляю. ISCSI-диск к адаптеру тоже подключаю. Но в хранилище его не добавляю — это я сделаю позже уже через vCenter.

Теперь пришла очередь установки vCenter. Для этого использую скачанный ранее образ Vmware-VCSA-all-6.7.0-18831133.iso. Распаковываю содержимое этого iso в отдельный каталог. Нахожу там readme-файл, и в нём написано, что для запуска установщика достаточно сделать двойной клик мышью на файле \vcsa-ui-installer\win32\installer.exe. Но я сижу под линуксом. Оказывается, что линукса инструкция та же: надо двойным кликом мыши запустить файл, но уже /vcsa-ui-installer/lin64/installer.

Пробую. И да, действительно, запустился установщик:

Жму Install. Вообще, весь процесс установки представляет из себя развёртывание уже готовой виртуальный машины на один из хостов ESXi. И именно на этой виртуальной машине и будет работать vCenter server. Тут бы желательно сначала продумать, а на какой именно ESXi развёртывать, а также, на какое именно хранилище развёртывать. Ведь, во-первых, vCenter server откушает прилично ресурсов под себя, а, во-вторых, он будет играть слишком важную роль, поэтому его надо беречь. Но в моём случае всё проще, т.к. стэнд тестовый. Виртуальную машину с vCenter server я разверну на более мощный тестовый комп, а хранилищем выберу системный жёсткий диск этого компа, т.к. на iSCSI-диске у меня мало места. В продакшене так делать, конечно же, не рекомендуется.

После лицензионного соглашения, на третьем шаге, ничего не трогаю, жму Next:

Потом ввожу адрес ESXi хоста (на который буду размещать виртуальную машину с vCenter сервером) и логин-пароль от него:

И тут получаю ошибку:

Тут дело в том, что мой комп, с которого провожу установку, не знает ничего об адресе esxi2.local.typical-admin.ru. Для этого надо на нём прописать DNS-сервер тот же, что и на тестовом стэнде используется, т.е. это у меня 192.168.0.200. После чего дело пойдёт далее.

Придумываю название для виртуальной машины с vCenter и придумываю пароль суперпользователя от неё же:

На следующем шаге предлагает выбрать, сколько будет жрать эта виртуальная машина. Тут зависит от того, сколько хостов и виртуальных машин будет обслуживать vCenter. Табличка вроде понятная. Я оставляю по умолчанию самый маленький размер:

Далее предлагается выбрать, на какое хранилище размещать виртуальную машину с vCenter. Я выбираю системный диск хоста ESXi. Хранилище debi, размещённое на iSCSI-диске, буду использовать под кластер для тестовых виртуальных машин. Также ставлю крыж Enable Thin Disk Mode, чтобы размер виртуального диска не отожрал сразу 300гб, а растягивался по мере заполнения. Для продакшена это делать не рекомендуется, т.к. это замедляет работу виртуального диска.

На следующем шаге надо дать виртуальной машине имя, прописать сетевые реквизиты. Напомню, что на DNS-сервере у меня уже заготовлена запись для vCenter сервера.

Ну и всё, потом жму Finish, начинается установка:

Далее появляется сообщение об успешном размещении виртуальной машины, и предлагается перейти ко второй стадии, которая из себя представляет базовую настройку vCenter. Жму Продолжить.

Открывается следующее окно, в котом, после вступления, предлагается выбрать, как будет синхронизироваться время на vCenter, а также предлагается включить SSH-доступ. SSH включаю, синхронизацию времени оставляю по умолчанию. Хотя в продакшене бы наверно стоило через NTP-сервер сделать.

Далее предлагается придумать название домена для окружения vSphere (не путать с доменом Active Directory) и пароль администратора от vCenter (не путать с паролем на операционную систему самой виртуальной машины, на которой работает vCenter):

На следующем шаге предлагается участие в программе улучшения качества. Я снял крыжик.

Ну и всё, жму Finish, заканчиваю настройку:

По окончании, установщик перебросит в вэб-интерфейс vCenter:

Логин уже будет в виде username@domainname.domen, в моём случае это administrator@vsphere.local.

Для начала, можно попробовать ввести сервер vCenter в домен Active Directory, чтобы в админку можно было заходить под учётными записями AD. Захожу в меню Administration:

Там дальше ищу меню Single Sign On, в нём — Configuration, перехожу во вкладку Active Directory Domain и жму Join AD:

Ну и в следующем окне ввожу домен и логин-пароль доменного админа:

Жму Join. После чего выйдет сообщение: 

Node vcenter.local.typical-admin.ru has joined the active directory successfully. Reboot the node to apply changes.

Чтобы перезагрузить сервер vCenter, надо зайти в вэб-админку его операционной системы: 

https://vcenter.local.typical-admin.ru:5480/ 

Логиниться надо уже через логин-пароль от операционной системы:

И справа в верхнем углу есть менюшка:

Тут стоит подметить, что сама виртуальная машина перезагрузится довольно быстро, а вот сервис vCenter загрузится не сразу, надо сколько-то подождать.

После загрузки vCenter снова захожу в Administration, потом в Single Side-On —> Configuration, перехожу во вкладку Identity Sources и там жму ADD IDENTITY SOURCE:

Ну и собственно, там уже всё нужное введено само, нужно лишь нажать Add:

После чего в табличке появляется домен AD:

Далее иду в меню Global Permissions и там жму кнопку с плюсом:

И там выбираю пользователи из домена Active Directory, жму ОК:

Далее иду в меню Single Side On —> Users and Groups, перехожу во вкладку Groups, там в списке нахожу группу администраторов и жму на неё:

Жму ADD MEMBERS:

Выбираю домен AD и нужного пользователя:

Всё, пользователь появился в списке:

Теперь можно попробовать залогиниться в vCenter под пользователем Active Directory. Логин надо вводить вот в таком формате:

Теперь пришло время для создания кластера. Захожу в главное меню и выбираю Hosts and clusters:

Жму кнопку создания нового датацентра:

Придумываю название датацентра:

В этот датацентр нужно добавить имеющиеся хосты ESXi. Перехожу в созданный датацентр и выбираю добавление хостов:

Ввожу адрес хоста:

Ввожу логин пароль от указанного хоста:

На 4-ом шаге надо выбрать лицензию для этого хоста. У меня в списке лишь 60-дневная Evaluation лицензия.

Lockdown mode включать нет необходимости. Не трогаю, иду дальше.

Ну и дальше тоже везде Next и Finish. Хост добавлен.

Аналогично добавляю и второй хост, он тоже появился в списке:

Теперь надо эти два хоста объединить в кластер. Находясь по-прежнему в датацентре, выбираю создание кластера:

Задаю имя кластера и выбираю функции кластера:

Потом перехожу в сам кластер, в меню Quickstart и