Langsung ke konten
Diskon hingga 50% untuk hosting cPanel, khusus pelanggan baru
computing.id

Cara Extend Disk VPS Secara Manual di Ext4 dan XFS (Studi Kasus Swap)

10 menit baca
promo hosting cpanel

Setelah menaikkan kapasitas disk VPS lewat client area, banyak pengguna kaget karena kapasitas baru tidak langsung terlihat di dalam sistem operasi. Panel hanya menambah ukuran virtual disk di sisi hypervisor, sementara partisi dan filesystem di dalam VPS tetap memakai ukuran lama. Di sinilah Anda perlu extend disk VPS secara manual lewat terminal, baik untuk filesystem ext4 maupun XFS.

Artikel ini membahas cara extend disk VPS langkah demi langkah, lengkap dengan studi kasus yang sering ditemui di lapangan: partisi swap yang berada di /dev/vda2 menghalangi proses perluasan partisi root, sehingga harus dihapus dan dibuat ulang sebagai swap file. Setiap perintah di bawah disertai simulasi output terminal, jadi Anda bisa memahami alurnya dulu sebelum mempraktikkannya langsung di VPS.

Kapan Anda Perlu Extend Disk VPS Secara Manual?

Proses extend disk VPS secara manual umumnya dibutuhkan pada kondisi berikut:

  • Anda baru saja upgrade paket VPS ke kapasitas storage yang lebih besar, tetapi df -h masih menampilkan ukuran lama.
  • VPS menggunakan partisi custom (bukan auto-extend/cloud-init) sehingga ruang kosong baru tidak otomatis bergabung ke partisi root.
  • Ada partisi lain (misalnya swap) yang posisinya menghalangi partisi root untuk melebar ke ruang kosong di akhir disk.
  • Anda memindahkan image lama ke VPS dengan disk lebih besar dan ingin memanfaatkan seluruh kapasitas yang tersedia.

Selama Anda memiliki akses root/sudo via SSH, Anda bisa melakukan extend disk VPS tanpa harus install ulang server.

Persiapan Sebelum Extend Disk VPS

Sebelum mengubah struktur partisi, lakukan beberapa persiapan berikut supaya proses extend disk VPS berjalan aman:

  1. Buat snapshot atau backup VPS dari client area. Operasi pada tabel partisi berisiko, dan snapshot adalah jaring pengaman tercepat jika terjadi kesalahan.
  2. Pastikan Anda sudah memperbesar disk VPS dari sisi panel/hypervisor. Tutorial ini hanya membahas penyesuaian di dalam sistem operasi, bukan penambahan kapasitas di level infrastruktur.
  3. Siapkan akses root melalui SSH atau console VNC, karena beberapa perintah membutuhkan hak akses penuh.
  4. Kerjakan di luar jam sibuk, terutama saat Anda perlu menonaktifkan swap sementara, untuk menghindari lonjakan penggunaan RAM yang mendadak.

Studi Kasus: Partisi Swap Menghalangi Extend Disk VPS

Agar Anda lebih mudah mengikuti, tutorial ini memakai studi kasus nyata yang sering terjadi di VPS KVM. Disk awal berkapasitas 20GB dengan dua partisi:

  • /dev/vda1 — partisi root (/), berisi filesystem ext4 atau XFS, berukuran 18GB.
  • /dev/vda2 — partisi swap, berukuran 2GB, terletak tepat di akhir disk.

Setelah Anda mengupgrade disk menjadi 40GB, hypervisor akan menambahkan 20GB ruang kosong baru di akhir disk fisik — yaitu setelah /dev/vda2. Karena partisi swap berada di antara partisi root dan ruang kosong tersebut, Anda tidak bisa langsung memperbesar /dev/vda1. Supaya extend disk VPS berhasil, Anda perlu menghapus partisi swap lebih dulu, lalu memperlebar partisi root untuk menempati seluruh sisa ruang, dan terakhir membuat ulang swap dalam bentuk swap file di dalam filesystem.

