Btrfs

Pengenalan kepada Btrfs Filesystem

Pengenalan kepada Btrfs Filesystem
Btrfs (B-Tree Filesystem) adalah sistem fail copy-on-write (CoW) moden untuk Linux. Btrfs bertujuan untuk menerapkan banyak ciri sistem fail canggih sambil memfokus pada toleransi kesalahan, pembaikan, dan pentadbiran yang mudah. Sistem fail btrfs dirancang untuk menyokong keperluan pelayan dengan prestasi tinggi dan storan yang besar. Ia sesuai untuk pusat data berskala petabyte dan juga telefon bimbit.Dalam artikel ini, saya akan membincangkan sistem fail Btrfs dan ciri-cirinya. Oleh itu, mari kita mulakan.

Salin pada Tulis - Sistem Fail CoW:

Btrfs adalah sistem fail copy-on-write (CoW). Dalam sistem fail CoW, ketika anda mencoba mengubah data pada sistem fail, sistem fail menyalin data, mengubah data, dan kemudian menulis data yang diubah kembali ke lokasi bebas yang lain dari sistem fail.

Kelebihan utama sistem fail Copy-on-Write (CoW) adalah sejauh mana data yang ingin diubah disalin ke lokasi yang berbeza, diubah suai, dan disimpan dalam tahap yang lain dari sistem fail. Tahap data asal tidak diubah. Jadi, sistem fail btrfs dapat menghilangkan risiko kerosakan data atau kemas kini separa sekiranya berlaku kegagalan kuasa semasa pengubahsuaian data kerana data asalnya tidak berubah.

Kelemahan utama sistem fail Copy-on-Write (CoW) adalah bahawa fail besar cenderung terpecah-pecah kerana ia diubah suai. Jadi, defragmentasi diperlukan sekali sekala. Nasib baik, sistem fail btrfs menyokong defragmentasi dalam talian. Jadi, anda tidak perlu melepaskan sistem fail untuk mendefragmentasi sistem fail btrfs.

Ciri-ciri Utama Btrfs Filesystem:

Ciri utama sistem fail Btrfs adalah:

i) Penyimpanan fail berdasarkan luaran: Dalam sistem fail berdasarkan tahap, unit penyimpanan disebut sejauh. Sejauh ini adalah kawasan penyimpanan yang berdekatan yang dikhaskan untuk fail. Satu fail memerlukan satu tahap, tidak kira seberapa kecil failnya. Untuk fail yang lebih besar (ukuran fail lebih besar daripada ukuran sejauh), diperlukan beberapa lanjutan. Untuk fail yang lebih besar, metadata akan digunakan untuk memantau luaran yang digunakan oleh fail. Dalam sistem fail Btrfs, ukuran metadata jauh lebih kecil. Metadata yang lebih kecil meningkatkan kecekapan penyimpanan dan prestasi sistem fail.

ii) Sokongan saiz fail yang besar: Dalam sistem fail Btrfs, satu fail boleh menjadi kira-kira 264 bait atau saiz 16 EiB (exbibytes). Tidak kira seberapa besar fail anda, Btrfs dapat menyokongnya.

iii) Pembungkusan fail kecil yang efisien ruang: Biasanya, tidak kira sekecil mana failnya, ia memerlukan satu blok atau satu tahap untuk menyimpan fail tersebut. Ini membuang banyak ruang cakera. Untuk menyelesaikan masalah ini, sistem fail Btrfs menyematkan fail yang lebih kecil dalam metadata untuk menyimpan fail yang lebih kecil dengan cekap.

iv) Direktori terindeks yang cekap ruang: Direktori sistem fail btrfs diindeks dalam dua cara yang berbeza. Untuk carian nama fail, pengindeksan berasaskan kunci digunakan. Untuk merujuk data, pengindeksan kunci berasaskan inode digunakan. Pengindeksan dua peringkat meningkatkan prestasi pencarian direktori / fail dan mengurangkan keperluan penyimpanan untuk indeks.

