Миграция с версии 0.7 и более ранних версий на версию 2.
Примечание
Начиная с версии 2.0.0, GPUStack Worker официально поддерживает только Linux. Если вы используете Windows или macOS, переместите каталог данных в систему Linux, чтобы выполнить миграцию.
В Windows и macOS сервер GPUStack (без встроенного рабочего процесса) по-прежнему можно запускать с помощью Docker Desktop.
До миграции
Критические изменения
1. Удаление источника моделей Ollama (начиная с версии 0.7.x)
- Изменить: Начиная с версии 0.7, GPUStack больше не поддерживает
ollamaв качестве источника модели. - Влияние: Модели, файлы моделей и экземпляры моделей, источником которых является
ollama, не будут сохранены в процессе обновления. -
Требуется действие: Если вы обновляетесь с версии, предшествующей версии 0.7, и в настоящее время у вас есть модели, развернутые из источника
ollama, перед обновлением необходимо перенести эти модели вручную. Мы рекомендуем повторно развернуть затронутые модели, используя один из поддерживаемых источников:- Hugging Face
- ModelScope
- Локальный путь
Вы можете выполнить эту миграцию, повторно развернув модели через GPUStack UI перед началом обновления.
Резервное копирование ваших данных
Предупреждение
Сначала сделайте резервную копию: Перед началом миграции сервера настоятельно рекомендуется создать резервную копию базы данных.
Для установок по умолчанию на версии 0.7 или более ранней версии остановите сервер GPUStack и создайте резервную копию каталога данных, расположенного внутри контейнера по адресу:
Пожалуйста, перейдите к разделу Требования к установке перед началом миграции.
Если вы использовали GPUStack без Docker в версиях до версии 0.7.1 (например, с помощью pip install или сценария установки), пожалуйста, установите Docker, следуя руководству Docker Engine Руководство по установке, прежде чем приступить к миграции.
Если вы использовали ускорение графического процессора для вывода в GPUStack до версии 0.7.1, проверьте, нужно ли вам устанавливать Container Toolkit или Container Runtime соответствующего ускорителя после установки Docker. Вы можете выполнить действия, описанные в разделе Требования к установке, чтобы проверить и установить их.
Этапы миграции
Определите свой устаревший каталог данных
Найдите каталог данных, который использовался вашей предыдущей установкой GPUStack. Путь по умолчанию:
Чтобы узнать о других методах установки, перейдите по этой ссылке, чтобы найти каталог данных. В следующих шагах этот путь обозначается как ${your-data-dir}.
Из-за архитектурных изменений в версии 2.0.0 новые компоненты, такие как postgres и s6-supervisor, могут читать и записывать файлы в ${your-data-dir} с использованием пользователей без полномочий root. Убедитесь, что ${your-data-dir} доступен всем необходимым пользователям. Вы можете использовать следующий сценарий для настройки разрешений, но помните об угрозах безопасности и точно поймите, что делает сценарий, прежде чем запускать его.
Миграция сервера с помощью Docker
Начиная с версии 2.0.0 больше не нужно указывать вычислительную платформу или версию графического процессора (например, -cpu, -cuda12.8 или -rocm) для серверных или рабочих образов. Вместо этого используйте единый образ: gpustack/gpustack:latest.
Миграция встроенной базы данных (SQLite → PostgreSQL)
В версии 0.7 и более ранних версиях GPUStack по умолчанию использовал встроенную базу данных SQLite для хранения данных управления. Начиная с версии 2.0.0, GPUStack отказался от поддержки SQLite и теперь по умолчанию использует встроенную базу данных PostgreSQL для повышения производительности и масштабируемости.
Запустите GPUStack с помощью GPUSTACK_DATA_MIGRATION=true, чтобы включить миграцию встроенной базы данных. Замените ${your-data-dir} устаревшим каталогом данных, содержащим исходную базу данных SQLite и связанные файлы:
Если вы получаете сообщение об ошибке из докера docker: Error response from daemon: unknown or invalid runtime name: nvidia, сначала проверьте Требования к среде выполнения ускорителя и следуйте документу Другие архитектуры графического процессора, чтобы изменить аргумент --runtime nvidia на вашу среду выполнения.
Настройка каталога данных с помощью --data-dir или GPUSTACK_DATA_DIR также поддерживается во время миграции базы данных. Настройте команду следующим образом:
Миграция внешней базы данных
GPUStack поддерживает использование внешней базы данных для хранения данных управления. Если вы ранее развернули GPUStack с внешней базой данных, запустите сервер с помощью следующей команды:
Миграция работников с помощью Docker
Для рабочих узлов замените ${your-data-dir} на путь к устаревшему каталогу рабочих данных. Используйте следующую команду:
Убедитесь, что в команду docker добавлены оба --volume /var/run/docker.sock:/var/run/docker.sock и --runtime nvidia. Для предыдущей версии они не требуются. Информацию о другой среде выполнения ускорителя см. в разделе Другие архитектуры графического процессора, чтобы использовать вариант, отличный от --runtime nvidia.
Это запустит рабочий GPUStack, используя существующие данные, и подключит его к указанному серверу.
Другие архитектуры графических процессоров
Для архитектур, отличных от NVIDIA (например, AMD, Ascend), процесс миграции остается прежним. Пожалуйста, подтвердите, что ваша архитектура графического процессора поддерживается в документе Требования к работе ускорителя.
Например, при запуске сервера и рабочего процесса на хосте с графическим процессором AMD измените команду запуска Docker с помощью:
Воссоздание экземпляров модели
После завершения обновления существующие экземпляры модели могут остаться в состоянии Starting. Если это произойдет, воссоздание экземпляра модели позволит модели работать нормально.
Миграция из llama-box
Если вы использовали llama-box как механизм вывода в предыдущих версиях, учтите, что с версии 2.0.0 он больше не поддерживается. Вместо этого используйте llama.cpp через пользовательский механизм вывода.
- Создайте пользовательский бэкэнд
llama.cppна странице Inference Backend. Для настройки llama.cpp обратитесь к этому документу. - Перейдите на страницу «Развертывание», измените модель, изначально запущенную с помощью llama-box, измените серверную часть на llama.cpp.
- Воссоздайте экземпляр модели после сохранения.
Примечание
Распределенный вывод по нескольким рабочим процессам в настоящее время не поддерживается настраиваемыми серверными модулями вывода.
Миграция с пользовательских версий серверной части
Если вы использовали пользовательскую версию серверной части в версиях GPUStack до версии 2.0.0, обратите внимание, что эти версии основывались на виртуальных средах Python, которые больше не поддерживаются начиная с версии 2.0.0. Все механизмы вывода теперь работают в контейнерных средах.
Чтобы продолжить использование ваших моделей, вам необходимо воссоздать их, используя один из следующих подходов:
Вариант 1. Используйте встроенную серверную версию:
GPUStack v2.0.0+ предоставляет несколько предварительно настроенных версий встроенных механизмов вывода. Воссоздайте развертывание модели и выберите встроенную серверную версию, которая лучше всего соответствует требованиям вашей модели.
Вариант 2. Добавление пользовательской версии во встроенный бэкэнд:
Если ни одна из встроенных версий не соответствует вашим потребностям, вы можете расширить встроенный механизм вывода, добавив собственную версию. Подробные инструкции можно найти в этом руководстве: Добавить пользовательскую версию во встроенный сервер вывода vLLM.