# GPU Host Preflight Цель: проверить, что `docker-gpu.cin.su` готов к запуску GPU-контейнеров. Если `docker-gpu.cin.su` указывает на Windows-хост, используйте также отдельный runbook: ```text docs/runbooks/windows-docker-gpu-host.md ``` ## SSH Host Key Если SSH сообщает `Host key verification failed`, нужно вручную проверить fingerprint хоста и добавить ключ в `known_hosts`. Команда для просмотра ключа: ```powershell ssh-keyscan docker-gpu.cin.su ``` После проверки fingerprint можно добавить ключ: ```powershell ssh-keyscan docker-gpu.cin.su >> $env:USERPROFILE\.ssh\known_hosts ``` Не добавляйте ключ вслепую, если есть риск подмены DNS или хоста. ## Preflight Из корня проекта: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1 ``` Если нужен явный пользователь SSH: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/check_gpu_host.ps1 -SshTarget USER@docker-gpu.cin.su ``` Скрипт проверяет: - SSH-доступ; - наличие GPU через `nvidia-smi`; - Docker Engine; - Docker Compose; - запуск тестового CUDA-контейнера с `--gpus all`. ## Readiness Report Чтобы одной командой проверить SSH preflight и endpoints активного GPU-профиля: ```powershell python scripts/check_gpu_readiness.py --profile text --print ``` Отчет пишется в: ```text reports/gpu-readiness.json ``` По умолчанию проверяется профиль `text` из `config/gpu_profiles.json`: - SSH/GPU/Docker preflight через `scripts/check_gpu_host.ps1`. - health/model endpoints из поля `wait` выбранного профиля. Полная проверка взаимоисключающих OpenAI-compatible endpoints доступна отдельно: ```powershell python scripts/check_gpu_readiness.py --all-endpoints --print ``` Если SSH возвращает `Permission denied`, нужно настроить SSH-ключ или явно указать пользователя: ```powershell python scripts/check_gpu_readiness.py --ssh-target USER@docker-gpu.cin.su --print ``` ## Full GPU Stack Flow После настройки SSH-доступа можно запустить весь контур: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -Pull ``` Сценарий выполняет: - GPU host preflight; - deploy vLLM; - deploy llama.cpp GGUF; - ожидание `/v1/models` для обоих endpoint-ов; - запуск live evals. Посмотреть план без запуска: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -PlanOnly -Pull ``` Проверить compose-файлы без SSH preflight: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File scripts/deploy_gpu_stack.ps1 -ConfigOnly -SkipPreflight ``` ## Expected Result В выводе должны быть: - имя хоста; - модель GPU и объем VRAM; - версия Docker; - версия Docker Compose; - результат `nvidia-smi` внутри контейнера.