GNU/Linux >> Belajar Linux >  >> Linux

Jenis Sistem File Linux Dijelaskan, Yang Mana Yang Harus Anda Gunakan

Linux mendukung berbagai sistem file seperti ext4, ZFS, XFS, Btrfs, Reiser4, dan sebagainya. Jenis sistem file yang berbeda memecahkan masalah yang berbeda, dan penggunaannya khusus untuk aplikasi.

Memilih sistem file Linux untuk aplikasi Anda adalah keputusan penting. Tutorial ini menjelaskan beberapa sistem file Linux utama dan memberikan rekomendasi tentang sistem file yang tepat agar sesuai dengan aplikasi Anda.

Apa itu Sistem File Linux

Hampir setiap bit data dan pemrograman yang diperlukan untuk mem-boot sistem Linux dan membuatnya tetap berfungsi disimpan dalam sistem file. Misalnya, sistem operasi itu sendiri, kompiler, program aplikasi, pustaka bersama, file konfigurasi, file log, titik pemasangan media, dll.

Sistem file beroperasi di latar belakang. Seperti kernel sistem operasi lainnya, sebagian besar tidak terlihat dalam penggunaan sehari-hari.

Sistem file Linux umumnya merupakan lapisan built-in dari sistem operasi Linux yang digunakan untuk menangani manajemen penyimpanan data. Ini mengontrol cara data disimpan dan diambil.

Selain itu, ia mengelola nama file, ukuran file, tanggal pembuatan, dan banyak lagi informasi tentang file.

Sistem File Ext4

Pada tahun 1992 Extended File System atau ext diluncurkan khusus untuk sistem operasi Linux. Ini berakar pada sistem Operasi Minix. Pada tahun 1993 pembaruan yang disebut Extended File System 2 atau ext2 dirilis dan merupakan sistem file default di banyak distro Linux selama bertahun-tahun.

Pada tahun 2001 ext2 ditingkatkan ke ext3, yang memperkenalkan penjurnalan untuk melindungi dari korupsi saat crash atau mati listrik.

Ext4 (Fourth Extended Filesystem) diperkenalkan pada tahun 2008, dan telah menjadi filesystem default Linux sejak tahun 2010. Ext4 dirancang sebagai revisi progresif dari sistem file ext3 dan mengatasi beberapa keterbatasan di ext3.

Hasilnya, ext4 memiliki keunggulan signifikan dibandingkan pendahulunya, seperti peningkatan desain, performa, keandalan, dan fitur baru yang lebih baik.

Saat ini ext4 adalah sistem file default pada sebagian besar distribusi Linux. Ini dapat mendukung file besar dan sistem file hingga 16 terabyte.

Ini juga mendukung jumlah sub-direktori yang tidak terbatas (sistem file ext3 hanya mendukung hingga 32.000). Selanjutnya, ext4 kompatibel dengan ext3 dan ext2, memungkinkan versi lama ini dipasang dengan driver ext4.

Ada alasan mengapa ext4 adalah pilihan default untuk sebagian besar distribusi Linux. Sudah dicoba, diuji, stabil, berkinerja sangat baik, dan didukung secara luas. Jadi, jika Anda mencari stabilitas, ext4 adalah sistem file Linux terbaik untuk Anda.

Terlepas dari fitur-fiturnya, ext4 tidak mendukung kompresi transparan, enkripsi transparan, atau deduplikasi data.

Sistem File XFS

XFS adalah sistem file yang sangat skalabel yang dikembangkan oleh Silicon Graphics dan pertama kali diterapkan di sistem operasi IRIX berbasis Unix pada tahun 1994. Ini adalah sistem file penjurnalan dan, dengan demikian, melacak perubahan dalam log sebelum melakukan perubahan ke file utama. sistem file.

Keuntungannya adalah konsistensi sistem file yang terjamin dan pemulihan yang dipercepat jika terjadi kegagalan daya atau sistem mogok.

Awalnya, XFS dibuat untuk mendukung sistem file yang sangat besar dengan ukuran hingga 16 exabytes dan ukuran file hingga 8 exabytes. Akibatnya, ia memiliki sejarah panjang berjalan di server besar dan susunan penyimpanan.

Salah satu fitur penting dari XFS adalah Guaranteed Rate IO. Ini memungkinkan aplikasi untuk memesan bandwidth. Sistem file menghitung kinerja yang tersedia dan menyesuaikan operasinya sesuai dengan reservasi yang ada.

XFS memiliki reputasi untuk beroperasi di lingkungan yang memerlukan kinerja dan skalabilitas tinggi, dan karenanya secara rutin diukur sebagai salah satu sistem file berperforma tertinggi pada sistem besar dengan beban kerja perusahaan.

