RANGKUMAN MODUL 8 ADINUSA
Radnext Digital Indonesia
RANGKUMAN MODUL 8 ADINUSA
Filesystem Basics
Program aplikasi membaca dan menulis berkas, alih-alih menangani lokasi fisik pada perangkat keras tempat berkas disimpan. Sistem berkas membuat format yang dapat digunakan pada partisi fisik.
File dan namanya merupakan abstraksi yang menyamarkan lapisan I/O fisik. Menulis langsung ke disk dari baris perintah (mengabaikan lapisan sistem berkas) sangat berbahaya dan biasanya hanya dilakukan oleh perangkat lunak sistem operasi tingkat rendah dan bukan oleh aplikasi pengguna. Pengecualiannya adalah beberapa perangkat lunak tingkat tinggi seperti basis data perusahaan yang melakukan akses cmd untuk melewati latensi terkait sistem berkas.
Sistem berkas mirip UNIX menggunakan hierarki pohon:
- Direktori berisi file dan/atau direktori lainnya
- Setiap jalur atau simpul berada di bawah direktori root.
Beberapa sistem berkas dapat (dan biasanya) digabungkan menjadi satu struktur pohon tunggal. Linux menggunakan lapisan sistem berkas virtual (VFS) untuk berkomunikasi dengan perangkat lunak sistem berkas.
Sistem berkas lokal umumnya berada dalam partisi disk yang dapat berupa partisi fisik pada disk, atau partisi logis yang dikontrol oleh Logical Volume Manager (LVM). Sistem berkas juga dapat bersifat jaringan dan perwujudan fisiknya yang sebenarnya sepenuhnya tersembunyi dari sistem lokal melalui jaringan.
Inode
Node adalah struktur data pada disk yang menjelaskan dan menyimpan atribut file, termasuk lokasinya. Setiap file yang terdapat dalam sistem file Linux dikaitkan dengan inode-nya sendiri. Semua data tentang file terdapat dalam inode-nya. Inode digunakan oleh sistem operasi untuk melacak properti seperti nama, lokasi, atribut file (izin, kepemilikan, dll.), waktu akses, dan item lainnya. Karena itu, semua aktivitas I/O yang berkaitan dengan file biasanya juga melibatkan inode file.
Inode mendeskripsikan dan menyimpan informasi tentang suatu berkas termasuk:
- Izin
- Kepemilikan pengguna dan grup
- Ukuran
- Stempel waktu (nanodetik)
- Waktu akses terakhir
- Waktu modifikasi terakhir
- Ubah waktu.
Hard and Soft Links
File direktori adalah jenis file tertentu yang digunakan untuk mengaitkan nama file dan inode. Ada dua cara untuk mengaitkan (atau menautkan) nama file dengan inode:
- Tautan keras mengarah ke inode. Semua berkas yang ditautkan keras harus berada di sistem berkas yang sama. Mengubah konten berkas yang ditautkan keras di satu tempat mungkin tidak mengubahnya di tempat lain.
- Tautan lunak (atau simbolik) menunjuk ke nama berkas yang memiliki inode terkait. Berkas yang ditautkan lunak mungkin berada di sistem berkas yang berbeda. Jika target belum ada atau belum di-mount, target tersebut dapat menggantung.
Setiap asosiasi konten file direktori dan inode dikenal sebagai tautan. Tautan tambahan dapat dibuat menggunakan ln .
Karena memungkinkan (dan cukup umum) bagi dua atau lebih entri direktori untuk menunjuk ke inode yang sama (tautan keras), sebuah berkas dapat dikenal dengan beberapa nama, yang masing-masing memiliki tempatnya sendiri dalam struktur direktori. Namun, berkas hanya dapat memiliki satu inode, tidak peduli nama mana yang digunakan.
Ketika suatu proses merujuk ke nama jalur, kernel mencari direktori untuk menemukan nomor inode yang sesuai. Setelah nama diubah menjadi nomor inode, inode dimuat ke dalam memori dan digunakan oleh permintaan berikutnya.
Filesystem Varieties
Linux mendukung banyak jenis sistem berkas, sebagian besar dengan akses baca dan tulis penuh, termasuk:
- ext4: Sistem berkas asli Linux (dan ext2 dan ext3 sebelumnya)
- XFS: Sistem berkas berkinerja tinggi yang awalnya dibuat oleh SGI
- JFS: Sistem berkas berkinerja tinggi yang awalnya dibuat oleh IBM
- Asli Windows: FAT12, FAT16, FAT32, VFAT, NTFS
- Sistem berkas semu yang hanya ada di memori, termasuk proc, sysfs, devfs, debugfs - Sistem berkas jaringan seperti NFS, coda, afs, dsb
Journaling Filesystems
Sistem berkas penjurnalan pulih dari kerusakan sistem atau penghentian yang tidak wajar dengan sedikit atau tanpa kerusakan, dan melakukannya dengan sangat cepat. Meskipun ini mengorbankan beberapa operasi tambahan yang harus dilakukan, penyempurnaan tambahan dapat lebih dari sekadar mengimbangi biaya tersebut.
Dalam sistem berkas penjurnalan, operasi dikelompokkan ke dalam transaksi. Transaksi harus diselesaikan tanpa kesalahan, secara atomik; jika tidak, sistem berkas tidak akan berubah. Berkas log transaksi disimpan. Ketika terjadi kesalahan, biasanya hanya transaksi terakhir yang perlu diperiksa.
Journaling Filesystems
- ext3: ext3 merupakan perluasan dari sistem berkas ext2 non-journaling sebelumnya.
- ext4: ext4 merupakan pengembangan yang sangat canggih dari ext3. Fitur-fiturnya meliputi ekstensi, nomor blok 48-bit, dan ukuran hingga 16TB. Sebagian besar distribusi Linux telah menggunakan ext4 sebagai sistem berkas default selama beberapa tahun.
- reiserfs: reiserfs adalah implementasi penjurnalan pertama yang digunakan di Linux, tetapi kehilangan kepemimpinannya dan pengembangan lebih lanjut ditinggalkan.
- JFS: JFS aslinya merupakan produk IBM dan diambil dari sistem operasi AIX milik IBM.
- XFS: XFS awalnya merupakan produk SGI, dan di-porting dari sistem operasi IRIX SGI. RHEL 7 mengadopsi XFS sebagai sistem berkas default-nya.
- btrfs: btrfs adalah sistem berkas penjurnalan terbaru dan masih dalam tahap pengembangan yang pesat. Sistem ini merupakan sistem bawaan untuk sistem SUSE dan openSUSE.
Special Filesystems
Linux secara luas menggunakan sistem berkas khusus untuk tugas-tugas tertentu. Sistem berkas ini khususnya berguna untuk mengakses berbagai struktur data kernel dan mengatur perilaku kernel, atau untuk mengimplementasikan fungsi-fungsi tertentu.
Perhatikan bahwa beberapa sistem berkas khusus ini memiliki titik pemasangan, seperti proc at /procatau sys at /sysdan yang lainnya tidak. Contoh sistem berkas khusus yang tidak memiliki titik pemasangan termasuk sockfs atau pipefs ; ini berarti aplikasi pengguna tidak berinteraksi dengannya, tetapi kernel menggunakannya, memanfaatkan lapisan dan kode VFS. Sistem berkas khusus ini sebenarnya bukan sistem berkas yang sebenarnya; mereka adalah fasilitas atau subsistem kernel yang menganggap abstraksi struktural sistem berkas sebagai cara yang berguna untuk mengenali data dan fungsionalitas.
Ext4 Superblock and Block Groups
- Dukungan Ukuran: Volume hingga 1 EB dan ukuran berkas hingga 16 TB. Menggunakan ekstensi untuk menggantikan pemetaan blok lama.
- Kompatibilitas dan Alokasi: Kompatibel dengan ext3 dan ext2. Dapat mengalokasikan ruang disk terlebih dahulu, menjamin ruang yang bersebelahan. Teknik "allocate-on-flush" menunda alokasi blok hingga data ditulis ke disk.
- Fitur Tambahan: Menggunakan checksum untuk jurnal, meningkatkan keandalan dan kinerja. Stempel waktu ditingkatkan hingga nanodetik.
- Superblok dan Grup Blok: Superblok berisi informasi penting tentang sistem berkas dan terletak di blok 0 pada disk. Sistem berkas dibagi menjadi grup blok, dengan pengalokasi blok yang menjaga agar blok berkas berada dalam grup yang sama untuk efisiensi.
- Tata Letak Sistem Berkas: Grup blok standar dimulai dengan Superblok, diikuti oleh Deskriptor Grup, bitmap blok data, bitmap inode, tabel inode, dan blok data. Salinan duplikat Superblok ada di setiap grup blok untuk menjaga integritas sistem berkas.
XFS
XFS adalah sistem berkas yang dikembangkan oleh Silicon Graphics Inc. (SGI) dan awalnya digunakan dalam sistem operasi IRIX, sebelum kemudian diadopsi ke Linux. Dirancang untuk menangani kumpulan data besar dan operasi I/O paralel secara efektif, XFS mampu mengelola hingga 16 EB (exabyte) untuk total sistem berkas dan 8 EB untuk satu file.
XFS memiliki kinerja tinggi dengan dukungan I/O DMA, penyesuaian kecepatan I/O, dan kemampuan menyesuaikan ukuran stripe untuk RAID atau LVM. Fitur unik XFS termasuk pencatatan kuota yang mengurangi waktu pemulihan setelah shutdown tidak bersih dan kemampuan untuk mencatat pada perangkat eksternal.
Penyelenggaraan XFS relatif mudah, karena sebagian besar tugas pemeliharaan, seperti defragmentasi, perubahan ukuran (hanya memperbesar), dan pemulihan, dapat dilakukan secara daring tanpa harus melepaskan sistem berkas. Pencadangan dan pemulihan cepat dapat dilakukan menggunakan utilitas xfsdump dan xfsrestore, yang mendukung multi-threading.
XFS mendukung atribut yang diperluas (xattrs) dan kuota per direktori melalui perintah xfs_quota. Meskipun tidak mendukung snapshot secara langsung, XFS dapat bekerja dengan alat snapshot melalui utilitas xfs_freeze, yang sering digunakan dalam kombinasi dengan LVM di Linux.
Komentar
Posting Komentar