В этой статье мы покажем, как подключить сетевой каталог, расположенный на Windows Server 2012 R2 как отдельное хранилище (datastore) на хосте VMware ESXi и использовать его для хранения файлов виртуальных машин и ISO образов. VMWare ESXi не умеет напрямую работать с общими папками Windows (по протоколу SMB), поэтому нам придется воспользоваться другим способом.
ESXi позволяет использовать в качестве датастора следующие типы хранилищ:
- Локальный диск или LUN на внешнем устройстве хранения, подключенном по Fibre Channel или iSCSI
- Network File System (NFS) –этот сетевой протокол преимущественно используется для удаленного доступа к файловой системе в среде Unix/Linux
Функционал NFS сервера в серверной платформе Microsoft появился еще в Windows Server 2003 R2, и до сих пор поддерживается и в Windows Server 2012 R2.
Итак, нам в первую очередь нужно настроить NFS каталог на Windows 2012 R2 и подключить его в качестве хранилища на хосте ESXi. Предположим, у нас уже имеется сервер Windows с установленной ролью файловых служб ( File and Storage Services) . Чтобы установит функционал NFS сервера:
- Откройте консоль Server Manager и выберите Manages -> Add Roles and Features
- В разделе ролей разверните роль File and Storage Services -> File and iSCSI Services
- И отметьте опцию Server for NFS
- Нажмите Next. После окончания работы установщика роли, закройте консоль Server Manager.
Совет . Установить фичу Server for NFS можно всего одной командой Powershell:
Add-WindowsFeature "FS-NFS-Service"
Далее нужно создать каталог Windows, который будет использоваться как точка монтирования NFS. В качестве примера, мы создали каталог c:nfs (на самом деле это не лучшее место для создания общей папки, предпочтительнее отдельный диск, или папка с назначением жесткой квоты).
В консоли Server Manager перейдите в раздел File and Storage Services -> Shares . Запустите мастер создания нового ресурса ( Tasks -> New Share ) и выберите NFS Share-Quick . Укажите путь к каталогу и его имя. В нашем примере он называется nfs . В данном случае, полный NSF путь (путь к удаленной шаре), который будет использоваться в среде Unix для доступа к этому каталогу будет таким: msk-fs01:/nfs
На вкладке с типами аутентификации, отключите Kerberos аутентификацию, и выберите “No Server authentication” и “Enable unmapped user access”.
Ограничим доступ к каталогу по IP адресу хоста ESXi. Для этого укажем IP адрес сервера и предоставим ему права Read/Write и Allow root access.
Совет . Также доступ к NFS сервису можно ограничить с помощью Windows Firewall, ограничив доступ отовсюду, кроме определённых IP адресов или подсетей.
Создать общий каталог NFS и ограничить доступ к нему можно также с помощью PowerShell:
New-NfsShare -Name "NFS " -Path "c:nfs" -AllowRootAccess $true -Permission Readwrite -Authentication sys
Grant-NfsSharePermission -Name “NFS” -ClientName 192.168.1.11 -ClientType host -LanguageEncoding ANSI
Итак, мы создали новый общий сетевой каталог NFS на Windows Server 2012 R2. Осталось подключить его в качестве хранилища на хосте VMWare ESXi.
- Подключитесь к вашему сервере vSphere или ESXi. В меню Action выберите Storage > New Datastore
- Выберите тип хранилища NFS
- Выберите версию NFS 4.1 (поддерживается в Windows Server, начиная с версии 2012)
- Укажите имя датастора (WindowsNFS), укажите каталог NFS (/nfs) и адрес NFS сервера (IP адрес или DNS имя)
После успешного добавления NFS хранилища, оно появится в списке доступных хранилищ хоста. Вы можете использовать это пустое хранилище для хранения файлов ВМ или ISO образов.