VPS storage в Україні: три значення і копія за кордоном
Диск у VPS, storage VPS чи об'єктне сховище: як зрозуміти, що у вас є, скільки коштує гігабайт у гривнях, і чому копія у Франкфурті чи Варшаві потрібна бізнесу з України.
Що означає «VPS storage»: три різні речі
Запит «VPS storage» в українському пошуку означає три різні продукти, і саме тому статті-порівняння на цю тему не відповідають на питання, яке ви насправді ставили. Перше значення: диск усередині вашого VPS, той, на якому стоїть система. Друге: storage VPS як окремий тариф, де за невеликі гроші дають терабайти повільнішого диска. Третє: об'єктне сховище (object storage) на кшталт Amazon S3, до якого ви звертаєтеся не як до диска, а через API. Нижче кожне значення пояснено на рівні «як побачити, що у вас є, і що з цим робити». Далі йде частина для читача з України: чому копія за кордоном стала нормою, які локації ЄС близькі, що вимагає закон і як рахувати ціну в гривнях.
Значення перше: диск усередині вашого VPS
Разом із процесором і пам'яттю VPS отримує диск певного розміру, і він буває двох принципово різних типів. Локальний NVMe або SATA SSD стоїть фізично в тому самому сервері, де працює ваша віртуальна машина, тому він швидкий, але прив'язаний до цього хоста. Мережевий диск (network-backed, або блочне сховище) лежить в окремій системі зберігання і підключається до вашої машини через мережу дата-центру. На випадкових операціях він повільніший, зате його можна від'єднати, збільшити або зробити з нього знімок незалежно від самого VPS.
Як побачити, який диск у вас насправді
lsblk -d -o NAME,SIZE,ROTA,TYPE,MODEL
df -h /lsblk покаже пристрої на кшталт vda або sda. Ім'я vda означає диск virtio: гіпервізор показує вам віртуальний пристрій і ховає фізичний носій, тому колонка MODEL буде порожньою, а ROTA часто показує 1, тобто «обертовий диск», навіть на NVMe. Це не помилка драйвера. Прапорець виставляє гіпервізор, а не диск, і багато провайдерів його не виставляють взагалі, тому ROTA на віртуальній машині нічого не доводить. Ім'я nvme0n1 означає, що NVMe прокинуто у віртуальну машину напряму, і тоді модель видно.
Єдиний надійний спосіб дізнатися, що під вами: виміряти. Встановіть fio і запустіть тест випадкового читання блоками 4k.
sudo apt install -y fio
fio --name=randread --filename=$HOME/fio.test --size=1G --rw=randread --bs=4k --iodepth=32 --ioengine=libaio --direct=1 --runtime=30 --time_based --group_reporting
rm -f $HOME/fio.testУ виводі шукайте рядок read: IOPS=. Як орієнтир: локальний NVMe дає десятки тисяч IOPS на такому тесті, мережевий блочний том зазвичай тисячі, а диск на HDD сотні. Ключ --direct=1 обов'язковий, бо без нього ядро читає з кешу сторінок і показує швидкість оперативної пам'яті, а не диска. Що вважати нормальним для дешевого storage-тарифу, розібрано в окремій статті про швидкість диска на storage VPS.
Як додати блочний том
Якщо місця на диску всередині VPS не вистачає, у більшості провайдерів можна докупити блочний том і підключити його як другий диск. Після підключення в панелі він з'явиться в lsblk як новий пристрій, найчастіше vdb або sdb, без розділів і без файлової системи.
lsblk
sudo mkfs.ext4 -L data /dev/vdb
sudo mkdir -p /mnt/data
echo 'LABEL=data /mnt/data ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab
sudo systemctl daemon-reload
sudo mount -a
df -h /mnt/datadf -h /mnt/data має показати розмір тому, а не кореневого диска. Опція nofail обов'язкова. Без неї, якщо том від'єднати в панелі і перезавантажити машину, systemd чекатиме на пристрій, повідомить Timed out waiting for device і Dependency failed for /mnt/data і переведе систему в аварійний режим без мережі, тобто без SSH. Повну процедуру, разом зі збільшенням тому і його перенесенням між машинами, описано в інструкції, як додати блочний том до VPS.
Значення друге: storage VPS як окремий продукт
Storage VPS: це тариф, у якому пропорції перевернуто. Мало процесора і пам'яті, зате багато диска, зазвичай на HDD або SATA SSD у RAID, за ціну, за яку звичайний VPS дає набагато менше місця. Він створений для даних, до яких звертаються рідко або послідовно: резервні копії, архіви, медіатека, дзеркала репозиторіїв, сховище для Nextcloud. Він поганий для бази даних, для Docker з десятками контейнерів і для всього, що робить багато випадкових записів, бо диск там повільний саме на цьому. Чим він відрізняється від звичайного тарифу і коли брати який, розібрано в порівнянні storage VPS і звичайного VPS.
Практична перевага storage VPS для читача з України: це повноцінна Linux-машина з SSH. На неї складають копії, і з неї ж можна підняти сервіс, коли основний сервер лишився без світла. Об'єктне сховище такого не вміє.
Значення третє: об'єктне сховище
Об'єктне сховище зберігає файли як об'єкти у «відрах» (bucket) і віддає їх через HTTP API, найчастіше сумісний з Amazon S3. Ви не монтуєте його як диск, а звертаєтеся до нього інструментами на кшталт rclone і restic або бібліотеками у власному коді. Ціна складається з трьох частин: за зберігання за гігабайт, за вихідний трафік (egress) і за кількість запитів. Саме дві останні частини роблять об'єктне сховище дорожчим, ніж здається за прайсом, якщо ви часто читаєте дані назад.
Об'єктне сховище виграє, коли до даних звертається багато клієнтів або застосунків одночасно, коли потрібна реплікація між регіонами без власних зусиль або коли файлів мільйони і всі маленькі. Для одного бізнесу, який раз на ніч складає копію бази і файлів і читає її назад раз на кілька місяців, storage VPS зазвичай простіший і дешевший.
Скільки коштує гігабайт: логіка вибору
Три продукти продають одне й те саме, місце на диску, за принципово різні гроші. Нижче типові опубліковані тарифи на вересень 2026 року, зведені до ціни за 1 ТБ на місяць. Це орієнтири, а не прайс конкретного провайдера: реальна ціна у вашого хостера може бути вдвічі нижчою або вищою, і перевіряти треба саме її.
The data behind this chart
[
{
"label": "\u0411\u043b\u043e\u0447\u043d\u0438\u0439 \u0442\u043e\u043c \u0434\u043e VPS",
"usd_per_tb_month": 60
},
{
"label": "Storage VPS",
"usd_per_tb_month": 10
},
{
"label": "\u041e\u0431'\u0454\u043a\u0442\u043d\u0435 \u0441\u0445\u043e\u0432\u0438\u0449\u0435, \u043b\u0438\u0448\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f",
"usd_per_tb_month": 6
}
]Диск усередині звичайного VPS у цьому графіку відсутній навмисно: його не продають за гігабайт, він іде разом із процесором і пам'яттю, і докуповувати місце через дорожчий тариф VPS майже завжди невигідно. Блочний том коштує близько 60 USD за терабайт на місяць, і за це ви отримуєте диск, який видно в lsblk і який можна змонтувати куди завгодно. Storage VPS дає той самий терабайт приблизно за 10 USD разом із машиною, на якій він стоїть. Об'єктне сховище на папері ще дешевше, близько 6 USD, але до цього додається плата за вихідний трафік, тож повне відновлення терабайта з великої хмари може коштувати більше, ніж кілька місяців його зберігання.
У гривнях це виглядає так. Візьмемо типову задачу, копію на 2 ТБ, і умовний курс 42 UAH за 1 USD. Курс тут лише для ілюстрації: на день оплати перевірте курс НБУ та курс вашого банку, бо з картки спишеться саме за банківським.
The data behind this chart
[
{
"label": "\u0411\u043b\u043e\u0447\u043d\u0438\u0439 \u0442\u043e\u043c \u0434\u043e VPS",
"uah_per_month": 5040
},
{
"label": "Storage VPS",
"uah_per_month": 840
},
{
"label": "\u041e\u0431'\u0454\u043a\u0442\u043d\u0435 \u0441\u0445\u043e\u0432\u0438\u0449\u0435, \u043b\u0438\u0448\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f",
"uah_per_month": 504
}
]Два терабайти на блочному томі коштуватимуть близько 5040 грн на місяць, на storage VPS близько 840 грн, в об'єктному сховищі близько 504 грн плюс трафік. Різниця між першим і другим варіантом за рік стає помітною сумою навіть для невеликого бізнесу, і саме тому блочний том беруть під дані, які мають бути поруч із застосунком, а не під архів.
Логіка вибору проста. Потрібен диск, який бачить операційна система і який має стояти поруч із застосунком: блочний том. Потрібно найдешевше зберігати терабайти і мати над ними повний контроль через SSH: storage VPS. Потрібен доступ з багатьох місць через API, або ваш софт уже вміє S3: об'єктне сховище. Детальний розрахунок для різних обсягів є в статті про дешеві терабайти: storage VPS, блочне чи об'єктне сховище.
Чому копія за межами України стала стандартною вимогою
Для бізнесу і приватних користувачів в Україні віддалена копія за кордоном перетворилася з рекомендації на звичайну практику з практичних причин. Планові й аварійні відключення електроенергії зупиняють ваш офіс, а дата-центр у тому ж регіоні тримається на генераторах, ресурс яких обмежений. Пошкодження магістральних ліній зв'язку відрізає цілі області від мережі на години. Обладнання, яке місяцями живе від генератора і стабілізатора, виходить з ладу частіше. Фізичний ризик для приміщення, де стоїть сервер або NAS, ненульовий. Жоден із цих сценаріїв не залежить від того, наскільки добре налаштований ваш сервер.
Правило 3-2-1 у цьому контексті звучить так: три копії даних, на двох різних типах носіїв, одна з них в іншій енергосистемі та в іншій мережі. Українські дата-центри дають найкоротший маршрут і рахунок у гривнях, і для основного сервера це часто найкращий вибір. Але «інша енергосистема» означає іншу країну, тому саме друга копія їде за кордон. Чим storage VPS відрізняється від домашнього NAS у цій ролі, розібрано в порівнянні storage VPS і NAS удома.
Важливо не плутати копію з резервною копією. Синхронізація папки через rsync або Syncthing на сервер за кордоном захищає від пожежі, але не від помилки: видалений файл зникне і там. Резервна копія має версії. Чому storage VPS сам по собі ще не бекап, пояснено в статті чи є storage VPS резервною копією.
Які локації в ЄС географічно близькі
Для трафіку з України найближчі великі точки обміну і дата-центри розташовані у Варшаві, Франкфурті та Амстердамі. Багато українських операторів мають стики саме там, тому сервер в одній із цих трьох локацій зазвичай має найкоротший маршрут. Точних цифр затримки тут немає навмисно. Вона залежить від вашого провайдера, від того, через кого він виходить за кордон, і від часу доби, тому будь-яке число в статті було б неправдою для половини читачів.
Виміряйте самі, з того місця, звідки підуть дані, а не з іншого VPS. Більшість хостерів публікують тестові IP-адреси для кожної локації.
sudo apt install -y mtr-tiny
ping -c 10 203.0.113.20
mtr -rwc 20 203.0.113.20Замініть 203.0.113.20 на тестову адресу локації. mtr покаже кожен вузол на шляху і втрати на ньому. Стрибок затримки на першому закордонному вузлі покаже, де саме ваш трафік виходить з України, і це важливіше за різницю між Варшавою і Франкфуртом. Для нічного бекапу затримка майже не має значення; для сервісу, який користувачі відкривають удень, має.
Що ще, крім відстані, важить при виборі локації в ЄС, і скільки за це доводиться платити, описано в огляді storage VPS в ЄС: резидентність даних і ціна.
Що вимагає закон від місця зберігання
Це не юридична консультація, а перелік норм, які варто прочитати самому.
Закон України «Про захист персональних даних» № 2297-VI у статті 29 регулює транскордонну передачу. Персональні дані можна передавати іноземним суб'єктам, якщо відповідна держава забезпечує належний захист, і частина третя цієї ж статті прямо визнає такими держави Європейського економічного простору та держави, що підписали Конвенцію Ради Європи № 108. Тобто сервер у Німеччині, Нідерландах або Польщі з погляду цього закону є дозволеною локацією для персональних даних ваших клієнтів. Обов'язок захищати ці дані з вас це не знімає: володільцем персональних даних лишаєтеся ви, а не хостер. Для органів державної влади і комунальних підприємств діють окремі правила за Законом «Про хмарні послуги» № 2075-IX, і ця стаття їх не охоплює.
Якщо ви пропонуєте товари чи послуги людям у ЄС, до вас застосовується GDPR (Регламент (ЄС) 2016/679) за статтею 3(2), незалежно від того, де стоїть сервер. Розділ V регламенту обмежує передачу даних за межі ЄС, а рішення про адекватність щодо України Європейська комісія на вересень 2026 року не ухвалювала. Тому копія даних клієнтів з ЄС на сервері в ЄС спрощує вам життя: ці дані не залишають Союз. Хостер у такій схемі є обробником даних (processor) за статтею 28, і з ним потрібен договір про обробку даних, який європейські провайдери зазвичай публікують на сайті. Стаття 32 вимагає, серед іншого, здатності своєчасно відновити доступ до даних після інциденту, і саме це робить робоча резервна копія.
Шифрування на стороні клієнта, коли ключ ніколи не залишає вашу машину, не звільняє від жодного з цих обов'язків, але істотно спрощує розмову про те, що саме бачить хостер. Як його налаштувати, описано в інструкції з шифрування даних на storage VPS.
Оплата з української картки
Тут не буде тверджень про жодного конкретного провайдера, бо сторінки оплати змінюються частіше, ніж статті. Перед реєстрацією відкрийте сторінку оплати хостера і перевірте чотири речі: чи приймає він картки взагалі, чи є серед способів оплати PayPal або інший посередник, у якій валюті виставляється рахунок і чи можлива передоплата на кілька місяців. Списання з гривневої картки відбудеться за курсом вашого банку, а не НБУ, і на операції за кордоном банк застосовує власні ліміти, які варто перевірити в застосунку заздалегідь. Якщо картка не проходить, першим кроком є дзвінок у банк, а не зміна хостера: часто операцію блокує саме банк.
Мінімальна робоча схема: restic на storage VPS через SFTP
Найпростіша схема копії за кордоном, яка працює з будь-яким storage VPS з SSH: restic на вашому сервері в Україні, репозиторій на storage VPS у Варшаві чи Франкфурті через SFTP. Restic шифрує дані до відправлення і зберігає версії, а restic check перевіряє цілісність репозиторію.
На storage VPS створіть окремого користувача без пароля і каталог для репозиторію. Публічний ключ беріть від root вашого сервера в Україні (cat /root/.ssh/id_ed25519.pub, за потреби спершу ssh-keygen -t ed25519), бо restic запускатиметься від root, щоб читати всі файли.
sudo adduser --disabled-password --gecos "" backup
sudo install -d -m 700 -o backup -g backup /home/backup/.ssh
echo '<публічний ключ root вашого сервера>' | sudo tee /home/backup/.ssh/authorized_keys
sudo chown backup:backup /home/backup/.ssh/authorized_keys
sudo chmod 600 /home/backup/.ssh/authorized_keys
sudo install -d -o backup -g backup /srv/resticНа сервері, з якого йде копія:
sudo -i
apt install -y restic
( umask 077; openssl rand -base64 32 > /root/.restic-pass )
export RESTIC_REPOSITORY=sftp:backup@203.0.113.10:/srv/restic
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init
restic backup /srv/data /etc
restic snapshots
restic checkЗбережіть вміст /root/.restic-pass в менеджері паролів: без нього репозиторій не прочитати нікому, включно з вами. restic snapshots має показати один знімок із сьогоднішньою датою, а restic check завершитися рядком no errors were found. Якщо restic init падає з Permission denied (publickey), SSH на storage VPS не приймає ваш ключ: перевірте, що в authorized_keys лежить ключ саме root, а не вашого звичайного користувача. Раз на місяць робіть тестове відновлення в окремий каталог командою restic restore latest --target /tmp/restore-test, бо копія, яку жодного разу не відновлювали, є припущенням, а не бекапом. Як перетворити цей VPS на повноцінну ціль для копій з кількох машин, з розкладом і ротацією, розібрано в інструкції з налаштування VPS як віддаленої цілі для бекапів.
FAQ
Чи законно зберігати персональні дані клієнтів з України на сервері в ЄС?
Стаття 29 Закону України «Про захист персональних даних» № 2297-VI дозволяє передавати персональні дані в держави, які забезпечують належний захист, і прямо визнає такими держави Європейського економічного простору та підписантів Конвенції Ради Європи № 108. Сервер у Німеччині, Нідерландах чи Польщі під це підпадає. Обов'язок захищати дані лишається на вас як володільці, а для державних органів діють окремі правила за Законом «Про хмарні послуги».
Що краще для копії за кордоном: storage VPS чи об'єктне сховище?
Для одного бізнесу, який раз на ніч складає копію і рідко читає її назад, storage VPS зазвичай простіший і дешевший: ціна фіксована, трафік здебільшого включений, і це повноцінна машина з SSH, з якої можна підняти сервіс під час відключення вдома. Об'єктне сховище виграє, коли до даних звертаються багато клієнтів через S3 API або коли файлів мільйони, але за вихідний трафік там платять окремо.
Як дізнатися, NVMe у мене чи мережевий диск?
lsblk -d -o NAME,SIZE,ROTA,TYPE,MODEL покаже тип пристрою: vda означає virtio і схований фізичний носій, nvme0n1 означає прокинутий NVMe. Прапорець ROTA на віртуальній машині ненадійний, бо його виставляє гіпервізор. Надійна відповідь: тест fio випадкового читання 4k з --direct=1. Десятки тисяч IOPS означають локальний NVMe, тисячі мережевий том, сотні HDD.
Чому після перезавантаження сервер показує Timed out waiting for device?
У /etc/fstab є рядок для блочного тому без опції nofail, а сам том від'єднано або він ще не підключився. systemd чекає на пристрій, потім повідомляє Dependency failed for /mnt/data і переводить машину в аварійний режим без мережі. Додайте nofail у рядок fstab через консоль у панелі провайдера і перезавантажте.