ИСТОРИЯ
/ etc / exports на обоих серверах (server1, server2)
/vm0 *(rw,sync,no_root_squash)
Оба сервера содержат папку / vm0
АКТУАЛЬНАЯ ПРОБЛЕМА
сценарий 1: на server1
root@server1 ~# mount -t nfs server2:/vm0 /vm0
root@server1 ~# service nfs restart
попытка создать хранилище данных NFS с использованием следующих учетных данных
server = virtualip
Folder = /vm0
Datastore name = vm0
РЕЗУЛЬТАТ успешно!
сценарий 2:
//ON SERVER 1
root@server1 ~# umount vm0
//ON SERVER 2
root@server2 ~# mount -t nfs server1:/vm0 /vm0
root@server2 ~# service nfs restart
попытался создать хранилище данных NFS, используя следующие учетные данные
server = virtualip Папка = / vmo Имя хранилища данных = vm0 РЕЗУЛЬТАТ Сбой!
СООБЩЕНИЕ ОБ ОШИБКЕ на сервере ESXi
Сбой вызова «HostDatastoreSystem.CreateNasDatastore» для объекта «ha-datastoresystem» на ESXi (ESXi_ip). Монтирование NFS (виртуальный IP): / vm0 не удалось: запрос подключения был отклонен сервером NFS. Убедитесь, что экспорт существует и что клиенту разрешено его монтировать.
журналы, отслеживаемые с помощью tshark
33.916294107 (virtualip) -> (ESXi_ip) MOUNT 100 V3 MNT Reply (Call In 41) Error: ERR_ACCESS
Причина:
Все запросы хранилища данных NFS к серверу EXSi фактически отправляются только через VIP (каждый раз один и тот же IP-адрес), это заставляло ESXi каждый раз использовать кэшированную информацию.
Решение :
использовать идентификатор файловой системы (FSID) для всех intries в файле / etc / exports. например:
/<mount_folder> *(rw,sync,no_root_squash, fsid=1000)