Lewati ke isi

Server & Infrastruktur

ext4 atau XFS untuk Disk Server, Apa Bedanya?

ext4 dan XFS sama-sama filesystem matang untuk server Linux. Bedanya ada di cara memperbesar dan mengecilkan, inode, perbaikan, dan pola beban kerja.

Terbit 5 menit baca

Jawaban singkat

Keduanya stabil untuk server. ext4 lebih fleksibel karena bisa dikecilkan (saat tidak di-mount) dan menjadi bawaan Ubuntu serta Debian. XFS tidak bisa dikecilkan, tapi kuat untuk file besar dan I/O paralel serta menjadi bawaan keluarga RHEL seperti AlmaLinux dan Rocky Linux.

Daftar isi
  1. Apa yang membuat ext4 dan XFS berbeda?
  2. Asal-usul dan bawaan distro
  3. Memperbesar dan mengecilkan
  4. Inode
  5. Perbaikan setelah crash
  6. Pola beban kerja
  7. Tabel perbandingan ext4 dan XFS
  8. Kapan memilih ext4, kapan XFS
  9. Bagaimana dengan Btrfs atau ZFS?
  10. Pertanyaan yang sering diajukan

Filesystem adalah cara sistem operasi menata data di atas disk: di mana file disimpan, bagaimana nama dan izinnya dicatat, dan bagaimana data dipulihkan setelah server mati mendadak. Di dunia server Linux, dua pilihan yang paling sering muncul adalah ext4 dan XFS.

Untuk kebanyakan VPS, keduanya sama-sama aman dan cepat. Salah pilih jarang membuat server rusak, tapi bisa merepotkan di kemudian hari. Contoh paling umum: kamu ingin mengecilkan sebuah partisi XFS dan baru sadar itu tidak mungkin dilakukan tanpa memindahkan data dan memformat ulang.

Apa yang membuat ext4 dan XFS berbeda?

Asal-usul dan bawaan distro

ext4 adalah penerus ext3 dan menjadi filesystem bawaan installer Ubuntu dan Debian. XFS awalnya dikembangkan oleh SGI untuk sistem dengan data besar, lalu masuk ke kernel Linux, dan menjadi bawaan Red Hat Enterprise Linux sejak versi 7 beserta turunannya seperti AlmaLinux dan Rocky Linux.

Artinya, kalau kamu memasang AlmaLinux dengan pengaturan default, kemungkinan besar root filesystem-mu XFS. Di Ubuntu, kemungkinan besar ext4. Cek dengan df -T atau lsblk -f.

Memperbesar dan mengecilkan

Ini perbedaan paling praktis. Keduanya bisa diperbesar saat sedang di-mount (online). ext4 memakai resize2fs, XFS memakai xfs_growfs yang diarahkan ke titik mount.

Untuk mengecilkan, ext4 bisa melakukannya dengan resize2fs asalkan filesystem tidak sedang di-mount. XFS sama sekali tidak mendukung pengecilan. Satu-satunya jalan adalah membuat filesystem baru yang lebih kecil, menyalin data, lalu berpindah. Kalau kamu sering membagi ulang ruang disk dengan LVM, hal ini patut dipertimbangkan.

Inode

ext4 menentukan jumlah inode (slot untuk mencatat file) saat format. Kalau server menyimpan jutaan file kecil, inode bisa habis lebih dulu daripada ruang disk, kasus yang dibahas di inode penuh padahal disk lega. XFS mengalokasikan inode secara dinamis sesuai kebutuhan, sehingga masalah ini jauh lebih jarang muncul.

Perbaikan setelah crash

Keduanya memakai journal, jadi setelah listrik mati mendadak, metadata biasanya pulih sendiri saat mount. Bila perlu perbaikan manual, ext4 memakai e2fsck (atau fsck.ext4), sedangkan XFS memakai xfs_repair. Perintah fsck.xfs hanya ada demi kompatibilitas dan tidak melakukan perbaikan. Keduanya harus dijalankan saat filesystem tidak di-mount.

Pola beban kerja

XFS membagi disk menjadi beberapa allocation group yang bisa diakses secara paralel, sehingga cocok untuk file besar dan banyak proses yang menulis bersamaan, misalnya penyimpanan media, log bervolume tinggi, atau server database berukuran besar. ext4 matang dan serba bisa, kuat untuk beban campuran yang umum di VPS: web server, aplikasi, dan database kecil sampai menengah.