Saat ini XFS didukung oleh sebagian besar distribusi Linux dan telah menjadi sistem file default di Red Hat Enterprise Linux, Oracle Linux, CentOS, dan banyak distribusi lainnya.

Kasus Penggunaan Terbaik untuk Sistem File XFS

Jadi, apakah Anda memiliki server yang besar? Apakah Anda memiliki persyaratan penyimpanan yang besar atau memiliki drive SATA lokal yang lambat?

Jika server dan perangkat penyimpanan Anda berukuran besar, dan tidak perlu mengurangi ukuran sistem file, XFS kemungkinan akan menjadi pilihan terbaik.

XFS adalah sistem file yang luar biasa, yang dapat diskalakan dengan baik untuk server besar. Tetapi bahkan dengan susunan penyimpanan yang lebih kecil, XFS berkinerja sangat baik ketika ukuran file rata-rata besar, misalnya berukuran ratusan megabita.

Sistem Berkas Btrfs

Btrfs adalah sistem file Linux tujuan umum generasi berikutnya yang menawarkan fitur unik seperti manajemen perangkat terintegrasi yang canggih, skalabilitas, dan keandalan. Ini dilisensikan di bawah GPL dan terbuka untuk kontribusi dari siapa pun. Nama yang berbeda digunakan untuk sistem file, termasuk “Butter FS,” “B-tree FS,” dan “Better FS.”

Pengembangan Btrfs dimulai di Oracle pada tahun 2007. Itu digabungkan ke dalam kernel Linux arus utama pada tahun 2009 dan memulai debutnya di rilis Linux 2.6.29.

Btrfs bukan penerus sistem file ext4 default yang digunakan di sebagian besar distribusi Linux, tetapi menawarkan skalabilitas dan keandalan yang lebih baik. Sebaliknya, Btrfs adalah sistem file copy-on-write (CoW) yang ditujukan untuk mengatasi berbagai kelemahan dalam sistem file Linux saat ini.

Btrfs terutama berfokus pada toleransi kesalahan, sifat penyembuhan diri, dan administrasi yang mudah.

Btrfs dapat mendukung hingga 16 partisi exbibyte dan file dengan ukuran yang sama. Jadi, jika Anda bingung dengan angka-angkanya, yang perlu Anda ketahui adalah bahwa Btrfs dapat mendukung hingga enam belas kali lipat data Ext4.

Bagaimana Cara Kerja Copy-on-Write dan Mengapa Anda Menginginkannya

Pada sistem file tradisional, memodifikasi file akan membaca data, mengubahnya dan kemudian menulisnya kembali ke tempat yang sama. Dalam sistem file copy-on-write, ia membaca data, memodifikasinya, dan menulisnya ke lokasi baru. Ini mencegah kehilangan data selama transaksi baca-ubah-tulis karena data selalu ada di disk.

Karena Anda tidak "menunjuk ulang" sampai blok baru sepenuhnya ditulis, jika Anda kehilangan daya atau crash di tengah-tengah penulisan, Anda akan mendapatkan blok lama atau blok baru, tetapi tidak setengah tulisan yang rusak. memblokir. Jadi Anda tidak perlu fsck sistem file saat startup, dan Anda menurunkan risiko kerusakan data.

Anda dapat memotret sistem file kapan saja, membuat entri snapshot dalam metadata dengan kumpulan pointer saat ini.

Ini melindungi blok lama agar tidak menjadi sampah yang dikumpulkan nanti dan memungkinkan sistem file menampilkan volume seperti saat snapshot. Dengan kata lain, Anda memiliki kemampuan rollback instan. Anda bahkan dapat mengkloning volume tersebut untuk menjadikannya volume yang dapat ditulis berdasarkan snapshot.

Pilihan Anda yang lain adalah ZFS di Linux, yang mungkin lebih stabil, tetapi memerlukan beberapa langkah lagi untuk menginstal pada distribusi Linux biasa.

Fitur Btrfs

  • Salin saat Tulis (CoW) dan pengambilan gambar – Buat pencadangan tambahan tanpa rasa sakit bahkan dari sistem file "panas" atau mesin virtual (VM).
  • Checksum tingkat file – Metadata untuk setiap file menyertakan checksum yang digunakan untuk mendeteksi dan memperbaiki kesalahan.
  • Kompresi – File dapat dikompresi dan didekompresi dengan cepat, yang mempercepat kinerja membaca.
  • Defragmentasi otomatis – Sebuah utas latar belakang menyetel sistem file saat sedang digunakan.
  • Subvolume – Sistem file dapat berbagi satu kumpulan ruang alih-alih dimasukkan ke dalam partisinya.
  • RAID – Btrfs melakukan implementasi RAID-nya, sehingga LVM atau mdadm tidak perlu memiliki RAID. Saat ini, RAID 0, 1, dan 10 didukung. RAID 5 dan 6 dianggap tidak stabil.
  • Partisi bersifat opsional – Meskipun Btrfs dapat bekerja dengan partisi, Btrfs berpotensi menggunakan perangkat mentah (/dev/) secara langsung.
  • Deduplikasi data – Dukungan deduplikasi data terbatas; namun, deduplikasi pada akhirnya akan menjadi fitur standar di Btrfs. Ini memungkinkan Btrfs menghemat ruang dengan membandingkan file melalui diff biner.

