Câu hỏi Buộc fsck.ext4 khởi động lại, nhưng thực sự "mạnh mẽ"


Một trong những máy chủ Ubuntu 10.04 của tôi đang gây rắc rối cho tôi. Khi tôi chạy fsck.ext4 -n /dev/sda5 nó cho tôi biết có lỗi trong số lượng inode miễn phí, số lượng khối miễn phí và hơn thế nữa.

Tôi đã thử:

touch /forcefsck

Cũng đã thử:

shutdown -rF now

và vẫn còn, sau khi khởi động lại, tôi thấy lỗi.

Tôi cũng chỉ cần kiểm tra trên netbook eeePC của tôi, Ubuntu 10,10, và có cùng một vấn đề!

Làm thế nào tôi có thể buộc một thực sự "buộc" "mạnh mẽ" "nghiêm túc sửa chữa hệ thống tập tin của tôi" fsck của "/" hệ thống tập tin khi khởi động lại?

Làm rõ: tôi chạy fsck.ext4 -n vì đó là hệ thống tệp được gắn kết, để kiểm tra xem có lỗi hay không. Điều này nói với tôi rằng có. Tôi nghĩ rằng fsck tự động mỗi 30 gắn kết trong quá trình khởi động là đúng để xử lý các lỗi trong hệ thống tập tin gốc. Nhưng nó không làm điều đó trong trường hợp của tôi. Tôi có thể khởi động lại bằng LiveCD và sửa lỗi, sau đó khởi động lại, nhưng đó là thời gian chết nghiêm trọng đối với máy chủ trực tiếp. Một khởi động lại, tự động fsck, sau đó tiếp tục khởi động là bền vững hơn nhiều trên một máy chủ sống, và tôi tin rằng nên là hành vi đúng.

Thông tin bổ sung: Đây là đầu ra. Nó trông giống như một cái gì đó mà autofsck sẽ sửa chữa, phải không?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks

18
2017-11-24 14:27


gốc


Phiên bản máy chủ Ubuntu bạn đang sử dụng là gì? - crncosta
10.04. Tôi sẽ chỉnh sửa câu hỏi của mình. - UrkoM
Tôi không nghĩ rằng bạn có thể thực sự làm điều đó, trên thực tế bạn có thể tốt hơn làm kiểm tra bằng tay. - RolandiXor♦
Xin lỗi nhưng tôi vẫn cần thêm thông tin. Bạn đang làm fsck trên hệ thống tập tin được gắn kết? bạn có thể khởi động từ đĩa LiveCD và kiểm tra lại (với / dev / sda5 unmounted) không? - crncosta
Không phải là nó có thể không phải là hệ thống tập tin nhưng ổ cứng bị hỏng? Trong trường hợp đó nó sẽ được dự kiến ​​rằng ext4 không sửa chữa lỗi cũng như nó sẽ có chỉ là một vài lĩnh vực xấu. - Stefano Palazzo♦


Các câu trả lời:


Từ trang người dùng e2fsck:

"Lưu ý rằng nói chung không an toàn khi chạy e2fsck trên các hệ thống tập tin được gắn. Ngoại lệ duy nhất là nếu tùy chọn -n được chỉ định, và các tùy chọn -c, -l, hoặc -L không được chỉ định. Tuy nhiên, ngay cả khi nó an toàn để làm như vậy, các kết quả được in bởi e2fsck không hợp lệ nếu hệ thống tập tin được gắn kết. Nếu e2fsck hỏi bạn có nên kiểm tra hệ thống tập tin được gắn hay không, câu trả lời đúng chỉ là '' không ''. họ đang làm nên cân nhắc trả lời câu hỏi này theo bất kỳ cách nào khác. "

Vì vậy, nếu bạn kiểm tra một FS được gắn kết với fsck, ngay cả khi sử dụng tùy chọn -n thì kết quả có thể không hợp lệ. Không kiểm tra hệ thống tập tin được gắn kết. Sử dụng Live-CD / Live-USB.

Nếu bạn không kiểm tra hệ thống tập tin trong khi nó được gắn kết, tôi không hiểu tại sao bạn cần phải sử dụng touch /forcefsck bạn chỉ có thể tháo gắn nó và sửa nó. Nhưng nếu đó là trường hợp và sau khi sửa chữa FS của bạn vẫn có lỗi thì bạn có thể xem xét sử dụng:

