OpenZFS 2.1.14 dan OpenZFS 2.2.2 hadir untuk memecahkan masalah kerusakan data

OpenZFS

logo OpenZFS

Mereka baru saja diumumkan rilis versi korektif OpenZFS 2.1.14 dan 2.2.2, di mana tim pengembangan OpenZFS memecahkan masalah dalam kode periksa konsistensi cache yang menyebabkan kerusakan data pada file yang berisi area kosong saat disalin setelah melakukan perubahan.

Dan satu peluncuran saja tidak cukup, tapi Dua peluncuran baru harus dilakukan untuk memecahkan masalah yang sama. Pada bagiannya, OpenZFS 2.2.2 ditujukan untuk FreeBSD 14, serta beberapa distribusi Linux, termasuk Ubuntu 23.10, sedangkan versi OpenZFS berlaku untuk FreeBSD sejak versi 12.

Perlu disebutkan itu Rilis OpenZFS 2.2.0 mengungkap masalah bug korupsi dengan fitur kloning blok baru yang menggantikan data dengan angka nol tanpa peringatan, tanpa deteksi, tanpa indikasi apa pun yang salah hingga Anda mencoba membaca data tersebut.

Awalnya dia mengira OpenZFS 2.2.0 lah yang termasuk masalahnya, namun ternyata tidak demikian, sejak seperti yang disebutkan, rilis ini mengungkap kesalahan mendasar yang telah ada selama bertahun-tahun dan hanya membuat masalah yang ada menjadi lebih besar kemungkinannya.

Awalnya, mereka mencoba memperbaiki masalah ini di versi 2.2.1, namun perbaikannya tidak efektif. Bug tersebut tidak diketahui untuk waktu yang lama dan mulai muncul setelah perubahan dilakukan pada utilitas "cp" di paket coreutils 9.x. Masalah ini seharusnya tidak muncul di Red Hat Enterprise Linux dan distribusi yang didasarkan padanya, karena RHEL 9 menggunakan paket coreutils 8.x dengan logika berbeda untuk utilitas “cp”.

Masalah terjadi saat menggunakan utilitas penyalinan file yang dapat mengidentifikasi dan mengoptimalkan area kosong dalam file. Korupsi dapat terjadi pada sistem file yang dimuat saat menyalin file, jika operasi dilakukan segera setelah perubahan dan sebagian data hanya tersisa di cache kotor dan belum dipindahkan ke disk.

Untuk mengoptimalkan penanganan area kosong di file, OpenZFS, sejak versi 0.6.2, mendukung operasi SEEK_HOLE dan SEEK_DATA, yang memungkinkan area kosong suatu file dilewati saat dibaca dari disk. Area kosong dikenali dan informasi tentangnya disimpan hanya setelah semua sisa data yang terkait dengan file di cache telah dipindahkan ke disk. Untuk memulai flush, OpenZFS memiliki pemeriksaan yang mengevaluasi keberadaan data yang tidak di-cache dan memaksa flush ke disk yang diperlukan untuk menggunakan SEEK_HOLE dan SEEK_DATA.

Sayangnya, verifikasi tidak lengkap dan, Dalam beberapa keadaan, data tentang status reboot salah ditentukan dan informasi lama tentang konten file ada di disk jika permintaan terjadi dalam jangka waktu kecil di antara operasi pembersihan cache.

Operasi baca yang mengoptimalkan pemuatan area kosong pada saat ini dapat melewatkan pembacaan sebagian data, menganggapnya kosong, sedangkan program yang bekerja dengan file tersebut sebelumnya dapat membuat perubahan pada area kosong. Akibatnya, penggunaan utilitas "cp" dapat menghasilkan salinan yang berisi area kosong yang tidak ada di file aslinya.

Selama penyelidikan yang dilakukan, terungkap bahwa bug tersebut juga dikonfirmasi di Illumos, cabang open source dari OpenSolaris yang terus dikembangkan sejak Oracle menghentikan proyek open source tersebut pada tahun 2010.

Selain koreksi Kerusakan data, rilis versi Juga mencakup perbaikan bug dan peningkatan lainnya, di antaranya solusi ZFS menonjol sehingga snapshot (zfs/snapshot) terlihat di NFS di FreeBSD, masalah kompatibilitas dengan Linux 6.6 diatasi, dan kompilasi shell serta kesalahan startup di FreeBSD diperbaiki.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.