Btrfs adalah sistem file yang tidak memerlukan administrasi setelah diimplementasikan. Oleh karena itu, Anda tidak perlu menjalankan fsck perintah di atasnya. Setiap kali ada kesalahan atau inkonsistensi muncul, itu hanya harus menangani mereka dan berada di jalan.

Meskipun benar bahwa Btrfs masih dianggap eksperimental dan saat ini sedang dalam pengembangan aktif, waktu ketika Btrfs akan menjadi sistem file default untuk sistem Linux semakin dekat. Beberapa distribusi Linux telah mulai beralih ke distribusi tersebut dengan rilis mereka saat ini.

Jika Anda tidak takut berurusan dengan ekosistem yang kurang matang, Btrfs mungkin merupakan pilihan yang lebih baik untuk Anda.

Sistem File ZFS

ZFS (Zettabyte File System) tetap menjadi salah satu filesystem yang paling canggih secara teknis dan fitur lengkap sejak muncul pada Oktober 2005. Ini adalah filesystem lokal (yaitu, ext4) dan manajer volume logis (yaitu, LVM) yang dibuat oleh Sun Microsystems.

ZFS diterbitkan di bawah lisensi sumber terbuka sampai Oracle membeli Sun Microsystems dan menutup lisensinya.

Anda dapat menganggap ZFS sebagai pengelola volume dan larik RAID dalam satu , yang memungkinkan disk tambahan ditambahkan ke volume ZFS Anda, yang memungkinkan ruang tambahan ditambahkan ke sistem file Anda. Selain itu, ZFS hadir dengan beberapa fitur lain yang tidak dimiliki RAID tradisional.

ZFS sangat bergantung pada memori, jadi Anda memerlukan setidaknya 8GB untuk memulai. Dalam praktiknya, gunakan sebanyak mungkin perangkat keras/anggaran Anda.

ZFS biasanya digunakan oleh penimbun data, pengguna NAS, dan geek lain yang lebih memilih untuk menaruh kepercayaan mereka pada sistem penyimpanan redundan mereka sendiri daripada cloud. Ini adalah sistem file yang fantastis untuk mengelola banyak disk data dan menyaingi beberapa penyiapan RAID yang luar biasa.

ZFS mirip dengan pendekatan manajemen penyimpanan lainnya, tetapi sangat berbeda dalam beberapa hal. Misalnya, ZFS biasanya tidak menggunakan Linux Logical Volume Manager (LVM) atau partisi disk, dan biasanya lebih mudah untuk menghapus partisi dan struktur LVM sebelum menyiapkan media untuk zpool.

Zpool adalah analog dari LVM. Sebuah zpool mencakup satu atau lebih perangkat penyimpanan, dan anggota zpool mungkin dari berbagai jenis. Elemen penyimpanan dasar adalah perangkat tunggal, cermin, dan raidz. Semua elemen penyimpanan ini disebut vdevs.

ZFS dapat menegakkan integritas penyimpanan jauh lebih baik daripada pengontrol RAID mana pun, karena ZFS memiliki pengetahuan mendalam tentang struktur sistem file. Akibatnya, keamanan data merupakan fitur desain penting dari ZFS. Semua blok yang ditulis dalam zpool diperiksa secara agresif untuk memastikan konsistensi dan kebenaran data.

Untuk penggunaan server di mana Anda ingin menghilangkan hampir semua kemungkinan kehilangan data dan stabilitas adalah nama permainannya, Anda mungkin ingin melihat ke ZFS.

Fitur ZFS

Skalabilitas tanpa akhir . Yah, ini bukan secara teknis tidak ada habisnya, tetapi ini adalah sistem file 128-bit yang mampu mengelola zettabytes (satu miliar terabyte) data. Oleh karena itu, tidak peduli berapa banyak ruang hard drive yang Anda miliki, ZFS akan cocok untuk mengelolanya.

