Новинка NVIDIA B300 · серверы 288 ГБ HBM3e — от 4 019 $/мес. за GPU

Посмотреть B300

Документация · Хранение

Локальные NVMe, RAID 0 и перемещение данных

Диски NVMe в вашем сервере — это быстрое локальное хранилище для датасетов, чекпоинтов и кэшей моделей. Настройте их один раз и храните всё, что нельзя потерять, ещё в одном месте.

Обновлено 5 мин чтения

Определите свои диски

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL
findmnt /                  # устройство, на котором находится операционная система
sudo apt install -y nvme-cli
sudo nvme list             # модель, серийный номер и объём каждого диска NVMe

Диски NVMe отображаются как nvme0n1, nvme1n1 и так далее, их разделы — как nvme0n1p1, nvme0n1p2. Диск без разделов, без файловой системы (FSTYPE) и без точки монтирования не используется. Диск, раздел или RAID-устройство, которое показывает findmnt /, содержит систему: не трогайте его и все входящие в него элементы RAID.

Форматирование уничтожает данные на диске. Дважды проверяйте имя устройства перед запуском mkfs, wipefs или mdadm --create, и никогда не указывайте в них системный диск.

Разметьте и отформатируйте диск для данных

DISK=/dev/nvme1n1                                  # неиспользуемый диск, который вы определили
sudo parted -s $DISK mklabel gpt mkpart data 0% 100%
sudo udevadm settle
sudo mkfs.ext4 -L data ${DISK}p1
# или XFS: sudo apt install -y xfsprogs && sudo mkfs.xfs -L data ${DISK}p1

ext4 — это выбор Ubuntu по умолчанию и безопасный вариант. XFS хорошо работает с очень большими файлами и параллельной записью и часто используется для датасетов и чекпоинтов. Оба варианта подходят — выберите один и двигайтесь дальше.

Монтируйте по UUID в /etc/fstab

sudo mkdir -p /data
UUID=$(sudo blkid -s UUID -o value ${DISK}p1)
echo "UUID=$UUID  /data  ext4  defaults,noatime,nofail  0  2" | sudo tee -a /etc/fstab
sudo findmnt --verify
sudo systemctl daemon-reload
sudo mount -a
findmnt /data
sudo chown $USER:$USER /data
  • Для XFS укажите xfs и 0 0 вместо ext4 и 0 2.
  • Имена устройств, такие как nvme1n1, могут меняться между перезагрузками; UUID — не меняются.
  • nofail позволяет серверу завершить загрузку, даже если диск отсутствует, а это важно для машины, к которой у вас есть доступ только по SSH.
  • noatime пропускает запись метаданных при каждом чтении файла.
  • Запускайте sudo findmnt --verify после каждого изменения /etc/fstab.

Дополнительно: RAID 0 на нескольких дисках NVMe

Если на вашем сервере есть несколько неиспользуемых дисков NVMe, RAID 0 объединяет их чередованием в один больший и быстрый том.

RAID 0 не обеспечивает избыточности: если один диск выходит из строя, весь массив теряется. Используйте его для данных, которые можно скачать или воссоздать, — например, датасетов, кэшей и временного пространства (scratch), — и храните копии чекпоинтов и результатов в другом месте.

sudo apt install -y mdadm xfsprogs
sudo wipefs -a /dev/nvme1n1 /dev/nvme2n1            # стирает оба диска
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
sudo mkfs.xfs -L scratch /dev/md0
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
sudo mkdir -p /scratch
echo "UUID=$(sudo blkid -s UUID -o value /dev/md0)  /scratch  xfs  defaults,noatime,nofail  0  0" | sudo tee -a /etc/fstab
sudo systemctl daemon-reload && sudo mount -a
cat /proc/mdstat

Подстройте --raid-devices и список устройств под количество ваших дисков. Один диск NVMe уже достаточно быстрый; чередование даёт наибольший выигрыш при больших последовательных операциях чтения и записи, например при потоковом чтении большого датасета.

Перенос данных на сервер и с сервера

# с вашего компьютера или другого сервера
rsync -avhP ./dataset/ gpu1:/data/dataset/

# с сервера на сервер: выполняется на новом сервере, с SSH-ключом, который принимает старый
rsync -avhP alice@203.0.113.10:/data/ /data/

# модели с Hugging Face прямо на NVMe
curl -LsSf https://hf.co/cli/install.sh | bash      # устанавливает команду hf
export HF_HOME=/data/hf
hf download Qwen/Qwen3-4B

# много мелких файлов: упакуйте их и перенесите одним архивом
sudo apt install -y zstd
tar -I 'zstd -T0' -cf dataset.tar.zst dataset/
tar -I zstd -xf dataset.tar.zst

Передача по SSH зашифрована на всём пути, а rsync -P продолжает с того места, где остановилась. Для миллионов мелких файлов один архив передаётся намного быстрее, чем файлы по одному. hf CLI также умеет hf auth login для моделей с ограниченным доступом; подробнее о передаче по SSH — в разделе Доступ по SSH.

S3-совместимое хранилище через rclone

Для резервных копий и датасетов, которые вы используете повторно, S3-совместимое объектное хранилище хорошо работает с rclone. Пакеты rclone из дистрибутивов часто устаревшие, поэтому используйте официальный установочный скрипт:

sudo -v ; curl https://rclone.org/install.sh | sudo bash
rclone config        # n = новый remote, назовите его s3remote, тип хранилища s3, затем провайдер, ключи и endpoint
rclone lsd s3remote:                                   # список бакетов

rclone copy /data/checkpoints s3remote:my-bucket/checkpoints --progress --transfers 16
rclone check /data/checkpoints s3remote:my-bucket/checkpoints   # сравнить обе стороны
rclone copy s3remote:my-bucket/datasets/web /data/datasets/web --progress

rclone copy никогда ничего не удаляет. rclone sync делает получатель идентичным источнику и удаляет всё, чего нет в источнике, поэтому сначала запускайте её с --dry-run. Для чувствительных данных remote crypt в rclone шифрует файлы перед тем, как они покинут сервер.

Сделайте резервную копию до окончания срока аренды

Если срок аренды не продлён, сервер останавливается в конце оплаченного месяца, а его диски стираются. Планируйте так, будто после этой даты на сервере ничего не сохранится.

  1. Составьте список того, что должно сохраниться: чекпоинты, дообученные веса, созданные вами датасеты, конфигурация, Jupyter-ноутбуки, журналы, скрипты и тома Docker (docker volume ls).
  2. Скопируйте это в объектное хранилище или на другую машину за несколько дней до окончания срока, а не в последний час.
  3. Проверьте копию с помощью rclone check или контрольных сумм, как показано ниже.
  4. Если сервер всё ещё нужен, продлите его до окончания срока (см. раздел Биллинг и оплата).
cd /data
find checkpoints -type f -print0 | xargs -0 sha256sum > checkpoints.sha256
rclone copy checkpoints.sha256 s3remote:my-bucket/
# после восстановления в другом месте:
sha256sum -c checkpoints.sha256

Чтобы изменить модель GPU или их количество, вы заказываете новую конфигурацию и переносите данные самостоятельно. Те же инструменты копируют их, пока оба сервера работают одновременно.

Нужна помощь с этим руководством?

Расскажите нам о своём GPU, командах, которые вы выполнили, и результате, который получили, через форму обратной связи.

Личный кабинет

Войти в CryptGPU

Ваши заказы, счета и серверы в одном месте.

Новичок в CryptGPU?

Аккаунты создаются при оформлении заказа: выберите сервер и программное обеспечение, затем создайте аккаунт на шаге Аккаунт первого заказа.

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