Điều gì sẽ xảy ra nếu một ổ cứng bị lỗi trong khi nhân Linux đang chạy?


7

Tôi luôn tò mò về những gì sẽ xảy ra nếu một ổ cứng bị lỗi trong khi nhân Linux đang chạy. Vì hình ảnh hạt nhân được tải hoàn toàn vào RAM, tôi không tưởng tượng được sẽ có bất kỳ lỗi kernel nào. Rõ ràng là bất kỳ phần mềm nào cố gắng truy cập vào đĩa sẽ thất bại.

Có bất kỳ cơ hội nào mà hệ thống sẽ tiếp tục chạy vô thời hạn không? Nếu không, điều gì sẽ khiến nó hoảng loạn (hoặc ít nhất là không thể hoạt động)?

Vui lòng xem xét từng trường hợp sau:

  • Hạt nhân có thể hoặc không kích hoạt tính năng hoán đổi.
  • Không có nỗ lực để tải các mô-đun hạt nhân được thực hiện sau khi thất bại.
  • Liệu nó có tạo ra sự khác biệt nếu một số phần nhất định của hệ thống tập tin nằm trên các đĩa khác nhau không?

Câu trả lời:


13

Lỗi phần cứng luôn có một số rủi ro làm hỏng Kernel vì các đường dẫn mã đó thường có ít kiểm tra hơn, nhưng thông thường, một ổ cứng bị lỗi không nên làm hỏng Kernel. Chính xác những gì xảy ra phụ thuộc vào bản chất của sự thất bại. Có lẽ chỉ một số lĩnh vực nhất định hiện không thể đọc được các phần của phân vùng / home không thể đọc được, hệ thống sẽ vẫn có thể chạy được để một sysadmin phân tích vấn đề. Nếu hệ thống tập tin gốc trở nên không sử dụng được, hệ thống sẽ chết rất nhiều bất kể sự cố Kernel vì ngay cả một vỏ đơn giản cũng không khả dụng. Nếu phân vùng trao đổi trở nên không khả dụng, các chương trình đang sử dụng trao đổi sẽ phân đoạn lỗi khi đến lúc đọc trong bất kỳ dữ liệu bị tráo đổi nào. Nếu ổ cứng bị hỏng chỉ đơn giản là lưu trữ thêm, nó có thể có ít ảnh hưởng bên cạnh một số hệ thống tập tin trở nên không thể đọc được.

Nó cũng có thể phụ thuộc vào loại lỗi mà ổ cứng đang ném. Tôi đã thấy một ổ đĩa biến mất một cách hiệu quả và bên cạnh các hệ thống tập tin biến mất, mọi thứ đều chạy ổn. Tôi cũng đã thấy một ổ cứng liên tục treo hệ thống và ném lỗi sau một thời gian dài khiến toàn bộ hiệu năng hệ thống bị suy giảm. Nếu sử dụng một lớp như MD chạy RAID1 / 4/5, một lỗi nghiêm trọng thường sẽ khiến Kernel đánh dấu đĩa là không thành công và nó sẽ bỏ qua việc dựa vào các ổ đĩa còn lại để giữ cho hệ thống chạy.


1
cũng giống như một lưu ý khác ... các tệp bị thiếu sẽ không nhất thiết ngăn các ứng dụng hiện có chạy. Vì vậy, nếu hệ thống tập tin gốc của bạn biến mất và bạn có một vỏ mở ... thì chính vỏ đó sẽ có sẵn, mặc dù coreutils sẽ không có.
xenoterracide

2
Trên thực tế, ngay cả một ứng dụng đang chạy có thể bị sập. Khi một tệp thực thi được tải, hình ảnh của nó chỉ được ánh xạ vào bộ nhớ ảo. Nếu thực thi chương trình nhảy vào mã trên một trang chưa được phân trang, hãy đập.
JeremyP

Tôi nhớ một 'Câu chuyện kinh dị Unix' nơi ai đó đăng nhập bằng root đã thực thi rm -rf / và xóa hầu hết mọi thứ trên ổ đĩa. Những điều kỳ lạ đã xảy ra nhưng họ đã có thể tạo ra một sửa chữa trên hệ thống vẫn đang hoạt động nhưng bị tê liệt này. Đây là một bài đọc thú vị: macnugget.org/fram/unix-horror-story.txt
Andrew Lambert

3

Trên PowerEdge 2500 của tôi, khi tôi nhận nó lần đầu tiên, phần sụn của bộ điều khiển PERC (RAID phần cứng) không phải là phiên bản mới nhất. Ảnh hưởng của việc này là đĩa gốc sẽ đột nhiên biến mất và không thể truy cập được nữa (rất giống với nếu đó là ổ đĩa di động và nó đột nhiên bị ngắt kết nối).

Tôi không thể tải bất kỳ chương trình mới, chương trình nào được tải tiếp tục chạy, nhưng có lỗi nếu chúng cố ghi vào đĩa. Vẫn có bashlời nhắc tôi đã đăng nhập, mạng tiếp tục hoạt động. Thật đáng ngạc nhiên không phải là thảm khốc như tôi mong đợi.

Tôi nghĩ rằng đây là một lỗi "sạch", bởi vì bất kỳ trình điều khiển nào chịu trách nhiệm đọc / ghi vào PERC dường như đang từ chối mọi thứ ngay lập tức với một lỗi (quên chính xác nhưng đó là lỗi cảm giác SCSI). Sẽ tệ hơn nhiều nếu ổ đĩa không phản hồi, phản hồi chậm hoặc ghi có vẻ hoạt động tốt nhưng thực sự không.


0

Tôi thực sự đã có một ổ đĩa bị lỗi trên một hệ thống đang chạy, mặc dù không có X. Không có thông tin đăng nhập là có thể bởi vì getty không có sẵn. Tôi đã thử tách ra khỏi một ứng dụng đang chạy, nhưng không có vỏ nào có sẵn và ứng dụng sau đó không thể sử dụng được. Đó là khi tin nhắn Aiieeee thu hút sự chú ý của tôi và kể câu chuyện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.