По факту, цей пост – частина серій по сетапу домашнього 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:
Ну а результат завантаження взагалі всього мого бекапу виглядає так:
В цілому враження – принаймні поки що – чудові.
Подивимось, як це буде працювати.
![]()












