странное поведение при создании хранилища данных NFS на серверах с балансировкой нагрузки

ИСТОРИЯ

  • vSphere client version = 5.1.0
  • VMWare ESXi version = 5.1.0
  • Server OS = RHEL version 6.8
  • virtualip = virtual IP
  • server1 = IP-адрес сервера 1
  • server2 = IP-адрес сервера 2
  • lvsserver = IP-адрес маршрутизатора lvs
  • Правила IPVSADM
    • ipvsadm -A -t virtualip: 0 -s rr -p
    • ipvsadm -a -t virtualip: 0 -r server2: 0 -g
    • ipvsadm -a -t virtualip: 0 -r server1: 0 -g
    • ipvsadm -A -t virtualip: 2049 -s rr
    • ipvsadm -a -t virtualip: 2049 -r server1: 2049 -g
    • ipvsadm -a -t virtualip: 2049 -r server2: 2049 -g

/ 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

-1
задан 21 February 2017 в 07:01
1 ответ

Причина:

Все запросы хранилища данных NFS к серверу EXSi фактически отправляются только через VIP (каждый раз один и тот же IP-адрес), это заставляло ESXi каждый раз использовать кэшированную информацию.

Решение :

использовать идентификатор файловой системы (FSID) для всех intries в файле / etc / exports. например:

/<mount_folder> *(rw,sync,no_root_squash, fsid=1000)
1
ответ дан 5 December 2019 в 19:44

Теги

Похожие вопросы