Storage Box — сетевое хранилище Hetzner для файлов и резервных копий. Это не блочный диск и не S3: вы получаете каталог на хост-сервере, в который можно заходить по SSH-протоколам, rsync, BorgBackup, SMB или WebDAV. Ниже — как он устроен по документации Hetzner, какие порты открыты, как настроить доступ по ключу, как делать резервные копии rsync и Borg и в каких случаях Storage Box не подходит.
Что такое Storage Box и для чего он нужен
Данные Storage Box хранятся на нескольких дисках в RAID-массиве, внутри массива используются контрольные суммы блоков для обнаружения и исправления битых данных. Диски находятся на одном хост-сервере, поэтому RAID защищает от отказа дисков, но не заменяет копию в другом месте. Трафик у Storage Box безлимитный (по документации Hetzner), а цены и тарифы (BX11, BX21, BX31, BX41 и другие) указаны на странице продукта.
Типовые сценарии:
- резервные копии серверов (файлы, дампы баз данных, архивы Borg);
- обмен файлами между серверами и офисом;
- хранение больших архивов, которые не нужны на быстром диске;
- подключаемый сетевой каталог (SMB/WebDAV/sshfs).
Протоколы и порты
Адрес Storage Box вида uXXXXX.your-storagebox.de, где uXXXXX — имя основного пользователя. IP-адреса хранилища могут меняться, поэтому в настройках всегда используйте доменное имя.
| Протокол | Порт | Статус по умолчанию | Для чего |
|---|---|---|---|
| FTP / FTPS | 21 | Всегда включён | Загрузка файлов старыми клиентами |
| SFTP / SCP | 22 | Всегда включён | Передача файлов; интерактивной оболочки нет |
| SSH (rsync, BorgBackup, интерактивный доступ) | 23 | Включается опцией SSH Support | Резервные копии, команды на хранилище |
| SMB / CIFS | 445 | Включается в настройках | Подключение каталога в Windows/Linux |
| HTTPS / WebDAV | 443 | Включается в настройках | Доступ по HTTPS |
Чтобы подключаться не только из сети Hetzner, но и с домашнего компьютера или чужого сервера, включите «External Reachability» через «Change settings» в консоли. Перед использованием протокола проверьте, что он включён в обзоре Storage Box.
Подключение по SSH-ключу
Для SCP, SFTP, rsync и Borg можно входить без пароля. Формат ключа зависит от порта: на порту 22 используется формат RFC4716, на порту 23 — обычный формат OpenSSH. Поддерживаются RSA, ECDSA и ED25519.
- На своём сервере создайте ключ (если ещё нет):
ssh-keygen -t ed25519 -f ~/.ssh/storagebox -C "backup" - Для порта 23 добавьте публичный ключ в
authorized_keysхранилища одной командой (потребуется пароль):cat ~/.ssh/storagebox.pub | ssh -p23 uXXXXX@uXXXXX.your-storagebox.de install-ssh-key - Проверьте вход:
ssh -p23 -i ~/.ssh/storagebox uXXXXX@uXXXXX.your-storagebox.de ls
Для удобства добавьте в ~/.ssh/config:
Host storagebox
HostName uXXXXX.your-storagebox.de
User uXXXXX
Port 23
IdentityFile ~/.ssh/storagebox
Отключить вход по паролю в Storage Box нельзя — это ограничение сервиса, поэтому выбирайте длинный случайный пароль.
Резервное копирование через rsync
rsync по порту 23 — самый простой способ копировать каталоги:
rsync -az --delete -e "ssh -p23 -i ~/.ssh/storagebox" /var/www/ uXXXXX@uXXXXX.your-storagebox.de:backups/www/
Ключи: -a сохраняет права и время, -z сжимает при передаче, --delete удаляет на приёмнике файлы, которых нет в источнике. Сначала запустите с --dry-run: так видно, что будет удалено. Для регулярного запуска добавьте задачу в cron:
30 3 * * * rsync -az --delete -e "ssh -p23 -i /root/.ssh/storagebox" /var/www/ storagebox:backups/www/ >> /var/log/rsync-backup.log 2>&1
Синхронизация с --delete копирует и ошибки: если файл повредился или удалён по ошибке, он пропадёт и в копии. Поэтому включите снимки Storage Box или используйте инкрементные архивы Borg.
Резервное копирование через BorgBackup
BorgBackup хранит данные в дедуплицированном, сжатом и (по желанию) зашифрованном репозитории. На стороне Storage Box достаточно доступа по порту 23.
# один раз: создать репозиторий
borg init --encryption=repokey-blake2 ssh://uXXXXX@uXXXXX.your-storagebox.de:23/./backups/server1
# ежедневный архив
borg create --stats --compression zstd ssh://uXXXXX@uXXXXX.your-storagebox.de:23/./backups/server1::'{hostname}-{now:%Y-%m-%d}' /etc /var/www /root
# хранить 7 дневных, 4 недельных и 6 месячных копий
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6 ssh://uXXXXX@uXXXXX.your-storagebox.de:23/./backups/server1
Пароль репозитория задайте переменной BORG_PASSPHRASE в защищённом скрипте и сохраните его отдельно: без пароля репозиторий не расшифровать. Периодически проверяйте восстановление: borg list и пробное borg extract в отдельный каталог.
Базы данных
Не копируйте файлы работающей СУБД «на ходу». Делайте логическую копию и затем отправляйте её:
pg_dump -Fc mydb > /var/backups/mydb-$(date +%F).dump
mysqldump --single-transaction --routines mydb | gzip > /var/backups/mydb-$(date +%F).sql.gz
Затем передайте файлы в Storage Box через rsync или включите каталог /var/backups в архив Borg.
Подключение как каталог
Через sshfs (интерактивный SSH на порту 23):
sudo apt install sshfs
mkdir -p /mnt/storagebox
sshfs -p 23 -o IdentityFile=~/.ssh/storagebox uXXXXX@uXXXXX.your-storagebox.de: /mnt/storagebox
Через SMB/CIFS (в Linux путь //uXXXXX.your-storagebox.de/backup, в Windows \\uXXXXX.your-storagebox.de\backup) нужно сначала включить SMB в настройках хранилища. Подходит для офисной работы с файлами, но для серверных бэкапов надёжнее rsync или Borg.
Субаккаунты
В консоли можно создать до 100 субаккаунтов. Основной пользователь видит все каталоги, включая каталоги субаккаунтов, а субаккаунт — только свой подкаталог. Субаккаунт подключается по своему имени и домену вида uXXXXX-subX.your-storagebox.de. Все субаккаунты используют общее пространство хранилища; если нужно ограничить запись, подкаталог субаккаунта можно сделать доступным только для чтения. Чтобы удалить каталог субаккаунта, сначала удалите самого субаккаунта в консоли.
Используйте субаккаунты для отдельных серверов: так компрометация одного сервера не даёт доступа к бэкапам другого.
Снимки (snapshots)
Снимки сохраняются прямо в Storage Box и фиксируют состояние данных на момент создания. Изменения, которые происходят после снимка, занимают место в вашей квоте. Лимиты: до 10/20/30/40 ручных снимков и столько же слотов автоматических снимков для тарифов BX11/BX21/BX31/BX41. Снимки защищают от случайного удаления и от шифровальщика, который добрался до смонтированного каталога, — но только если они включены заранее.
Ограничения и подводные камни
- До 10 одновременных соединений на один аккаунт.
- Скорость зависит от загрузки хост-сервера: он общий для нескольких хранилищ, и доступная скорость может меняться.
- Нельзя создать каталоги
/etcи/lib. - Не снимайте право исполнения (
x) с домашнего каталога: иначе вход перестанет работать. - Storage Box — не блочное устройство и не подходит для файлов работающей СУБД и виртуальных машин.
- Копия на одном хост-сервере — не вся стратегия резервного копирования: для критичных данных держите ещё одну копию у другого провайдера или на своём оборудовании.
Чем заменить, если Storage Box недоступен
Если вы не можете пользоваться Hetzner или переезжаете, подойдут S3-совместимое объектное хранилище (например, у Timeweb Cloud или OVHcloud — см. аналоги Hetzner) или отдельный VPS с большим диском и теми же rsync/Borg по SSH. Порядок переноса сервера описан в статье Перенос сервера с Hetzner на другой хостинг. Общие принципы резервного копирования у Hetzner рассматриваются в справке Резервное копирование.
Частые вопросы
Какие порты нужно открыть для rsync и Borg?
Порт 23 (SSH для rsync, BorgBackup и интерактивного доступа). Порт 22 принимает только SFTP и SCP.
Можно ли использовать Storage Box как диск для базы данных?
Нет. Это сетевое файловое хранилище. Для баз данных используйте локальные диски или тома, а в Storage Box отправляйте логические дампы.
Как защититься от случайного удаления файлов?
Включите автоматические снимки в консоли и используйте Borg с политикой хранения: так вы сможете вернуть версию файла на нужную дату.
Нужно ли задавать пароль, если я использую ключи?
Пароль основного пользователя остаётся, отключить вход по паролю нельзя. Задайте сложный пароль и храните его в менеджере паролей.
Почему не подключается с домашнего компьютера?
Проверьте, что включена опция External Reachability, нужный протокол активирован в настройках хранилища и вы используете правильный порт: 22 для SFTP/SCP, 23 для rsync и Borg.
