Любая помощь/вклад/предложения, которые вы можете дать, очень ценятся.
У нас есть XenServer 6.0.2 с несколькими настроенными IP-адресами, но есть только 1 адрес управления.
У нас есть код Java, который использует привязки Xenserver JAVA API для запроса Xenserver. Мы использовали приведенный ниже код для получения IP-адреса управления всех серверов xenserver в пуле.
Map<Host, Host.Record> hypervisors = Host.getAllRecords(getConnection());
for (Host.Record hypRecord : hypervisors.values()) {
String mgmtIP = hypRecord.address;
.........
.........
}
Этот код работал в нашей лаборатории, но тестирование на партнерском сайте выявило проблему с этим кодом. Возвращаемый IP-адрес отличается от IP-адреса управления? Например, на партнерском сайте у xenserver было настроено 3 IP-адреса на коробке. Назовем его ip1, ip2 и ip3. Мы использовали ip1 для отправки запроса xen api и для входа в систему, и это сработало нормально. Но значение переменной «mgmtIP», возвращаемое в приведенном выше коде, равно ip2. Это заставляет меня думать: а. Может ли быть более одного IP-адреса управления для одного xenserver? б. Не будет ли строка "String mgmtIP = hypRecord.address;" в приведенном выше коде вернуть управление IP? б. Разве запрос xen api не должен всегда отправляться на IP-адрес управления (мастера, если он в пуле)? в. Каков наилучший способ получить IP-адрес управления xenserver? Поскольку мы находимся на 6.0.2, метод: public PIF getManagementIface(Connection c) на хосте класса
Спасибо.