Backblaze: знайомство з B2 Cloud Storage – перші враження
5 (1)

Автор |  23/02/2026
Click to rate this post!
[Total: 1 Average: 5]

По факту, цей пост – частина серій по сетапу домашнього NAS на FreeBSD (див. початок тут – FreeBSD: Home NAS, part 1 – налаштування ZFS mirror), але винесу його окремо.

В мене вже налаштована автоматизація бекапів (про неї теж будуть пости), і зараз дані з NAS раз на добу заливаються в Google Drive.

Але, по-перше – з сервісів Google я потроху позбавляюся, по-друге – хочеться мати друге місце для бекапів в клауді, а не тримати всі яйки в одній корзині.

Взагалі планував другим сторейджем взяти AWS S3, але потім подивився на альтернативи та відкрив для себе Backblaze, який мені настільки сподобався, що я прямо в той жеж день оформив підписку і налаштував rclone на копіювання Backblaze теж.

Про Rclone детальніше писав у FreeBSD: Home NAS, part 9 – backup даних з rclone до AWS S3 та Google Drive, сьогодні тут теж про нього згадаємо, ну познайомимось з Backblaze в цілому – подивимось на можливості, прайсінг, налаштуємо Rclone remotes та глянемо на швидкість.

Backblaze overview

Загальна документація – Backblaze Documentation, та по Cloud Storage – Get Started with the Web Console.

У Backblaze є два основні продукти – Computer Backup та B2 Cloud Storage.

І якщо по Computer Backup у багатьох є питання (див., наприклад Reddit) – то Cloud Storage прям дуже класна штука.

Головна перевага Backblaze – ціна за зберігання і простота UI (при цьому з усіма необхідними можливостями), а до мінусів можна віднести хіба що доволі невеликий вибір регіонів – але USA та Europe є.

Ну і ще з мінусів, мабуть, відсутність можливості перегляду файлів – але це і не Google Drive, а просто сторейдж, тому ОК.

За вартість детальніше поговоримо трохи нижче, але головне – ціна зберігання – у Backblaze 6 USD за терабайт, тоді як в AWS S3 Standart Storage це було б 23.55 бакси, плюс ще і вартість за скачування даних з корзин.

Коротко про можливості та плюшки Backblaze:

  • дуже простий в використанні – просто той базовий набір утиліт, які потрібні Cloud Storage – без зайвого ускладнення
  • є можливість налаштувати реплікацію бакетів між регіонами
  • для аутентифікації є Application keys, яким можна здавати окремі scope
  • алерти – базові, по костам і використанню ресурсів
  • дашборда зі статистикою і використанню ресурсів
  • можна включити server-side encryption
  • можливість створення снапшотів даних (але тільки якщо не включений SSE)
  • трафік upload в бакет – безкоштовний, download – дуже великий безкоштовний ліміт
  • підтримка базових lifecycle політик
  • є офіційний мобільний клієнт – дуже простенький

Створення тестової корзини

Реєстрація проста, через пошту, після логіну бачимо чудову мінімалістичну дашборду:

Створимо тестовий бакет – звертаємо увагу на попередження про шифрування:

Тобто, як писав вище – не буде можливості створювати снапшоти.

Хоча трохи незрозуміло чому, бо в тому ж попередженні пишуть, що “Backblaze creates, manages key“.

Хоча для мене це в будь-якому випадку не дуже актуально, бо шифруванням буде займатись Rclone.

Документація по шифруванню – Enable Encryption on a Bucket.

Завершуємо створення бакету – буквально пара кліків:

Створення Application key

В моєму кейсі працювати з Backblaze буде Rclone, тому для нього створимо окремий ключик, див. Create and Manage App Keys:

Задаємо ліміт на конкретну корзину:

Відразу зберігаємо, бо більше його не побачимо:

Налаштування rclone B2 remote

Документація Rclone – Backblaze B2.

Запускаємо rclone config, створюємо новий remote:

$ rclone config
...
e) Edit existing remote
n) New remote
d) Delete remote
...
Enter name for new remote.
name> setevoy-backblaze-testing
...
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
...
 5 / Backblaze B2
   \ (b2)
...
Account ID or Application Key ID.
Enter a value.
account> 003***001
...
Application Key.
Enter a value.
key> K00***MXQ
...
Option hard_delete.
Permanently delete files on remote removal, otherwise hide files.
Enter a boolean value (true or false). Press Enter for the default (false).
hard_delete>

Edit advanced config?
y) Yes
n) No (default)
y/n>

Configuration complete.
Options:
- type: b2
- account: 003f07593a16f1d0000000001
- key: K003+sr5NBQhJvsTdlCnfdt9UYHqMXQ
Keep this "setevoy-backblaze-testing" remote?
y) Yes this is OK (default)
...

Тут hard_delete залишив в дефолтному значенні, відключеним, але в prodution включив – бо інакше файли будуть не видалятись, а переміщатись в таку собі trash, ховатись.

Мені це не потрібно, бо цим всім займається rclone через --backup-dir.

Перевіряємо як новий ремоут спрацює – створюємо файл, копіюємо в бакет:

[setevoy@setevoy-work ~]  $ echo "test" > /tmp/test-b2.txt
[setevoy@setevoy-work ~]  $ rclone copy  /tmp/test-b2.txt setevoy-backblaze-testing:setevoy-test-1