Diagram extend disk VPS: posisi partisi vda1 dan vda2 (swap) sebelum dan sesudah resize
Ilustrasi posisi partisi sebelum dan sesudah proses extend disk VPS pada studi kasus di artikel ini.

Pelajari juga konsep dasarnya di artikel Apa Itu Swap di Linux dan Perbedaan Swap dan RAM jika Anda ingin memahami lebih dalam sebelum lanjut.

Langkah 1: Cek Layout Partisi dan Disk

Sebelum extend disk VPS, kenali dulu kondisi disk saat ini. Jalankan perintah berikut:

lsblk

Simulasi output (disk sudah diupgrade ke 40GB, tapi partisi belum diperluas):

NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  40G  0 disk
├─vda1 252:1    0  18G  0 part /
└─vda2 252:2    0   2G  0 part [SWAP]

Terlihat kapasitas vda sudah 40GB, namun vda1 dan vda2 masih berjumlah 20GB — artinya ada 20GB ruang kosong yang belum terpakai. Cek juga penggunaan filesystem dan status swap aktif:

df -h
swapon --show
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        18G   6.2G   11G  37% /

NAME       TYPE      SIZE USED PRIO
/dev/vda2  partition   2G   0B   -1

Terakhir, lihat tabel partisi lebih detail dengan parted:

sudo parted /dev/vda print

Karena Anda baru saja menambah kapasitas disk di level hypervisor, parted biasanya menampilkan peringatan GPT Backup table tidak berada di akhir disk. Ini normal, cukup ketik Fix agar parted merelokasi GPT table ke akhir disk yang baru:

Warning: Not all of the space available to /dev/vda appears to be used,
you can fix the GPT to use all of the space (an extra 41943040 blocks)
or continue with the current setting?
Fix/Ignore? Fix

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  19.3GB  19.3GB  ext4               boot
 2      19.3GB  21.5GB  2147MB  linux-swap(v1)

Jika disk VPS Anda memakai partition table MBR (bukan GPT), peringatan di atas tidak akan muncul dan Anda bisa langsung lanjut ke langkah berikutnya.

Langkah 2: Nonaktifkan dan Hapus Partisi Swap di /dev/vda2

Karena /dev/vda2 menghalangi proses extend disk VPS pada studi kasus ini, Anda perlu menonaktifkan lalu menghapus partisi swap tersebut. Matikan swap yang sedang aktif:

sudo swapoff /dev/vda2

Hapus baris swap pada /etc/fstab supaya sistem tidak mencoba mengaktifkannya lagi saat boot:

sudo sed -i '/swap/d' /etc/fstab

Jika /etc/fstab Anda memiliki baris lain yang mengandung kata “swap” di luar konteks partisi swap, lebih aman membuka file ini dengan sudo nano /etc/fstab lalu menghapus barisnya secara manual.

Hapus partisi swap dari tabel partisi:

sudo parted /dev/vda rm 2

Simulasi output:

Information: You may need to update /etc/fstab.

Anda bisa mengabaikan pesan tersebut dengan aman karena Anda sudah menghapus baris swap di /etc/fstab pada langkah sebelumnya.

Langkah 3: Perbesar Partisi Root dengan Parted

Setelah Anda menghapus partisi swap, ruang kosong di akhir disk kini bersebelahan langsung dengan partisi root. Perbesar /dev/vda1 agar memakai seluruh sisa ruang:

sudo parted /dev/vda resizepart 1 100%

Parted akan menanyakan konfirmasi karena partisi tersebut masih dalam kondisi mounted. Jawab Yes:

Warning: Partition /dev/vda1 is being used. Are you sure you want to continue?
Yes/No? Yes
Information: You may need to update /etc/fstab.

Refresh tabel partisi di level kernel supaya kernel langsung membaca perubahan tanpa reboot:

sudo partprobe /dev/vda

