Infrastructure

persistent volume

Постоянное блочное хранилище для контейнеров, сохраняющееся после остановки сервиса.

Что такое persistent volume

Persistent volume (PV) — блочное хранилище, монтируемое в контейнер и сохраняющее данные независимо от жизненного цикла контейнера. В отличие от object storage (HTTP-доступ), PV монтируется как обычная директория.

Для ML-задач PV важен для хранения:

  • Скачанных весов модели (не скачивать заново при перезапуске)
  • Датасетов для обучения
  • Чекпоинтов
  • Результатов генерации

Docker: монтирование томов

# Монтировать папку хоста (bind mount)
docker run --gpus all \
  -v /home/user/models:/models \   # хост:контейнер
  vllm/vllm-openai:latest \
  --model /models/llama-3-8b

# Named volume (управляется Docker, сохраняется при удалении контейнера)
docker volume create model-data
docker run -v model-data:/models vllm/vllm-openai:latest ...

# Просмотр томов
docker volume ls
docker volume inspect model-data

Kubernetes PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: models-pvc
spec:
  accessModes: [ReadWriteOnce]
  resources:
    requests:
      storage: 500Gi  # для нескольких 70B-моделей
  storageClassName: fast-ssd
---
# Использование в Pod
volumes:
- name: models
  persistentVolumeClaim:
    claimName: models-pvc
containers:
- volumeMounts:
  - name: models
    mountPath: /models

Связанные термины

  • object storage — дешевле, но медленнее для обучения
  • container — PV монтируется в контейнер
  • чекпоинт — хранится на PV
  • NVMe SSD — тип хранилища под PV для ML-инстансов

Готовы запустить GPU-задачу?

Запустить GPU-сервер