e2fsck -cy /dev/sda5

Điều đó sẽ khắc phục sự cố liên quan đến ổ đĩa cứng được gọi là các khối xấu mà bạn có thể có (quá trình này sẽ mất nhiều thời gian).

Nếu bạn muốn kiểm tra một hệ thống tập tin được gắn kết, tôi không biết làm thế nào để tiến hành nhưng tôi nghĩ bạn nên tạo một câu hỏi khác.


10
2017-11-24 21:27



Bạn đã đúng, hệ thống tập tin được gắn kết. Và tất nhiên tôi cần phải làm fsck khi unmounted. Nhưng tôi chạy fsck -n để kiểm tra trong khi gắn kết, mà không thực hiện thay đổi, và nó cho tôi biết có lỗi. Và không nên fsck trên khởi động lại sửa chữa chúng ??? - UrkoM
Tôi chỉ nhận thấy những gì bạn nói trong câu đầu tiên: tại sao fsck -n không hợp lệ trên một hệ thống tập tin được gắn kết? Làm thế nào tôi có thể kiểm tra xem một hệ thống tập tin được gắn kết có lỗi một cách đáng tin cậy? - UrkoM
Bạn có thể kiểm tra trang người dùng e2fsck có nội dung: "Lưu ý rằng nói chung không an toàn khi chạy e2fsck trên các hệ thống tệp được gắn. Ngoại lệ duy nhất là nếu tùy chọn -n được chỉ định và các tùy chọn -c, -l hoặc -L là Tuy nhiên, ngay cả khi nó là an toàn để làm như vậy, kết quả in bằng e2fsck là không hợp lệ nếu hệ thống tập tin được gắn kết. Nếu e2fsck hỏi có hay không bạn nên kiểm tra một hệ thống tập tin được gắn kết, câu trả lời đúng chỉ là '' Chỉ có các chuyên gia thực sự biết những gì họ đang làm nên xem xét trả lời câu hỏi này theo bất kỳ cách nào khác. " - Nyamiou The Galeanthrope
Tôi không biết làm thế nào để kiểm tra một hệ thống tập tin được gắn kết có lẽ bạn nên tạo một câu hỏi khác. - Nyamiou The Galeanthrope
Bạn có thể thêm hai bình luận cuối cùng này vào câu trả lời của bạn không? Sau đó, tôi sẽ chấp nhận nó. Tôi không biết điều đó, vì vậy đó là lý do tại sao ... Tôi nghĩ đó là bởi vì fsck -n không xử lý tạp chí, vì vậy trạng thái hệ thống tập tin không nhất quán mà không nhìn vào những thay đổi mới nhất được giữ ở đó. - UrkoM


Tôi biết đây là một chủ đề thực sự cũ, nhưng gần đây tôi đã phải giải quyết vấn đề này vì vậy tôi muốn đăng bài làm thế nào để buộc các hệ điều hành để sửa chữa các vấn đề tìm thấy với fsck trong quá trình khởi động (cho 12.04).

Bạn cần chạy lệnh sudo touch /forcefsck. Điều này sẽ làm cho nó thực hiện một fsck trên khởi động tiếp theo. Bạn có thể xem kết quả của fsck trong /var/log/boot.log.

Tuy nhiên, bạn không được bảo đảm rằng fsck sẽ sửa bất cứ thứ gì nó tìm thấy. Để làm điều này, bạn cần phải chỉnh sửa tập tin / etc / default / rcS. Có một dòng ở cuối tập tin đó:

FSCKFIX=no

Điều này cần phải được thay đổi như sau:

FSCKFIX=yes

Điều này sẽ có tác dụng tương tự như chạy fsck với tùy chọn -y sẽ buộc tất cả các bản sửa lỗi có thể được triển khai và nó sẽ không yêu cầu tương tác của người dùng.

Điều này sẽ cho phép bạn chạy fsck như OP đã yêu cầu mà không cần phải nghỉ mát để khởi động từ một đĩa sống mà không phải luôn luôn có thể đặc biệt là nếu bạn đang ở trên một hệ thống từ xa.


22
2017-11-12 14:50