Jika muncul pesan Device or resource busy, itu tandanya kernel masih mengunci partisi lama. Pada kasus ini Anda tetap bisa langsung resize filesystem partisi root (lihat langkah berikutnya), dan reboot satu kali akan membersihkan cache tabel partisi sepenuhnya.

Verifikasi ukuran partisi sudah berubah:

lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  40G  0 disk
└─vda1 252:1    0  40G  0 part /

Partisi vda1 kini sudah 40GB. Namun, filesystem di dalamnya belum ikut membesar — df -h masih akan menunjukkan ukuran lama sampai Anda menjalankan perintah resize filesystem pada langkah berikutnya. Langkahnya berbeda tergantung jenis filesystem: ext4 atau XFS.

Langkah 4A: Extend Disk VPS pada Filesystem Ext4

Untuk extend disk VPS dengan filesystem ext4, gunakan resize2fs. Anda bisa menjalankan perintah ini selagi partisi dalam kondisi mounted (online resize), tanpa perlu unmount atau reboot:

sudo resize2fs /dev/vda1

Simulasi output:

resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/vda1 is now 10485760 (4k) blocks long.

Setelah proses selesai, filesystem ext4 pada /dev/vda1 sudah ikut membesar mengikuti ukuran partisi yang baru.

Langkah 4B: Extend Disk VPS pada Filesystem XFS

Anda tidak meresize filesystem XFS lewat nama device, melainkan lewat mount point yang sedang aktif, menggunakan xfs_growfs. Cek dulu mount point-nya:

df -hT /dev/vda1
Filesystem      Type  Size  Used Avail Use% Mounted on
/dev/vda1       xfs    18G  6.1G   12G  34% /

Jalankan extend disk VPS untuk XFS pada mount point tersebut:

sudo xfs_growfs /

Simulasi output:

meta-data=/dev/vda1              isize=512    agcount=4, agsize=1179648 blks
data     =                       bsize=4096   blocks=4718592, imaxpct=25
data blocks changed from 4718592 to 10485760

XFS hanya mendukung grow (memperbesar), bukan shrink (memperkecil). Jika suatu saat Anda perlu mengecilkan ukuran filesystem, satu-satunya cara adalah backup data, format ulang, lalu restore — berbeda dengan ext4 yang mendukung shrink maupun grow lewat resize2fs.

Langkah 5: Buat Ulang Swap sebagai Swap File

Karena Anda sudah menghapus partisi /dev/vda2 dan memakai ruangnya untuk extend disk VPS pada partisi root, Anda perlu membuat ulang swap dalam bentuk file, bukan partisi terpisah. Cara ini justru lebih fleksibel karena Anda bisa mengubah ukurannya kapan saja. Buat file sebesar 2GB:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Simulasi output pada perintah mkswap:

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=3f2e9b1a-7c4d-4e2a-9b0e-1a2b3c4d5e6f

Agar swap file otomatis aktif setiap kali VPS reboot, tambahkan entry ke /etc/fstab:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Jika filesystem Anda tidak mendukung fallocate (beberapa konfigurasi XFS lama), ganti dengan sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 sebagai gantinya.

Verifikasi Hasil Extend Disk VPS

Pastikan seluruh proses extend disk VPS berjalan sukses dengan mengecek ulang kapasitas disk, filesystem, dan swap:

df -h
free -h
swapon --show
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  6.2G   32G  17% /

              total        used        free      shared  buff/cache   available
Mem:           3.8Gi       612Mi       2.4Gi        12Mi       812Mi       3.0Gi
Swap:          2.0Gi          0B       2.0Gi

NAME        TYPE SIZE USED PRIO
/swapfile   file   2G   0B   -2

Jika hasilnya seperti di atas — kapasitas / sudah mengikuti ukuran disk baru dan swap file aktif — proses extend disk VPS pada studi kasus ini selesai dengan aman.

