Block Storage
Fitur Block Storage memungkinkan pelanggan untuk membuat dan mengelola volume penyimpanan blok (block volume) independen yang dapat di-attach (tempel) ke Virtual Machine (Instance) mana pun atau di-detach (lepas) dan dipindahkan ke instance lain kapan saja.
[!TIP] Notifikasi Real-Time (SSE) Sebagian besar operasi yang mengubah status Block Storage (seperti pembuatan, penempelan, pelepasan, perubahan ukuran, dan penghapusan) diproses di latar belakang secara asinkron (mengembalikan status
202 Acceptedatau sukses inisiasi). Oleh karena itu, sistem akan mengirimkan pembaruan status final (Available, In-Use, dll.) secara real-time ke Frontend melalui koneksi Server-Sent Events (SSE).Silakan merujuk ke halaman dokumentasi Global Events (SSE) untuk panduan cara mendengarkan (subscribe) notifikasi perubahan status pada Block Storage ini.
1. Melihat Daftar Block Storage
Mendapatkan daftar seluruh volume Block Storage yang dimiliki oleh pelanggan.
GET /api/storage/block
Respons (200 OK): Akan mereturn array yang berisi daftar block storage dengan status mereka saat ini (Available, In-Use, dsb.) beserta kapasitas dan tipe tier penyimpanan yang digunakan.
2. Mendapatkan Tipe Block Storage
Menampilkan jenis penyimpanan (misal: SSD, NVMe, HDD) dan tier harga yang tersedia untuk pembuatan volume.
GET /api/storage/block/types
3. Mendapatkan Opsi Block Storage
Mendapatkan daftar volume Block Storage yang sedang dalam keadaan bebas (Available) dan dapat ditempelkan (attach) ke sebuah Virtual Machine.
GET /api/storage/block/options
Respons (200 OK): Akan mereturn array yang berisi daftar block storage yang siap di-attach.
4. Membuat Block Storage Baru
Pelanggan dapat membuat volume independen yang terpisah dari instance.
POST /api/storage/block
Content-Type: application/json
{
"name": "Volume Data",
"tier_id": 1,
"size_gb": 50,
"description": "Penyimpanan tambahan untuk database"
}
Respons (202 Accepted): Volume akan dibuat di latar belakang dan statusnya pada awalnya mungkin Pending sebelum berubah menjadi Available.
5. Menempelkan (Attach) Volume
Volume dengan status Available dapat ditempelkan ke sebuah Virtual Machine (Instance) agar dapat dibaca/ditulis dari dalam instance tersebut.
Penting: Virtual Machine (Instance) tujuan harus dalam keadaan STOPPED sebelum volume dapat di-attach.
PATCH /api/storage/block/{uuid}/attach
Content-Type: application/json
{
"instance_id": "xxx-instance-uuid-xxx"
}
Catatan: Setelah di-attach, status volume akan berubah menjadi
In-Usedan muncul sebagai disk baru di dalam Virtual Machine yang dituju.
6. Melepas (Detach) Volume
Untuk mencopot volume dari instance (misalnya untuk dipindahkan ke instance lain), gunakan endpoint ini.
PATCH /api/storage/block/{uuid}/detach
Perhatian: Sangat disarankan untuk melakukan unmount disk dari dalam sistem operasi instance terlebih dahulu untuk mencegah korupsi data. Selanjutnya, pastikan Virtual Machine (Instance) dalam keadaan STOPPED sebelum memanggil endpoint ini.
7. Mengubah Ukuran (Resize) Volume
Kapasitas Block Storage dapat ditambah kapasitasnya. Ukuran tidak dapat dikurangi demi keamanan data.
PATCH /api/storage/block/{uuid}/resize
Content-Type: application/json
{
"new_size_gb": 100
}
8. Menghapus Block Storage
Menghapus volume Block Storage secara permanen. Anda harus melakukan detach volume dari instance (status harus Available) sebelum volume bisa dihapus.
DELETE /api/storage/block/{uuid}
Peringatan: Tindakan ini bersifat permanen. Seluruh data di dalam volume akan hilang dan tidak dapat dipulihkan.