Bagaimana saya bisa membuka partisi ketika perangkat membaca sibuk (tetapi telah dikonfirmasi sebaliknya)?

11

Saya mencoba untuk menjalankan fsck -p /dev/sda5untuk memperbaiki kesalahan pada partisi ext4, namun perintah output

fsck from util-linux-ng 2.17.2
fsck.ext4: Device or resource busy while trying to open /dev/sda5
Filesystem mounted or opened exclusively by another program?

Saya telah mengkonfirmasi menggunakan /etc/mtabdan lsoftidak ada yang menggunakan partisi dan tidak terpasang. Saya juga terbiasa fuser -k /dev/sda5menutup paksa apa saja menggunakan file, dan umountuntuk mencoba unmount itu sia-sia.

Bagaimana saya bisa memaksa fsckuntuk setidaknya memeriksa, dan mudah-mudahan untuk memperbaiki, partisi terlepas dari fakta bahwa itu dibaca sebagai sibuk? Dengan asumsi saya cukup percaya diri bahwa itu tidak dipasang atau digunakan, dan bahwa kemungkinan korupsi data tidak menjadi masalah.

Semua perintah dieksekusi sebagai root dari liveCD Ubuntu 10,04 32-bit. Partisi adalah bagian sistem (non-rumah) dari instalasi Ubuntu 10,04 32-bit.

Keeblebrox
sumber
Saya telah menemukan metode untuk menyelesaikan masalah yang lebih besar terkait dengan pertanyaan ini, tetapi saya masih mencari jawaban tentang bagaimana memaksa fsckjika menurutnya perangkat sibuk (atau mengapa tidak bisa dilakukan).
Keeblebrox
Saya mengalami masalah yang sama pada sistem RHEL5.8. / tmp telah di-unmount, / etc / mtab dan / proc / mounts tidak menunjukkan jejak sistem file. Saya bahkan me-reboot mesin, memastikan saya satu-satunya yang masuk. lsof tidak menunjukkan file yang digunakan di / tmp. Prosedur yang sama berfungsi dengan baik pada 4 server serupa yang diinstal menggunakan profil kickstart yang sama. Perbedaan antara server tersebut dan yang ini adalah bahwa ini memiliki penyimpanan SAN yang melekat padanya. Bisakah daemon multipath menyebabkan ini?
Bram
Itu tidak membantu dalam kasus saya tetapi Red Hat KB ( access.redhat.com/knowledge/solutions/54184 ) merekomendasikan menambahkan opsi kernel nodmraid sebagai solusi untuk masalah ini.
Bram

Jawaban:

4

Ada beberapa hal (biasanya di kernel, seperti utas NFS, swap file, bind mounts, dll.) Yang dapat membuat sistem file sibuk dan tidak akan muncul fuser.

Jika Anda mencoba fscksistem file yang dipasang, itu akan rusak. Anda harus menemukan CD langsung yang tidak secara otomatis me-mount sistem file Anda, seperti Knoppix atau Fedora.

Steven Pritchard
sumber
Semuanya telah dijalankan dari live disk sejauh ini. Saya mencoba fscksistem file lokal, jadi saya harap NFS tidak membuatnya sibuk - namun, saya mengerti apa yang Anda katakan tentang kernel yang membuatnya sibuk dengan cara yang tidak selalu muncul. Karena ini masih terjadi di lingkungan live disk, apakah Anda tahu cara untuk menghentikan kernel mengaksesnya cukup lama untuk saya jalankan fsck?
Keeblebrox
Astaga. Digunakan dari live disk? Saya hanya dapat memikirkan dua hal: 1) Coba live disk yang berbeda (Fedora, bukan Ubuntu, misalnya). 2) Periksa / etc / fstab pada sistem nyata. Mungkin ada file swap atau bind mount yang diaktifkan secara otomatis? Tidak harus dalam urutan itu, saya dapat menambahkan ...
Steven Pritchard
Oke, entah bagaimana saya benar-benar melewatkan pertanyaan terakhir. Saya telah memperbarui jawaban saya dengan tepat.
Steven Pritchard
+1 karena penyebutan swap yang dipasang secara otomatis menyebabkan terobosan yang tidak terkait dan respons Anda telah membantu menyelesaikan masalah yang lebih besar. Saya masih ingin menemukan cara untuk memaksa fsckketika saya tahu bahwa perangkat tidak sibuk atau dipasang, dan ketika korupsi data tidak menjadi masalah.
Keeblebrox
Mungkin mdadm telah mendeteksi tanda tangan serangan di partisi dan terikat padanya? Periksa / proc / mdstat.
psusi
4

Anda dapat menghapus partisi dari fstabdan me-reboot mesin

ManOfLinux
sumber
2

Cobalah mem-boot liveCD lain - Saya merekomendasikan SystemRescueCD yang dirancang khusus untuk menyelesaikan masalah dengan instalasi linux. Ini juga lebih kecil dari liveCD OS biasa. Dan untuk berada di sisi aman, jalankan fsckdari konsol (no X).

Jika standar fsck -ptidak berfungsi, Anda juga dapat mencoba e2fsck -y -f.

rozcietrzewiacz
sumber
Menurut halaman manual , e2fsck -y -fmemaksa pemeriksaan pada partisi bersih. Itu tidak menyebutkan apa-apa tentang partisi yang dipasang. Apakah Anda tahu apakah itu akan memaksa cek juga?
Keeblebrox
Mungkin tidak, tetapi Anda harus menghindari sistem file yang terpasang fsck (lihat paragraf di bagian atas e2fsckhalaman manual). Pikiran lain: jika /etc/mtabtampaknya menunjukkan partisi tidak dipasang, tetapi Anda masih mendapatkan kesalahan, Anda juga harus memeriksa /proc/mounts, karena mtabfile mungkin sudah ketinggalan zaman karena beberapa alasan aneh.
rozcietrzewiacz