v) Peruntukan inode dinamik: Anda memerlukan 1 inode untuk merujuk 1 fail. Banyak sistem fail (i.e., Ext4) mempunyai bilangan inod yang tetap. Oleh itu, jika anda membuat terlalu banyak fail kecil, anda mungkin mempunyai banyak ruang yang tersisa di cakera anda, tetapi anda tidak akan dapat membuat fail baru. Anda juga tidak dapat meningkatkan jumlah inode maksimum setelah sistem fail dibuat.

Btrfs menyelesaikan masalah ini dengan memperuntukkan inod secara dinamik seperti yang diperlukan. Jadi, anda boleh membuat seberapa banyak fail yang anda mahukan selagi anda mempunyai ruang cakera percuma.

vi) Gambar yang boleh ditulis dan gambar hanya baca: Sistem fail Btrfs menyokong snapshot. Anda boleh mengambil gambar sistem fail semasa, yang boleh anda gunakan untuk memulihkan data anda jika anda telah membuang beberapa fail secara tidak sengaja atau merosakkan beberapa data.

Secara lalai, gambar btrfs hanya boleh dibaca. Sebaik sahaja anda mengambil snapshot hanya baca, anda tidak boleh menukar fail / direktori apa pun dalam snapshot tersebut. Walau apa pun, jika anda ingin menukar fail / direktori apa pun setelah anda mengambil snapshot dari sistem fail Btrfs yang ada, anda boleh mengubah snapshot hanya baca menjadi snapshot yang boleh ditulis dan mengubah fail / direktori apa pun dalam snapshot tersebut.

vii) Subvolume: Sistem fail Btrfs boleh mempunyai banyak subvolume. Subvolume adalah pokok binari bernama (B-tree) (atau akar sistem fail dalaman / logik) dari pokok akar sistem fail yang ada (utama) dari sistem fail btrfs. Subvolume bukanlah alat bloknya sendiri. Tetapi, anda boleh memasang subvolume Btrfs secara individu. Anda boleh menganggap subvolume sebagai ruang nama.

viii) Sokongan kuota sedar subvolume: Anda juga boleh memperuntukkan kuota untuk subvolume. Setelah kuota terlampaui, anda tidak akan dapat menambahkan data baru ke subvolume. Anda tidak memerlukan program berasingan untuk membuat kuota subvolume Btrfs.

ix) Checksum data dan metadata: Untuk mengelakkan kerosakan data, Btrfs menggunakan algoritma checksum crc32c untuk data dan metadata sistem fail secara lalai. Checksum disimpan di sistem fail untuk secara automatik memeriksa kesilapan sistem fail dan kerosakan data di latar belakang.

Btrfs mempunyai sokongan untuk banyak algoritma checksum lain: xxhash, sha256, dan blake2b.

x) Pemampatan: Sistem fail Btrfs menyokong pemampatan fail yang telus. Pemampatan dan penyahmampatan fail dalam sistem fail btrfs dilakukan di latar belakang secara automatik.

Btrfs menyokong 3 algoritma pemampatan: ZLIB, LZO, dan ZSTD.

ZLIB adalah kaedah pemampatan lalai dari sistem fail btrfs.

xi) Sokongan berbilang peranti bersepadu: Sistem fail Btrfs mempunyai sokongan pengurus kelantangan logik (LVM) terbina dalam. Anda boleh menambahkan beberapa peranti storan dalam satu sistem fail btrfs. Anda juga boleh mengkonfigurasi susunan RAID pada sistem fail btrfs tanpa memerlukan perisian tambahan.

Sistem fail Btrfs menyokong pelucutan data, pencerminan data, pelapisan data + pencerminan, dan implementasi pariti tunggal dan dua.

Pelucutan data: Sekiranya anda telah menambahkan beberapa peranti storan dalam sistem fail btrfs yang sama, btrf dapat menyimpan fail yang sama pada peranti / partisi fizikal yang berbeza. Ini dipanggil pelucutan data. Jalur data meningkatkan prestasi membaca / menulis sistem fail. RAID-0 menggunakan ciri pelucutan data secara meluas.

