wiki:technical:ds:ipmi
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| wiki:technical:ds:ipmi [2026/11/03 12:32] – создано Diman | wiki:technical:ds:ipmi [2026/11/03 12:38] (текущий) – [2. Скрипт автоматизации (ipmi.sh)] Diman | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | # Запуск старых KVM-консолей Supermicro (X8/X9) на Linux | + | ====== |
| - | Старые серверы Supermicro (на базе платформ X8 и X9) используют IPMI-контроллеры с iKVM-консолями на базе Java (ATEN). Эти консоли используют устаревшие технологии сжатия (Pack200) и параметры виртуальной машины, | + | Старые серверы Supermicro (на базе платформ X8 и X9) используют IPMI-контроллеры с iKVM-консолями на базе Java (ATEN). Эти консоли используют устаревшие технологии сжатия (Pack200) и параметры виртуальной машины, |
| - | Эта инструкция описывает, | + | Эта инструкция описывает, |
| - | ## 1. Подготовка окружения (Установка Java) | + | ===== 1. Подготовка окружения (Установка Java) ===== |
| Для работы нам понадобятся две вещи: | Для работы нам понадобятся две вещи: | ||
| - | 1. **Java 8** для запуска самого приложения. | + | * **Java 8** для запуска самого приложения. |
| - | 2. Инструмент | + | |
| В Debian 12 (и производных) проще всего установить пакет от NVIDIA, который содержит нужный нам инструмент: | В Debian 12 (и производных) проще всего установить пакет от NVIDIA, который содержит нужный нам инструмент: | ||
| - | ```bash | + | < |
| sudo apt update | sudo apt update | ||
| sudo apt install nvidia-openjdk-8-jre | sudo apt install nvidia-openjdk-8-jre | ||
| + | </ | ||
| + | |||
| + | После установки '' | ||
| + | |||
| + | ===== 2. Скрипт автоматизации (ipmi.sh) ===== | ||
| + | |||
| + | Скрипт читает '' | ||
| + | |||
| + | <file bash ipmi.sh> | ||
| + | #!/bin/bash | ||
| + | |||
| + | if [ " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | JNLP_FILE=" | ||
| + | USER=" | ||
| + | PASS=" | ||
| + | |||
| + | if [ ! -f " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Удаляем возможные символы возврата каретки (Windows) | ||
| + | sed -i ' | ||
| + | |||
| + | # 1. Извлекаем IP-адрес (codebase) | ||
| + | CODEBASE=$(grep -oP ' | ||
| + | IP=$(echo " | ||
| + | PORT=$(echo " | ||
| + | if [ -z " | ||
| + | |||
| + | # 2. Извлекаем имя основного JAR | ||
| + | JAR_NAME=$(grep -oP '< | ||
| + | if [ -z " | ||
| + | JAR_NAME=$(grep -oP ' | ||
| + | fi | ||
| + | |||
| + | # 3. Извлекаем имя нативной библиотеки для Linux x86_64 | ||
| + | NAT_NAME=$(awk '/< | ||
| + | if [ -z " | ||
| + | NAT_NAME=$(awk '/< | ||
| + | fi | ||
| + | |||
| + | # Очищаем имена от возможных суффиксов | ||
| + | JAR_BASE=$(echo " | ||
| + | NAT_BASE=$(echo " | ||
| + | |||
| + | if [ -z " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | WORK_DIR="/ | ||
| + | mkdir -p " | ||
| + | cd " | ||
| + | |||
| + | echo "[*] Сервер: | ||
| + | echo "[*] Основной JAR: ${JAR_BASE}.jar" | ||
| + | echo "[*] Нативная библиотека: | ||
| + | |||
| + | # 4. Скачивание и распаковка | ||
| + | for BASE in " | ||
| + | if [ ! -f " | ||
| + | echo "[*] Скачивание ${BASE}.jar.pack.gz..." | ||
| + | wget -q " | ||
| + | if [ $? -eq 0 ]; then | ||
| + | gunzip -f " | ||
| + | / | ||
| + | rm -f " | ||
| + | else | ||
| + | echo "[*] Файл ${BASE}.jar.pack.gz не найден, | ||
| + | wget -q " | ||
| + | fi | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | # 5. Извлечение нативной библиотеки .so | ||
| + | if [ -f " | ||
| + | unzip -o -q " | ||
| + | fi | ||
| + | |||
| + | if [ ! -f " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # 6. Запуск консоли | ||
| + | echo "[*] Запуск консоли..." | ||
| + | java -Djava.library.path=. -cp " | ||
| + | </ | ||
| + | |||
| + | Не забудьте сделать скрипт исполняемым после скачивания: | ||
| + | <code bash> | ||
| + | chmod +x ipmi.sh | ||
| + | </ | ||
| + | |||
| + | ===== 3. Как пользоваться ===== | ||
| + | |||
| + | - Зайдите в веб-интерфейс вашего IPMI (например, | ||
| + | - Нажмите кнопку запуска KVM-консоли, | ||
| + | - Запустите скрипт, | ||
| + | |||
| + | <code bash> | ||
| + | ./ipmi.sh ~/ | ||
| + | </ | ||
| + | |||
| + | Скрипт сам скачает нужные файлы с сервера, | ||
| + | |||
| + | ===== 4. Если что-то пошло не так ===== | ||
| + | |||
| + | * **Ошибка '' | ||
| + | * **Ошибка '' | ||
| + | * **Ошибка '' | ||
wiki/technical/ds/ipmi.1793709132.txt.gz · Последнее изменение: — Diman