Integritas maksimum . Semua yang Anda lakukan di dalam ZFS menggunakan checksum untuk memastikan integritas file. Akibatnya, Anda dapat yakin bahwa file Anda dan salinannya yang berlebihan tidak akan mengalami kerusakan data diam-diam. Selain itu, saat ZFS sibuk memeriksa integritas data Anda secara diam-diam, ZFS akan melakukan perbaikan otomatis kapan saja.

Pengumpulan Drive . Pembuat ZFS ingin Anda menganggapnya mirip dengan cara komputer Anda menggunakan RAM. Saat Anda membutuhkan lebih banyak memori di komputer Anda, Anda memasukkan stik lain, dan selesai.

Demikian pula, dengan ZFS, ketika Anda membutuhkan lebih banyak ruang hard drive, Anda memasukkan hard drive lain, dan selesai. Tidak perlu menghabiskan waktu untuk mempartisi, memformat, menginisialisasi, atau melakukan hal lain pada disk Anda. Saat Anda membutuhkan “kumpulan” penyimpanan yang lebih besar, cukup tambahkan disk.

RAID . ZFS mampu melakukan banyak level RAID yang berbeda sambil memberikan kinerja yang sebanding dengan pengontrol RAID perangkat keras. Hal ini memungkinkan Anda menghemat uang, mempermudah penyiapan, dan mengakses tingkat RAID superior yang telah ditingkatkan ZFS.

Sistem File Reiser4

ReiserFS adalah sistem file komputer jurnal tujuan umum yang awalnya dirancang dan diimplementasikan oleh tim di Namesys yang dipimpin oleh Hans Reiser. Diperkenalkan pada kernel Linux versi 2.4.1, ini adalah sistem file penjurnalan pertama yang disertakan dalam kernel standar.

Dengan pengecualian pembaruan keamanan dan perbaikan bug kritis, Namesys telah menghentikan pengembangan di ReiserFS. Reiser4 adalah sistem file penerus untuk ReiserFS. Itu telah menambahkan enkripsi, peningkatan kinerja, dan banyak lagi.

Reiser4 membutuhkan kernel yang ditambal. Sayangnya, ini masih belum termasuk dalam kernel Linux resmi, tetapi patch untuk Linux-5.x sudah tersedia. Alasan Reiser4 tidak ada di kernel Linux saat ini dapat diringkas sebagai klaim bahwa pengujian lebih lanjut diperlukan.

Reiser4 menyediakan penggunaan ruang disk paling efisien di antara semua sistem file di semua skenario dan beban kerja. ReiserFS menawarkan keunggulan dibandingkan sistem file lain, terutama saat menangani sejumlah besar file kecil.

Ini mendukung penjurnalan untuk pemulihan cepat jika terjadi masalah. Struktur sistem file didasarkan pada pohon. Selain itu, Reiser4 menggunakan sedikit lebih banyak CPU daripada sistem file lainnya.

Reiser4 memiliki kemampuan unik untuk mengoptimalkan ruang disk yang ditempati oleh file kecil (kurang dari satu blok). Ini karena mereka disimpan seluruhnya di inode mereka, tanpa mengalokasikan blok di area data.

Selain menerapkan fungsi sistem file Linux tradisional, Reiser4 memberi pengguna beberapa fitur tambahan:kompresi transparan dan enkripsi file, penjurnalan data lengkap, dan ekstensibilitas yang hampir tidak terbatas (dengan bantuan arsitektur plug-in).

Namun, tidak ada dukungan untuk IO langsung (pekerjaan telah dimulai pada implementasi), kuota, dan POSIX ACL.

Kesimpulan

Memilih sistem file yang memenuhi kebutuhan aplikasi spesifik Anda memerlukan konsultasi dan penelitian berbagai parameter.

Artikel ini menguraikan manfaat dari opsi sistem file ext4, ZFS, XFS, Btrfs, dan Reiser4 untuk membantu Anda menentukan sistem file yang tepat untuk lingkungan aplikasi Anda.

Terima kasih telah menghabiskan waktu Anda di sini.


Linux
  1. Solusi pencadangan open source mana yang Anda gunakan?

  2. Perintah terminal Linux mana yang paling sering Anda gunakan?

  3. Kode Visual Studio atau Atom? Editor Kode Mana yang Harus Anda Gunakan?

  1. Tiga Perintah Linux yang Seharusnya Tidak Anda Gunakan

  2. Sistem file mana yang digunakan di antara OSX dan Linux

  3. Mengapa seseorang harus menggunakan sudo?

  1. 7 Alasan Mengapa Saya Menggunakan Manjaro Linux Dan Anda Juga Harus

  2. Berapa Banyak Swap yang Harus Anda Gunakan di Linux?

  3. Untuk beban kerja apa Anda pertama kali menggunakan container Linux?