Pencerminan data: Sekiranya anda telah menambahkan beberapa peranti storan dalam sistem fail btrfs yang sama, semua data yang ditulis ke satu peranti storan akan ditulis ke semua peranti storan yang lain. Ini dipanggil pencerminan data. RAID-1 menggunakan ciri pencerminan data secara meluas.

Pelupusan data + pariti tunggal: RAID-5 menggunakan pelupusan data dan pariti yang diedarkan tunggal. Sekiranya anda telah menambahkan beberapa peranti storan dalam sistem fail btrfs, maka RAID-5 akan melucutkan data pada beberapa peranti storan dan mengira dan menyimpan blok pariti di seluruh peranti storan. RAID-5 dapat mengekalkan kegagalan pemacu tunggal.

Jalur data + pariti berganda: RAID-6 menggunakan pelupusan data dan pariti yang diedarkan berganda. Sekiranya anda telah menambahkan beberapa peranti storan dalam sistem fail btrfs, maka RAID-6 akan melucutkan data pada beberapa peranti storan dan mengira dan menyimpan blok parity berganda di seluruh peranti storan. RAID-6 dapat mengekalkan dua kegagalan pemacu. Selain daripada itu, ia sama dengan RAID-5 (pelucutan data + pariti tunggal).

Pelucutan data + pencerminan: RAID-10 menggunakan pelupusan data dan pencerminan data pada masa yang sama. RAID-10 memerlukan sebilangan besar peranti storan dengan saiz yang sama untuk ditambahkan ke sistem fail btrfs tunggal. Bilangan minimum peranti storan yang boleh anda tambahkan pada sistem fail RAID-10 btrfs adalah 4. Separuh peranti simpanan akan digunakan untuk pelucutan data, dan separuh lagi digunakan untuk mencerminkan data separuh pertama peranti storan (di mana data dilucutkan).

xii) Kesedaran dan pengoptimuman SSD: Sistem fail btrfs menyedari SSD dan mempunyai beberapa ciri pengoptimuman SSD. Sistem fail btrfs juga mempunyai sokongan TRIM / Buang untuk peranti storan SSD.

Ciri TRIM dapat mengesan dan menandakan luasan data yang tidak lagi digunakan. Setelah pemanjangan ditandai, sistem fail btrfs dapat menghapusnya secara automatik sehingga fail lain dapat menggunakan data ini.

Ciri Buang akan membuang semua data SSD. Sekiranya anda ingin menjual SSD anda, ciri ini mungkin berguna.

xiii) Cadangan kenaikan yang cekap: Btrfs menyokong cadangan tambahan. Kali pertama anda membuat sandaran sistem fail btrfs, ia memerlukan gambaran ringkas dari sistem fail semasa. Kemudian, sebarang cadangan seterusnya akan dibandingkan dengan snapshot pertama, dan hanya perubahan yang akan disimpan pada cakera. Jadi, sebarang cadangan seterusnya akan memakan ruang cakera lebih sedikit, dan sandaran akan lebih cepat.

xiv) Scrub latar belakang: Ini adalah proses sistem fail Btrfs yang digunakan untuk mencari dan memperbaiki kesalahan pada fail yang mempunyai salinan berlebihan (beberapa salinan) yang tersimpan dalam sistem fail Btrfs.

xv) Defragmentasi sistem fail dalam talian: Saya telah menerangkan sebelumnya bagaimana sistem fail Btrfs Copy-on-Write berfungsi. Fail yang lebih besar disimpan dalam beberapa bahagian sistem fail Btrfs. Semasa anda mengubahsuai fail besar, luaran yang akan diubah suai disalin ke ekstensi bebas dari sistem fail dan diubah suai di sana. Oleh itu, data yang tidak diubah suai juga disimpan sekiranya diperlukan untuk pemulihan sistem fail. Ini menyebabkan pemecahan (data yang terdapat dalam fail besar tidak akan berterusan dan akan tersebar di seluruh peranti storan) pada sistem fail kerana fail besar diubah. Terlalu banyak fragmentasi memberi kesan negatif kepada sistem fail (menjadikan operasi membaca / menulis sistem fail lebih perlahan).

