From d91f64c073964d789d2a997c51c951cd3acd69ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=91=D0=B4=D0=BE=D1=80?= Date: Thu, 12 Mar 2026 19:10:13 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README (1).md | 350 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 350 insertions(+) create mode 100644 README (1).md diff --git a/README (1).md b/README (1).md new file mode 100644 index 0000000..6c044d9 --- /dev/null +++ b/README (1).md @@ -0,0 +1,350 @@ +cat << 'EOF' > README.md +# Ollama Remote AI Server Setup + +Полная инструкция по настройке сервера для запуска локальных LLM через Ollama +и подключению к нему с удалённого компьютера (ноутбука). + +Сервер: Ubuntu-server 24.04 +API Ollama: порт 11434 + +--- + +# Архитектура системы + +Ноутбук используется для разработки и запуска инструментов (VS Code / Codex). +Сервер выполняет вычисления модели. + +Ноутбук подключается к серверу через SSH туннель. + +Схема: + +Laptop +↓ +SSH tunnel +↓ +Ollama Server +↓ +LLM models + +--- + +# 1. Установка драйверов GPU и CUDA + +На сервере были установлены: + +- драйверы видеокарты + +Однако позже было принято решение временно использовать CPU, +так как установленная видеокарта оказалась слишком слабой. + +GPU можно будет вернуть позже. + +--- + +# 2. Установка Ollama + +Установка выполняется официальным install-script. + +curl -fsSL https://ollama.com/install.sh | sh + +После установки бинарный файл появляется: + +/usr/local/bin/ollama + +--- + +# 3. Создание systemd сервиса + +Чтобы Ollama работал как сервер и автоматически запускался, +создаётся systemd сервис. + +sudo nano /etc/systemd/system/ollama.service + +Содержимое: + +[Unit] +Description=Ollama Service +After=network.target + +[Service] +ExecStart=/usr/local/bin/ollama serve +Restart=always +User=ollama +Group=ollama + +Environment="OLLAMA_HOST=0.0.0.0" +Environment="OLLAMA_FLASH_ATTENTION=1" +Environment="OLLAMA_KV_CACHE_TYPE=q8_0" + +[Install] +WantedBy=multi-user.target + +--- + +# Разбор параметров + +OLLAMA_HOST=0.0.0.0 + +Позволяет принимать подключения с других устройств. +Если использовать 127.0.0.1 — сервер будет доступен только локально. + +OLLAMA_FLASH_ATTENTION=1 + +Оптимизированная реализация attention для ускорения. + +OLLAMA_KV_CACHE_TYPE=q8_0 + +Квантизированный KV cache для экономии памяти. + +При данной видеокарте я также добавил в конфигурацию, что работа должна быть от CPU. + +--- + +# 4. Создание пользователя сервиса + +Сервис Ollama запускается не от root. + +sudo useradd -r -s /bin/false ollama + +Параметры: + +-r системный пользователь +-s запрет входа в shell + +--- + +# 5. Запуск сервиса + +sudo systemctl daemon-reload + +sudo systemctl enable ollama + +sudo systemctl start ollama + +Проверка: + +sudo systemctl status ollama + +Если всё работает: + +Active: active (running) + +--- + +# 6. Проверка API Ollama + +curl http://localhost:11434/api/tags + +Если сервер работает — возвращается JSON. + +--- + +# 7. Установка моделей + +Пример установки: + +ollama pull qwen2.5-coder:1.5b + +Также была установлена: + +gpt-oss:20b + +Проверка: + +ollama list + +--- + +# 8. ПРОБЛЕМА: после reboot исчезли модели + +После перезагрузки сервера: + +sudo reboot + +команда + +ollama list + +показывала: + +NAME ID SIZE MODIFIED + +то есть список моделей был пустым. + +Хотя модели были скачаны ранее. + +--- + +# 9. Причина проблемы + +Модели были скачаны под пользователем: + +user + +и лежали в директории: + +/home/user/.ollama + +Но сервис Ollama работает под пользователем: + +ollama + +Поэтому он ищет модели в: + +/usr/share/ollama/.ollama + +Получилась ситуация: + +модели существуют +но Ollama их не видит + +--- + +# 10. Диагностика + +Проверяем пользователя процесса: + +ps -o user= -p 1035 + +результат: + +ollama + +Проверяем пользователя: + +getent passwd ollama + +ollama:x:999:988::/usr/share/ollama:/bin/false + +--- + +Проверяем папки: + +sudo ls /usr/share/ollama/.ollama/models + +Но модели лежали здесь: + +/home/user/.ollama/models + +--- + +# 11. Поиск manifests + +sudo find / -type d -name "manifests" 2>/dev/null + +результат: + +/home/user/.ollama/models/manifests +/usr/share/ollama/.ollama/models/manifests + +Это подтвердило наличие двух разных директорий моделей. + +--- + +# 12. Решение: перенос моделей + +sudo mv /home/user/.ollama/models/* /usr/share/ollama/.ollama/models/ + +--- + +# 13. Исправление прав + +sudo chown -R ollama:ollama /usr/share/ollama/.ollama + +--- + +# 14. Перезапуск сервиса + +sudo systemctl restart ollama + +--- + +# 15. Проверка + +ollama list + +результат: + +qwen2.5-coder:1.5b +gpt-oss:20b + +Модели снова доступны. + +--- + +# 16. Удаление старой директории + +sudo rm -rf /home/user/.ollama + +Теперь существует только одна директория моделей. + +--- + +# 17. Проверка порта Ollama + +ss -ltnp | grep 11434 + +результат: + +LISTEN *:11434 + +Это означает, что сервер принимает подключения из сети. + +--- + +# 18. Просмотр файлов моделей + +cd /usr/share/ollama/.ollama/models/blobs + +ls -lhS --reverse + +Самые большие файлы — сами модели. + +--- + +# 19. Подключение с ноутбука + +На ноутбуке в отдельном терминале открывается SSH туннель: + +ssh -N -L 11434:localhost:11434 user@10.111.111.40 + +Это создаёт соединение: + +localhost:11434 (ноутбук) +↓ +10.111.111.40:11434 (сервер Ollama) + +Теперь любые программы на ноутбуке могут использовать сервер. + +--- + +# 20. Проверка подключения + +curl http://localhost:11434 + +Ответ: + +Ollama is running + +--- + +# 21. Использование моделей + +В отдельном терминале запускаем codex через ollama: + +ollama launch codex + +Выбираем нужную модель - всё! + +# Итог + +Сервер работает как удалённый backend для LLM. + +Он: + +- принимает подключения по сети +- хранит модели централизованно +- управляется через systemd +- поддерживает CPU и GPU режим + +---