Chỉnh sửa mục nhập này trên phiên bản Ubuntu EC2 của tôi cùng với sudo touch /forcefsck và sudo shutdown -r các lệnh đã giải quyết thành công các vấn đề về hệ thống tệp và cảnh báo kiểm tra khi đăng nhập. Dễ dàng và không gây rối - cổ vũ. - c.gutierrez
Cùng một câu hỏi đã được hỏi trên Server Fault, và câu trả lời này cũng là một trong những làm việc cho tôi, trên một hệ thống Ubuntu 14.04. Chỉ cần làm sudo touch /forcefsck và sau đó khởi động lại không; chỉnh sửa rcS là cần thiết. - Teemu Leisti


sudo touch /forcefsck
sudo reboot

Bạn đã có lỗi đánh máy / bạn đang chạm / forcefcsk. "C" và "s" được đổi chỗ. fsck là viết tắt của FileSystemChecK.


12
2018-05-31 15:09



Điều này sẽ không làm việc cho tôi bởi vì hệ thống tập tin gốc được gắn kết chỉ đọc do các lỗi tôi sửa chữa với fsck! Gà và vấn đề về trứng chỉ có thể được giải quyết thông qua liveCD hoặc kéo ổ đĩa vào một máy khác. - HDave


Bạn không thể buộc một fsck trên / mà sẽ sửa chữa vì phân vùng đang được sử dụng. Hãy thử chạy kiểm tra từ một phân vùng khác hoặc cd sống.


3
2017-11-24 19:33



Rất đúng, nhưng fsck tự động khi khởi động sẽ xảy ra trước khi phân vùng được sử dụng, chính xác để có thể sửa lỗi trên "/". Nếu không, điểm là gì? - UrkoM
Tôi tin rằng kiểm tra xảy ra trước khi sử dụng, tuy nhiên, nó là nhiều hơn một kiểm tra tư vấn. Bạn có thể quyết định cách sửa lỗi. Một kiểm tra dễ dàng là khi nhìn vào / etc / fstab. Các "/" được một kiểm tra khác nhau sau đó các phân vùng khác. - charlie-tca
Nó xảy ra trước khi root được xoay vòng? I E. Đĩa Ram đầu vào. - mckenzm


Bạn có thể thực hiện các sửa đổi tự động theo cách sau:

Tune2fs -c 5 -i 10 / dev / sda1

-c là số lượng gắn kết tối đa trước khi chạy fsck và -i là số ngày tối đa trước khi chạy fsck.

Trong trường hợp này sẽ được thực hiện cứ 5 lần hoặc 10 ngày một lần, tùy điều kiện nào đến trước.

Tôi có hai máy tính, một với Linux SuSE 13.2 và một với Linux Mint 18.0 và cả hai đều hoạt động hoàn hảo.


1
2018-01-01 00:00



Các biểu mẫu và nhận xét trong biểu mẫu tự động như sau: Tune2fs -c 5 -i 10 / dev / sda1 Trong đó: -c là số lượng gắn kết tối đa trước khi chạy fsck Trong đó: -i là số ngày tối đa trước khi chạy fsck Trong trường hợp này sẽ được thực hiện cứ 5 lần hoặc 10 ngày một lần, tùy điều kiện nào đến trước. Tôi có hai máy tính, một với Linux SuSE 13.2 và một với Linux MInt 18.0 và cả hai đều hoạt động hoàn hảo. - hk3jld
Các biểu mẫu và nhận xét trong biểu mẫu tự động như sau: Tune2fs -c 5 -i 10 / dev / sda1 Trong đó: -c là số lượng gắn kết tối đa trước khi chạy fsck Trong đó: -i là số ngày tối đa trước khi chạy fsck Trong trường hợp này sẽ được thực hiện cứ 5 lần hoặc 10 ngày một lần, tùy điều kiện nào đến trước. Tôi có hai máy tính, một với Linux SuSE 13.2 và một với Linux MInt 18.0 và cả hai đều hoạt động hoàn hảo. Tôi không biết tiếng Anh nhưng tôi sử dụng một dịch giả, tôi hy vọng đào tạo là tốt - hk3jld
Nó có hoạt động trên Ubuntu không? - George Udosen


touch /forcefsck một mình không đảm bảo hệ thống của tôi chạy fsck ở lần khởi động tiếp theo. Tôi cũng cần chạy:

sudo tune2fs -c 1 /dev/<my partition>

ví dụ.

sudo tune2fs -c 1 /dev/sda1

Giải thích thêm tôi tìm thấy là ở đây: Làm thế nào để Force fsck để kiểm tra hệ thống tập tin sau khi khởi động lại


0
2017-12-17 09:21