Untuk menyelesaikan masalah ini, sistem fail btrfs menyokong defragmentasi sistem fail dalam talian. Dengan defragmentasi dalam talian, anda tidak perlu melepaskan sistem fail untuk menyusun semula sistem fail. Anda boleh memastikan sistem fail tetap berjalan dan tetap mendefragmentasinya. Defragmentasi akan memindahkan luaran fail di sekitar sistem fail untuk mengekalkan lanjutan fail besar yang sama berterusan. Defragmentasi meningkatkan prestasi sistem fail.

xvi) Pemeriksaan sistem fail luar talian: Sistem fail Btrfs mempunyai banyak alat bawaan yang dapat anda gunakan untuk memeriksa kesalahan sistem fail dan memperbaikinya. Anda juga boleh memperbaiki sistem fail Btrfs yang rosak (yang tidak dapat dipasang) dengan alat ini.

xvii) Penukaran di tempat sistem fail Ext2 / 3/4 dan ReiserFS yang ada: Sistem fail Btrfs mempunyai utiliti btrfs-convert bawaan, yang dapat Anda gunakan untuk menukar sistem fail Ext2 / 3/4 dan ReiserFS yang ada ke sistem fail Btrfs.

Program penukaran sistem fail Btrfs membaca metadata sistem fail Ext2 / 3/4 (atau ReiserFS) yang ada, membuat metadata Btrfs, dan menyimpannya di sistem fail. Sistem fail menyimpan metadata Btrfs dan Ext2 / 3/4 (atau ReiserFS). Sistem fail Btrfs menunjukkan blok fail yang sama yang digunakan oleh fail sistem fail Ext2 / 3/4 (atau ReiserFS). Sistem fail dan blok data yang ada tidak tersentuh kerana Btrfs adalah sistem fail Copy-on-Write (CoW). Apabila fail diubah suai, sistem fail Btrfs menyalin blok data asal ke lanjutan percuma baru dan mengubahnya di sana.

xviii) Peranti benih: Sistem fail Btrfs menyokong peranti benih. Anda boleh membuat sistem fail baca sahaja dan menggunakannya sebagai templat (peranti benih) untuk membuat sistem fail Btrfs lain. Manfaat melakukannya adalah bahawa hanya data yang diubah akan ditulis ke sistem fail baru. Data asal (pada peranti benih) akan disimpan sebagaimana adanya. Fungsi ini boleh digunakan untuk menjimatkan banyak ruang cakera dan kelebihan data.

xix) Hantar / terima perubahan subvolume: Sistem fail btrfs dapat menghantar / menerima perubahan subvolume. Sistem fail Btrfs dapat mengirim perubahan tambahan subvolume ke sistem fail Btrfs lain (juga dapat berada di komputer lain) yang dapat menerima perubahan subvolume. Fungsi ini digunakan untuk mengambil sandaran tambahan dari sistem fail Btrfs sama ada secara tempatan atau dari jauh. Kaedah ini lebih pantas dan cekap daripada rsync.

xx) Dupuplikasi kumpulan / luar band: Sistem fail Btrfs menyokong deduplikasi kumpulan atau di luar jalur. Penduaan berlaku setelah fail ditulis ke sistem fail. Sistem fail Btrfs secara aktif mengimbas seluruh sistem fail untuk jangka masa yang sama dan hanya menyimpan satu salinan setiap tahap (membuang luaran berlebihan / pendua). Prinsip copy-on-write (CoW) yang sama digunakan untuk tugas ini. Deduplikasi menjimatkan banyak ruang cakera.

xxi) Sokongan swapfile: Sekiranya anda menggunakan Linux Kernel 5.0 atau lebih baru, anda boleh membuat swapfiles pada sistem fail Btrfs.