[setevoy@setevoy-work ~]  $ rclone ls setevoy-backblaze-testing:setevoy-test-1
        5 test-b2.txt

І він в UI – для цього бакету я включав SSE, відразу відображає, що файл зашифрований:

І створення снапшоту для цього файлу недоступне:

Налаштування rclone crypt remote

Тут аналогічно до AWS S3 або Google Drive – створюємо новий remote з типом crypt, підключаємо його до основного remote.

Ще раз запускаємо rclone config, тут приклад з шифруванням тільки даних – імена файлів і директорій будуть plaintext:

$ rclone config
...

name> setevoy-backblaze-testing-crypted
...

Option Storage.
Type of storage to configure.
...
Storage> crypt

Option remote.
Remote to encrypt/decrypt.
...
Enter a value.
remote> setevoy-backblaze-testing:setevoy-test-1

Option filename_encryption.
How to encrypt the filenames.
...
Press Enter for the default (standard).
   / Encrypt the filenames.
 1 | See the docs for the details.
   \ (standard)
 2 / Very simple filename obfuscation.
   \ (obfuscate)
   / Don't encrypt the file names.
 3 | Adds a ".bin", or "suffix" extension only.
   \ (off)
filename_encryption> 3

Option directory_name_encryption.
...
Press Enter for the default (true).
 1 / Encrypt directory names.
   \ (true)
 2 / Don't encrypt directory names, leave them intact.
   \ (false)
directory_name_encryption> 2

Option password.
...
y) Yes, type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:

Option password2.
Password or pass phrase for salt.
...
n) No, leave this optional password blank (default)
y/g/n>

...
Configuration complete.
Options:
- type: crypt
- remote: setevoy-backblaze-testing:setevoy-test-1
- filename_encryption: off
- directory_name_encryption: false
- password: *** ENCRYPTED ***

...

Копіюємо тестовий файл в цей ремоут:

$ rclone copy  /tmp/test-b2.txt setevoy-backblaze-testing-crypted

І маємо цей жеж файл, але вже як .bin:

Реальні дані та помилка “Cannot upload files, storage cap exceeded”

Взагалі думав на цьому і закінчувати, але не втримався – налаштував вже всю систему повністю, і тут ще є трохи шо показати.

Перше – коли почав заливати вже великі обсяги даних, то спіймав помилку “storage cap exceeded“:

2026/02/22 12:39:37 NOTICE: Failed to sync with 4 errors: last error was: Cannot upload files, storage cap exceeded. See the Caps & Alerts page to increase your cap. (403 storage_cap_exceeded)
ERROR: Rclone sync for nas/vault failed with exit code 7

Бо на безкоштовному акаунті маємо ліміт на 10 ГБ upload:

Дожаємо картку – отримуємо повний доступ.

Backblaze pricing

Ну і раз вже дійшло до платежів – то трохи про вартість Backblaze.

Платимо тільки за сам storage – $6 за кожен терабайт, і за завантаження даних з бакетів – але тільки за той обсяг, який в 3 рази перевищує розмір даних, який зберігається в бакетах.

Тобто, зберігаємо 1 терабайт – можемо на місяць безкоштовно скачати 3 терабайти. Вище цього обсягу буде рахуватись по $0.01/GB.

Дательніше див. Backblaze Product and Pricing Updates.

Крім того, оплачується частина API-операцій, при цьому операції поділені на три окремі класи:

  • Class A: безкоштовні – створення бакетів, завантаження файлів (upload), видалення
  • Class B: скачування файлів (download), сюди входить b2_download_file_*, b2_get_file_info, наприклад – rclone sync з бакета до себе на машину
    • $0.004 за 10,000 операцій.
  • Class C: listing файлів, перевірка метаданих – сюди входять b2_list_file_names, b2_list_file_versions, наприклад – коли ми робимо rclone sync від себе в бакет
    • $0.004 за 1,000 операцій

Але при цьому маємо 2500 бескшотовних API-викликів на день.

Див. Backblaze B2 Cloud Storage Frequent Questions.

Для моєї схеми найбільше буде Class C транзакцій, бо rclone при кожному sync перевіряє всі файли і їх modification time, тобто читає метадані (хоча це наче тюниться).

Ну і можна використати опцію rclone --fast-list – менше операції, але більше RAM.

Подивимось на суму, коли прийде перший рахунок 🙂

В Reports є повна інформація по кількості викликів кожного типу:

Власне, додаємо картку, і через пару хвилин запускаємо копіювання даних – все пройшло:

Але через помилку залишилось кілька incomplete uploads (“started large file” на скріншоті) – можна почистити з rclone cleanup або просто видалити вручну:

Upload speed і порівняння з Google Drive та AWS S3

Коли запустив завантаження свої бекапів швидкість виглядала так – але тут частково були невеликі файли:

Пізніше зробив окремий “бенчмарк” – завантаження файлу в 50 гігабайт з rclone copy.

Перший результат – Google Drive, максимум було 322 Mb/s, Backblaze розкачався до 417 Mb/s, а AWS видав цілих 516 Mb/s:

Ну а результат завантаження взагалі всього мого бекапу виглядає так:

В цілому враження – принаймні поки що – чудові.

Подивимось, як це буде працювати.

Loading