Troubleshooting Umum Saat Extend Disk VPS

  • Device or resource busy saat partprobe: reboot VPS satu kali untuk memuat ulang tabel partisi sepenuhnya di level kernel.
  • Fix/Ignore pada GPT: selalu pilih Fix ketika parted menyebut backup GPT table tidak berada di akhir disk setelah Anda memperbesar kapasitas disk.
  • resize2fs gagal dengan pesan “Bad magic number”: biasanya menandakan Anda memasukkan nama device yang salah; cek kembali dengan lsblk apakah device-nya /dev/vda1, /dev/sda1, atau nama lain sesuai driver virtualisasi VPS Anda.
  • xfs_growfs: not a mounted XFS filesystem: pastikan Anda menjalankan perintah dengan mount point (misalnya /), bukan nama device seperti /dev/vda1.
  • growpart sebagai alternatif: jika paket cloud-guest-utils sudah terpasang, perintah sudo growpart /dev/vda 1 bisa menggantikan langkah parted resizepart di atas dengan satu baris perintah.

Kesimpulan

Extend disk VPS secara manual pada dasarnya melalui tiga tahap: memperbesar partisi, memperbesar filesystem (ext4 dengan resize2fs, XFS dengan xfs_growfs), lalu menyesuaikan swap jika posisinya menghalangi proses tersebut. Studi kasus swap di /dev/vda2 pada artikel ini adalah skenario yang sangat umum terjadi, terutama pada VPS dengan partition layout bawaan image cloud. Selalu backup atau snapshot VPS sebelum mengubah tabel partisi, dan kerjakan setiap langkah secara berurutan agar proses extend disk VPS berjalan tanpa kehilangan data.

Jika Anda butuh kapasitas disk yang lebih besar tanpa repot mengelola infrastruktur sendiri, Anda bisa upgrade atau memilih paket baru lewat Linux VPS Computing ID yang sudah memakai storage SSD/NVMe dengan opsi resize kapasitas langsung dari client area. Tim support kami juga siap membantu 24/7 jika Anda mengalami kendala saat proses extend disk VPS.

FAQ Seputar Extend Disk VPS

Apakah proses extend disk VPS bisa dilakukan tanpa reboot?

Untuk filesystem ext4, Anda bisa melakukan resize secara online tanpa reboot. Untuk XFS, xfs_growfs juga berjalan online selama filesystem dalam kondisi mounted. Anda umumnya hanya perlu reboot jika kernel gagal membaca ulang tabel partisi setelah perintah partprobe.

Apa bedanya resize ext4 dan XFS?

Ext4 mendukung resize dua arah (grow dan shrink) lewat resize2fs, sedangkan XFS hanya mendukung grow lewat xfs_growfs dan sama sekali tidak mendukung shrink.

Apakah aman menghapus partisi swap untuk extend disk VPS?

Aman, selama Anda menonaktifkan swap lebih dulu dengan swapoff dan swap tersebut tidak sedang menampung memori aktif dalam jumlah besar. Setelah Anda menghapus partisi, sebaiknya buat ulang swap dalam bentuk swap file agar RAM virtual tetap tersedia.

Kenapa kapasitas disk di df -h tidak berubah setelah upgrade paket VPS?

Karena upgrade dari panel hanya menambah kapasitas virtual disk di level hypervisor. Anda perlu meng-extend partisi dan filesystem di dalam sistem operasi secara manual seperti pada tutorial ini agar Anda benar-benar bisa memakai ruang baru.

promo vps
Bagikan artikel ini

Baca juga

Artikel terkait

Linux

Cara Exclude Package Update di AlmaLinux

Ketika mengelola server AlmaLinux, terkadang ada package tertentu yang tidak boleh diupdate. Misalnya, kernel versi tertentu yang sudah stabil, atau aplikasi yang memiliki ketergantungan versi ketat.…

Praktik langsung

Butuh server untuk mencoba tutorialnya?

Cloud VPS Linux & Windows aktif otomatis setelah pembayaran, dengan full root access dan tim support yang siap membantu 24/7.