Коротка відповідь
Як змонтувати й відформатувати диск для зберігання на Linux VPS?
Щоб змонтувати й відформатувати диск для зберігання на Linux VPS, знайдіть його за допомогою lsblk, створіть один розділ GPT, відформатуйте його в ext4 або XFS, опційно всередині LUKS, і змонтуйте з /etc/fstab за UUID з nofail, щоб відсутній диск ніколи не блокував завантаження. Кроки підходять для будь-якого KVM storage VPS, зокрема для тарифів Coffervale від 1 TB за $1.66 на місяць при оплаті за 12 місяців (2 November 2026).
Які кроки?
Визначте порожній диск
lsblkпоказує всі диски; у диска для зберігання немає розділів і немає точки монтування.Створіть один розділ GPT
partedзаписує мітку GPT і один розділ на весь диск.Зашифруйте його (опційно)
cryptsetup luksFormatіcryptsetup open, потім зробіть резервну копію заголовка LUKS поза сервером.Створіть файлову систему
mkfs.ext4 -m 1абоmkfs.xfs, з міткою, яку ви впізнаєте.Змонтуйте за UUID з nofail
Один рядок у
/etc/fstab, потімmountіfindmntдля підтвердження.
Який диск є диском для зберігання?
Виконайте lsblk: диск для зберігання — це великий диск без розділів, без файлової системи й без точки монтування. Storage VPS бувають у двох компонуваннях: невеликий системний диск плюс великий диск даних або один великий диск. За оглядом Coffervale серед 2 November 2026, 6 із 18 продавців storage VPS, які приймають криптовалюту без документа, що посвідчує особу, зазначають на своїх сторінках, що сховище надходить як окремий диск або блоковий пристрій; інші 12 описують один диск або не вказують. Перевірте свій перед тим, як вводити будь-що деструктивне.
На KVM диски virtio називаються vda, vdb і далі, а диски virtio-SCSI — sda, sdb. Розміри показані в двійкових одиницях, тож диск на 1 TB читається як приблизно 931G. Якщо lsblk показує лише один диск і / уже займає весь його розмір, форматувати нічого: створіть теку, наприклад /srv/data, і переходьте до розділу про вибір шифрування в кінці.
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
# Use the empty disk from the list above; this example assumes /dev/vdb
DISK=/dev/vdb
PART=/dev/vdb1Чи варто розбивати диск для зберігання на розділи чи форматувати його цілком?
Створіть один розділ GPT на весь диск. Файлова система, записана прямо на голий пристрій, теж працює, але таблиця розділів повідомляє кожному інструменту й кожному адміністратору, який гляне пізніше, що диск використовується, а parted вирівнює розділ за вас. Образи Debian і Ubuntu cloud не завжди містять parted, тож спершу встановіть його (dnf install parted на AlmaLinux або Rocky Linux, і так само для cryptsetup нижче).
apt install parted
parted -s -a optimal "$DISK" mklabel gpt mkpart data 0% 100%
partprobe "$DISK"
lsblk "$DISK"Чи варто шифрувати диск для зберігання за допомогою LUKS?
Зашифруйте його, якщо щось на VPS зберігатиме звичайні файли: виконайте cryptsetup luksFormat на розділі, відкрийте його під якоюсь назвою і створіть файлову систему на відкритому пристрої. LUKS2 — формат за замовчуванням. Залишайте системний диск незашифрованим, а диск даних — під LUKS: після перезавантаження увійдіть через SSH і розблокуйте диск даних своєю парольною фразою. Той, хто керує гіпервізором, технічно може прочитати незашифрований віртуальний диск — у будь-якого VPS-хостингу. Ми не відкриваємо ваші файли, а дані, зашифровані до того, як вони залишать вашу машину, знімають це питання.
Зробіть резервну копію заголовка LUKS і перенесіть копію поза сервер: якщо заголовок пошкоджено, дані за ним втрачено. Посібник cryptsetup додає попередження, яке варто прочитати двічі: резервна копія заголовка разом із парольною фразою, що була чинною на момент її створення, розшифровує диск навіть після того, як цю парольну фразу змінено чи видалено. Поводьтеся з файлом резервної копії як із самою парольною фразою.
apt install cryptsetup
cryptsetup luksFormat "$PART"
cryptsetup open "$PART" coffer
cryptsetup luksHeaderBackup "$PART" --header-backup-file /root/coffer-luks-header.img
# copy /root/coffer-luks-header.img to your own machine, then delete it hereЧи має диск для зберігання використовувати ext4 чи XFS?
Використовуйте ext4, якщо немає причини робити інакше; це єдина з двох, яку можна зменшити. Обидві без проблем працюють із багатотерабайтними сховищами резервних копій і синхронізацією файлів, і обидві збільшуються змонтованими, коли диск стає більшим. Відмінності, що мають значення на storage VPS:
| Властивість | ext4 | XFS |
|---|---|---|
| Збільшення на змонтованому | Так, resize2fs | Так, xfs_growfs (має бути змонтований) |
| Зменшення | Так, відмонтований, за допомогою resize2fs | Ледве: зменшується лише остання група розподілу, і її не можна видалити |
| Місце, зарезервоване для root | 5% за замовчуванням; -m 1 залишає 1% | Такого резерву немає |
| Довжина мітки | До 16 байт | До 12 символів |
На диску даних обсягом 1 TB типовий резерв ext4 утримує 50 GB, які може використовувати лише root. Для диска, що зберігає резервні копії або дані синхронізації, 1% цілком достатньо, адже операційна система там не живе. Відформатуйте розділ або відкритий пристрій LUKS, якщо ви його зашифрували:
# The device to format: the partition, or the opened LUKS device
DEV="$PART" # with LUKS: DEV=/dev/mapper/coffer
mkfs.ext4 -m 1 -L coffer "$DEV"
# or: mkfs.xfs -L coffer "$DEV"Як змонтувати диск під час завантаження через fstab, UUID і nofail?
Додайте один рядок /etc/fstab, який задає файлову систему за UUID і містить nofail. Посібник з fstab рекомендує UUID або мітки, бо імена пристроїв залежать від порядку виявлення дисків і можуть змінюватися, коли диски додають або вилучають. З nofail документація systemd каже, що завантаження продовжується, не чекаючи на монтування і незалежно від того, чи воно вдасться, тож від'єднаний або заблокований диск не може залишити віддалений сервер у стані аварійного запрошення, до якого ви не дістанетеся.
Зашифрований диск також отримує noauto: його не можна змонтувати, перш ніж ви розблокуєте його через SSH, тож завантаження не повинно намагатися. Наведений нижче невеликий скрипт відкриває його за LUKS UUID і монтує в один крок.
mkdir -p /srv/data
UUID=$(blkid -s UUID -o value "$PART")
echo "UUID=$UUID /srv/data ext4 defaults,nofail 0 2" >> /etc/fstab
systemctl daemon-reload
mount /srv/data
findmnt /srv/datamkdir -p /srv/data
FSUUID=$(blkid -s UUID -o value /dev/mapper/coffer)
LUKSUUID=$(blkid -s UUID -o value "$PART")
echo "UUID=$FSUUID /srv/data ext4 noauto,nofail 0 0" >> /etc/fstab
systemctl daemon-reload
cat > /usr/local/sbin/unlock-data <<EOF
#!/bin/sh
cryptsetup open /dev/disk/by-uuid/$LUKSUUID coffer && mount /srv/data
EOF
chmod 700 /usr/local/sbin/unlock-data
# after each reboot, over SSH:
/usr/local/sbin/unlock-dataА якщо я не хочу шифрувати диск на сервері?
Натомість шифруйте на клієнті, що працює за будь-якої схеми, зокрема з одним диском. Borg, restic і режим недовіреного пристрою в Syncthing шифрують дані ще до того, як вони потрапляють на VPS, тож сервер зберігає шифротекст і з LUKS, і без нього. KVM дає вашому серверу власне ядро, тож ви можете поставити LUKS на диск даних або запустити ZFS з нативним шифруванням, і ключі ніколи не залишають вас. Для бекапів шифруйте на власній машині перед завантаженням (Borg, restic і Kopia усі це вміють), тож сервер зберігає лише шифротекст. Шифрування диска все ж додає цінності, коли на VPS працює програмне забезпечення, якому потрібні звичайні файли, наприклад Nextcloud. Наступні кроки: Як використовувати VPS для позасайтових резервних копій?, Як налаштувати сервер резервних копій Borg на VPS? і Який найкращий VPS для Nextcloud зі сховищем 1 TB або більше?. Якщо пізніше вам знадобиться більший диск, Щоб збільшити обсяг, замовте більший тариф і скопіюйте дані через rsync або zfs send; зміна розміру працюючого сервера на місці на старті не пропонується; плани розмірів наведено на Де можна отримати VPS зі сховищем 1 TB?.
Питання про монтування диска сховища
Чому мій диск на 1 TB показується як 931G?
Розміри дисків продають у десяткових терабайтах, а lsblk і df показують двійкові одиниці. 1 000 000 000 000 байтів — це приблизно 931 GiB: ті самі байти, інша одиниця.
Що станеться, якщо я забуду nofail і диска не буде під час завантаження?
systemd вважає монтування обов'язковим для локальних файлових систем, тож завантаження може зупинитися на аварійній оболонці. На VPS без консолі, до якої ви маєте доступ, це означає запит до підтримки. З nofail сервер завантажується, і ви виправляєте монтування через SSH.
Чи потрібно розблоковувати диск LUKS після кожного перезавантаження?
Так, із налаштуванням вище: увійдіть через SSH і запустіть скрипт розблокування. Системний диск залишається незашифрованим, тож сервер завжди завантажується і SSH завжди відповідає.
Що використовувати для репозиторіїв Borg або restic: ext4 чи XFS?
Підходить будь-що. ext4 можна пізніше зменшити і дозволити зменшити його кореневий резерв за допомогою -m; XFS не можна зменшити, окрім вузького випадку. Якщо сумніваєтеся, вибирайте ext4.
Як перевірити, що диск змонтовано там, де я очікую?
findmnt /srv/data показує пристрій, файлову систему й опції цієї точки монтування, а df -h /srv/data показує її розмір і вільне місце. Якщо будь-яка з них показує кореневу файлову систему, диск не змонтований і дані потрапляють на системний диск.
Джерела (8)
- lsblk(8): список блокових пристроїв — Linux man-pages project (read 2026-11-02)
- fstab(5): UUID і LABEL, nofail, порядок fsck — Linux man-pages project (read 2026-11-02)
- systemd.mount(5): nofail і noauto у fstab — systemd project (read 2026-11-02)
- mke2fs(8): -m зарезервовані блоки (5% за замовчуванням), -L мітка — Linux man-pages project (read 2026-11-02)
- resize2fs(8): збільшення і зменшення ext4 — Linux man-pages project (read 2026-11-02)
- xfs_growfs(8): збільшення XFS, обмеження щодо зменшення — Linux man-pages project (read 2026-11-02)
- cryptsetup-luksFormat(8): LUKS2 за замовчуванням — cryptsetup project (read 2026-11-02)
- cryptsetup-luksHeaderBackup(8): резервна копія заголовка та її ризик — cryptsetup project (read 2026-11-02)