HP iLO2 - Решаем проблемы использования ISO образа смонтированного через Java- апплет в веб-интерфейсе iLO

Как известно, при наличии активированной лицензии HP Integrated Lights-Out (iLO) Advanced в веб-интерфейсе iLO2 имеется возможность удалённого монтирования ISO образов в качестве носителя в виртуальном DVD приводе, с помощью которого можно, например, выполнять удалённую установку операционной системы или запускать всевозможные загрузочные утилиты для прошивки и тестирования аппаратных компонент сервера. При этом для выполнения монтирования используется Java-апплет со всеми вытекающими отсюда последствиями.

Например можно столкнуться с проблемой, когда удалённо смонтированный ISO-образ отваливается от сервера по причине закрытия пользовательской сессии с запущенным браузером, в котором использовался Java-апплет для монтирования. Также замечено, что в случае использования образов большого размера с большим количеством мелких файлов можно столкнуться с проблемой очень низкой скорости чтения/загрузки файлов в таком виртуальном приводе. При этом самое неприятное в этой проблеме то, что она имеет плавающий характер и может проявляться как при использовании веб-браузера Internet Explorer, так и при использовании Mozilla Firefox.

В некоторых ситуациях эти проблемы имеют обходное решение, которое заключается в том, чтобы вместо монтирования ISO-образа с локального компьютера оператора iLO через веб-браузер, использовать монтирование ISO-образа размещённого на веб-сервере, подключившись к iLO по протоколу SSH. Я сказал "в некоторых ситуациях" именно потому, что при таком варианте монтирования не во всех случаях решается проблема с медленной передачей большого количества мелких файлов, хотя прирост производительности в отличии от монтирования через Java-апплет по моим субъективным ощущениям всё же есть.

Рассмотрим пошагово пример использования такого варианта монтирования.

1. Копируем нужный нам ISO-образ на любой локальный веб-сервер, так чтобы этот образ был доступен для загрузки по прямой URL-ссылке посредствам протокола HTTP.
2. Подключаемся по протоколу SSH к iLO2 используя те же учётные данные, с помощью которых мы обычно подключаемся к веб-интерфейсу iLO.
3. Подключившись, выполняем команду перехода в раздел управления монтированием:

cd /map1

Убеждаемся в том, что команда выполнена успешно:

4. Выполняем последовательно команды перехода к управлению виртуальным приводом:

cd oemhp_vm1
cd cddr1

Убеждаемся в том, что команды выполнены успешно:


Если вышеописанные команды перехода по структуре iLO выполняются успешно, то в следующий раз можно использовать прямой переход командой:

cd /map1/oemhp_vm1/cddr1

5. Добравшись в структуре команд до команд управления монтированием проверяем текущий статус монтирования командой:

show

6. Выполняем последовательно команды монтирования ISO-образа:

set oemhp_image=http://webserver/path/to/iso/boot.iso
set oemhp_boot=connect

Имейте ввиду то, что в текущей версии iLO 2.29 имеется ограничение на максимальную длину URL в 80 символов. При этом ISO-образ должен быть в формате ISO-9660.

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

power reset

***

Извлечь монтированный ISO-образ можно последовательностью команд:

cd /map1/oemhp_vm1/cddr1
set oemhp_boot=disconnect

***

Если требуется монтирование ISO-образа при условии, что после перезагрузки образ должен быть автоматически отмонтирован, можно использовать следующий набор команд для его монтирования:

cd /map1/oemhp_vm1/cddr1
set oemhp_image=http://webserver/path/to/iso/boot.iso
set oemhp_boot=connect
set oemhp_boot=once

***

Как я понял из документации, приведённый синтаксис команд наследуется ещё из iLO первой версии. В iLO2 была добавлена возможность использования альтернативного набора команд vm (вывод справки командой vm help), который является более простым

Например, чтобы смонтировать образ можно выполнить команды:

vm cdrom insert http://webserver/path/to/iso/boot.iso
vm cdrom set boot_always
vm cdrom get

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

vm cdrom eject

***

При попытке использования образа с веб-сервера может возникнуть проблема, когда успешно смонтированный образ не захочет загружаться во время запуска сервера. В таком случае первым делом нужно проверить то, что с iLO доступен IP адрес веб-сервера, например так:

oemhp_ping /map1 X.X.X.X

где X.X.X.X – IP адрес веб-сервера, с которого не идёт загрузка образа.

Далее на стороне веб-сервера нужно проверить лог веб-сервиса на наличие событий обращения iLO к файлу образа. Со стороны iLO в сторону веб-сервера первично идёт запрос типа:

GET /BOOT.ISO HTTP/1.1
Host: kom-ad01-srv-web-apps
Range: bytes=0-255

В ходе своих экспериментов я столкнулся с проблемой, когда с веб-сервера IIS 8.5 в составе Windows Server 2012 R2 контроллер iLO2 ни в какую не хотел забирать загрузочный образ. Изучение лога IIS показало, что при запросе со стороны iLO веб-сервер отвечает кодом 401, что означает, что ему требуется, чтобы клиент аутентифицировался.

date  time  s-ip  cs-method  cs-uri-stem  cs-uri-query  s-port  cs-username  c-ip  cs(User-Agent)  cs(Referer)  sc-status  sc-substatus  sc-win32-status  time-taken
2016-05-25  08:50:15  10.1.0.16  GET  /HARD/SERVER/HP/HP-SPP/HP-SPP-2014-06-0.iso  -  80  -  10.6.2.21  -  -  401  2  5  203

Стало очевидно, что проблема заключается в том, что на виртуальном каталоге веб-сервера, к которому обращается iLO, не включен режим анонимной аутентификации (Anonymous Authentication). После его включения загрузка образа с веб-сервера заработала.

 

Дополнительные источники информации:

Добавить комментарий