Загрузить файлы в «/»

This commit is contained in:
2026-03-12 19:10:13 +03:00
parent ac79da291d
commit d91f64c073

350
README (1).md Normal file
View File

@@ -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 режим
---