Perbedaan kecepatan di beban kerja sehari-hari biasanya kecil dan sangat bergantung pada disk, kernel, dan konfigurasi. Kalau kecepatan benar-benar penting, uji dengan beban kerjamu sendiri, jangan berpatokan pada angka benchmark orang lain.

Tabel perbandingan ext4 dan XFS

Aspekext4XFS
Bawaan distroUbuntu, DebianRHEL, AlmaLinux, Rocky Linux
Memperbesar onlineYa, resize2fsYa, xfs_growfs
MengecilkanYa, hanya saat tidak di-mountTidak bisa
Alokasi inodeTetap, ditentukan saat formatDinamis
Alat perbaikane2fsckxfs_repair
Reflink (cp --reflink)TidakYa, pada XFS yang diformat dengan fitur reflink
Kekuatan utamaFleksibel, serba bisaFile besar, I/O paralel

Kapan memilih ext4, kapan XFS

Pilih ext4 bila kamu memakai Ubuntu atau Debian dan tidak punya alasan khusus untuk berganti, bila ada kemungkinan partisi perlu dikecilkan suatu saat, atau bila server berukuran kecil sampai menengah dengan beban campuran. Mengikuti bawaan distro juga berarti dokumentasi dan alat bantunya paling banyak teruji.

Pilih XFS bila kamu memakai keluarga RHEL dan ingin tetap mengikuti bawaannya, bila volume data besar dan terus bertambah (yang hanya akan diperbesar, tidak dikecilkan), atau bila beban kerjanya banyak penulisan paralel dan file berukuran besar. XFS juga nyaman untuk volume yang menyimpan jutaan file karena inode tidak dipatok di awal.

Satu hal lagi yang sering terlewat adalah opsi saat format. Untuk ext4, kamu bisa menambah jumlah inode dengan opsi -i atau -N pada mkfs.ext4 bila sudah tahu volume itu akan menyimpan sangat banyak file kecil. Untuk XFS, nilai bawaan mkfs.xfs sudah menyesuaikan ukuran disk dan jarang perlu diubah. Apa pun pilihannya, setelan format sulit diubah belakangan, jadi pikirkan pola datanya sebelum mengetik perintah.

Untuk disk tambahan khusus data (misalnya /var/lib/mysql atau folder backup), kamu bebas memilih apa pun tanpa mengikuti root filesystem. Yang penting, pilihannya dicatat dan semua orang di tim tahu alat perbaikan mana yang dipakai.

Bagaimana dengan Btrfs atau ZFS?

Keduanya menawarkan snapshot, checksum data, dan kompresi bawaan. Fiturnya menarik, tapi pengelolaannya lebih kompleks dan dukungannya berbeda antar distro. Untuk VPS biasa, ext4 atau XFS tetap pilihan paling lurus. Snapshot tingkat server biasanya sudah disediakan penyedia VPS, seperti dibahas di bedanya snapshot VPS dan backup.

Kalau kamu berencana sering memperbesar disk, gabungkan pilihan filesystem dengan LVM. Langkahnya ada di cara memakai LVM untuk menambah disk.

Pertanyaan yang sering diajukan

Bagaimana cara mengetahui filesystem yang sedang dipakai server?

Jalankan df -T untuk melihat jenis filesystem setiap titik mount, atau lsblk -f untuk melihat semua disk dan partisi beserta filesystemnya.

Apakah XFS lebih cepat daripada ext4?

Tergantung beban kerja. XFS unggul di file besar dan banyak penulisan paralel, sedangkan untuk beban campuran di VPS kecil perbedaannya sering tidak terasa. Uji dengan aplikasimu sendiri.

Bisakah root filesystem XFS dikecilkan untuk memberi ruang partisi lain?

Tidak bisa. Kamu harus membuat volume baru, menyalin data, lalu mengatur ulang boot. Untuk root filesystem, ini pekerjaan berisiko yang sebaiknya dilakukan lewat instalasi ulang dengan backup lengkap.

Apakah ext4 aman untuk database?

Aman. ext4 dan XFS sama-sama dipakai luas untuk MySQL, MariaDB, dan PostgreSQL. Yang lebih berpengaruh biasanya jenis disk, ukuran RAM, dan setelan database itu sendiri.

Sumber & referensi

Baca juga