Terdapat beberapa batasan Swapfile dalam sistem fail Btrfs:

- Swapfile mesti diperuntukkan sebagai NoCoW (bukan copy-on-write)

- Swapfile tidak boleh mengaktifkan pemampatan.

Kestabilan Sistem Filem Btrfs:

Sistem fail Btrfs dikembangkan secara aktif oleh pasukan Btrfs. Sebilangan besar ciri sistem fail stabil pada masa penulisan ini. Sebilangan ciri canggih belum cukup stabil untuk persekitaran pengeluaran. Pasukan Btrfs bekerja keras untuk menyelesaikan masalah kestabilan ini.

Sekiranya anda ingin menggunakan sistem fail Btrfs pada pelayan pengeluaran anda, periksa halaman rasmi Status - btrfs Wiki untuk mengetahui sama ada ciri sistem fail yang anda perlukan cukup stabil untuk anda atau tidak. Juga, pastikan untuk menjalankan beberapa ujian sebelum penyebaran terakhir sistem fail Btrfs anda, dan jangan lupa menyimpan sandaran data penting anda. Menjaga sandaran selalu penting untuk persekitaran pengeluaran.

Penggantian Masa Depan Sistem Filem Ext4:

Sistem fail Btrfs sedang dibangunkan dengan pantas. Pasukan pengembangan Btrfs juga mengambil berat tentang kestabilan sistem fail. Oleh itu, mereka mencuba yang terbaik untuk menjadikannya stabil seperti yang mungkin semasa mengembangkan sistem fail btrfs. Setelah sistem fail btrfs dikembangkan sepenuhnya, dan semua ciri cukup stabil, ia mungkin menggantikan sistem fail Ext4.

Rujukan:

[1] btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Main_Page
[2] BTRFS - Dokumentasi Pokok Kernel - https: // www.kernel.org / doc / html / terkini / sistem fail / btrfs.html
[3] BTRFS - Glosari - https: // btrfs.wiki.kernel.org / indeks.php / Glosari
[4] Ciri Sistem Filem "Btrfs" - https: // www.thegeekdiary.com / ciri-sistem-btrfs-sistem fail /
[5] Perbandingan Sistem Files - https: // en.wikipedia.org / wiki / Perbandingan_of_file_systems
[6] Reka bentuk Btrfs - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.reka bentuk php / Btrfs_
[7] mungkin kehabisan inode dapat dianggap "lebih serius"? - https: // lwn.bersih / Artikel / 724522 /
[8] Menjadikan gambar ringkas Btrfs yang dapat ditulis - https: // markandruth.rakan sekerja.uk / 2016/12/29 / membuat-a-btrfs-baca-hanya-gambar-boleh ditulis
[9] Pelucutan data - https: // en.wikipedia.org / wiki / Data_striping
[10] Soalan Lazim - btrfs wiki - https: // btrfs.wiki.kernel.org / indeks.php / Soalan Lazim
[11] Tahap RAID standard - https: // en.wikipedia.org / wiki / Standard_RAID_levels
[12] Trim (pengkomputeran) - https: // en.wikipedia.org / wiki / Trim_ (pengkomputeran)
[13] Pemacu keadaan pepejal - ArchWiki - https: // wiki.archlinux.org / indeks.php / Solid_state_drive # TRIM
[14] Btrfsck - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Btrfsck
[15] Penukaran dari Ext3 / 4 dan ReiserFS - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Penukaran_dari_Ext3
[16] Cadangan Tambahan - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Incremental_Backup
[17] Deduplikasi - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Deduplikasi
[18] Status - btrfs Wiki - https: // btrfs.wiki.kernel.org / indeks.php / Status

Cara menukar butang tetikus Kiri & Kanan pada PC Windows 10
Sudah menjadi kebiasaan bahawa semua peranti tetikus komputer dirancang secara ergonomik untuk pengguna tangan kanan. Tetapi ada peranti tetikus yang ...
Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...
Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...