XFS

Memperbaiki Sistem XFS

Memperbaiki Sistem XFS
Sistem file dibangun di atas perangkat penyimpanan. Ada pengontrol RAID dan pengontrol disk yang masing-masing menjalankan firmware kecilnya sendiri. Ada cache untuk meningkatkan kinerja. Ada disk dengan ukuran sektor yang berbeda dan ada disk yang akan melaporkan ukuran sektor yang berbeda tergantung pada bagaimana Anda mengajukan pertanyaan.

Dengan begitu banyak bagian berbeda yang membentuk tumpukan penyimpanan biasa, adalah keajaiban bahwa semuanya berfungsi sama sekali. Namun, hal-hal bekerja dengan baik sebagian besar waktu. Beberapa kali ketika terjadi kesalahan, kami membutuhkan utilitas seperti xfs_repair untuk mengeluarkan kami dari kekacauan.

Ada yang bisa salah saat Anda menulis file dan listrik padam atau ada kernel panic. Bahkan data yang tidak aktif pada disk dapat membusuk seiring waktu karena struktur fisik elemen memori dapat berubah, ini dikenal sebagai bit rot. Dalam semua kasus, kita memerlukan mekanisme untuk:

  1. Memeriksa data yang sedang dibaca adalah data yang sama dengan yang terakhir ditulis. Ini diimplementasikan dengan memiliki checksum untuk setiap blok data dan membandingkan checksum untuk blok itu ketika data sedang dibaca. Jika checksum cocok, data belum diubah
  2. Cara untuk merekonstruksi data yang rusak atau hilang, baik dari blok cermin atau dari blok paritas.

Pengaturan kotak pasir Sand

Mari siapkan testbench untuk menjalankan rutinitas perbaikan xfs alih-alih menggunakan disk aktual dengan data berharga di dalamnya. Jika Anda sudah memiliki sistem file yang rusak, Anda dapat melewati bagian ini dan langsung menuju ke yang berikutnya. Testbench ini terdiri dari VM Ubuntu yang terhubung dengan disk virtual yang menyediakan penyimpanan mentah. Anda dapat menggunakan VirtualBox untuk membuat VM dan kemudian membuat disk tambahan untuk dilampirkan ke VM.

Cukup buka pengaturan VM Anda dan di bawah Pengaturan → Penyimpanan bagian Anda dapat menambahkan disk baru ke pengontrol SATA Anda dapat membuat disk baru. Seperti yang ditunjukkan di bawah ini, tetapi pastikan VM Anda dimatikan saat Anda melakukan ini.

Setelah disk baru dibuat, nyalakan VM dan buka terminal. Perintah lsblk daftar semua perangkat blok yang tersedia.

$ lsblk
sda      8:0    0   60G  0 disk
sda1   8:1    0    1M  0 bagian
sda2   8:2    0   60G  0 bagian /
sdb      8:16   0  100G  0 disk
sr0     11:0    1 1024M  0 rom

Terlepas dari perangkat blok utama sda, di mana OS diinstal, sekarang ada perangkat sdb baru. Mari kita cepat membuat partisi darinya dan memformatnya dengan sistem file XFS.

Buka utilitas parted sebagai pengguna root:

$ parted -a optimal /dev/sdb

Mari kita buat tabel partisi terlebih dahulu menggunakan mklabel, ini diikuti dengan membuat satu partisi dari seluruh disk (berukuran 107GB). Anda dapat memverifikasi bahwa partisi dibuat dengan mendaftarkannya menggunakan perintah print:

(berpisah) mklabel gpt
(berpisah) mkpart primer 0 107
(berpisah) cetak
(berpisah) berhenti

Oke, sekarang kita bisa melihat menggunakan lsblk bahwa ada perangkat blok baru di bawah perangkat sdb, yang disebut sdb1.

Mari format penyimpanan ini sebagai xfs dan pasang di direktori /mnt. Sekali lagi, lakukan tindakan berikut sebagai root:

$mkfs.xfs /dev/sdb1
$ mount /dev/sdb1 /mnt
$df -h

Perintah terakhir akan mencetak semua sistem file yang terpasang dan Anda dapat memeriksa apakah /dev/sdb1 sudah terpasang di /mnt.

Selanjutnya kita menulis banyak file sebagai data dummy untuk defragment di sini:

$ dd if=/dev/urandom of=/mnt/myfile.jumlah txt=1024 bs=1024

Perintah di atas akan menulis file myfile.txt berukuran 1MB. Jika mau, Anda dapat secara otomatis menghasilkan lebih banyak file seperti itu, menyebarkannya ke berbagai direktori di dalam sistem file xfs (dipasang di /mnt) dan kemudian memeriksa fragmentasi. Gunakan bash atau python atau bahasa skrip favorit Anda lainnya untuk ini.

Memeriksa dan Memperbaiki Kesalahan

Kerusakan data dapat secara diam-diam menyusup ke dalam disk Anda tanpa sepengetahuan Anda. Jika blok data tidak dibaca dan checksum tidak dibandingkan maka kesalahan mungkin muncul pada waktu yang salah. Saat seseorang mencoba mengakses data, secara real time. Sebagai gantinya, adalah ide yang baik untuk menjalankan pemindaian menyeluruh dari semua blok data untuk memeriksa pembusukan bit atau kesalahan lainnya secara berkala.

Utilitas xfs_scrub seharusnya melakukan tugas ini untuk Anda. Terinspirasi sebagian oleh perintah scrub OpenZFS, fitur eksperimental ini hanya tersedia di xfsprogs versi 4.15.1-1ubuntu1 yang bukan rilis stabil. Jika salah mendeteksi kesalahan, itu mungkin menyesatkan Anda untuk menyebabkan kerusakan data alih-alih memperbaikinya! Namun, jika Anda ingin bereksperimen dengannya, Anda dapat menggunakannya pada sistem file yang di-mount menggunakan perintah:

$xfs_scrub /dev/sdb1

Sebelum mencoba memperbaiki sistem file yang rusak, pertama-tama Anda harus meng-unmount-nya. Ini untuk menghentikan aplikasi agar tidak secara tidak sengaja menulis ke sistem file ketika seharusnya dibiarkan sendiri.

$ umount /dev/sdb1

Memperbaiki kesalahan semudah menjalankan:

$xfs_repair /dev/sdb1

Metadata penting selalu disimpan sebagai banyak salinan, bahkan jika Anda tidak menggunakan RAID dan jika ada yang tidak beres dengan superblok atau inode maka perintah ini dapat memperbaiki masalah itu untuk Anda.

Langkah selanjutnya

Jika Anda sering melihat kerusakan data (atau bahkan sekali, jika Anda menjalankan misi penting) pertimbangkan untuk mengganti disk Anda karena ini mungkin merupakan indikator awal disk yang akan mati.

Jika pengontrol gagal, atau kartu RAID tidak dapat digunakan lagi, maka tidak ada perangkat lunak di dunia yang dapat memperbaiki sistem file untuk Anda. Anda tidak menginginkan tagihan pemulihan data yang mahal dan Anda juga tidak menginginkan waktu henti yang lama, jadi awasi SSD dan piringan pemintalan tersebut!

Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...