Nếu bạn đang cố chạy xfs num ngoặc , nhận thông báo lỗi đề xuất gắn hệ thống tệp để phát lại nhật ký và sau khi cài đặt vẫn nhận được thông báo lỗi tương tự, bạn có thể cần thực hiện sửa chữa bắt buộc (sử dụng -L
cờ với xfs_repair
). Tùy chọn này nên là phương sách cuối cùng.
Ví dụ: tôi sẽ sử dụng trường hợp tôi có phân vùng gốc bị hỏng trong cài đặt CentOS 7. Khi cố gắn kết phân vùng, tôi liên tục nhận được thông báo lỗi dưới đây:
mount: mount / dev / mapper / centos-root on / mnt / centos-root fail: Cấu trúc cần làm sạch
Thật không may, buộc sửa chữa sẽ liên quan đến việc hủy bỏ (phá hủy) nhật ký trước khi thử sửa chữa. Khi sử dụng phương pháp này, có khả năng kết thúc với nhiều dữ liệu bị hỏng hơn dự đoán ban đầu; tuy nhiên, chúng ta có thể sử dụng các công cụ xfs thích hợp để xem loại thiệt hại nào có thể gây ra trước khi thực hiện bất kỳ thay đổi vĩnh viễn nào.
Sử dụng xfs_metadump và xfs_mdrestore , bạn có thể tạo hình ảnh siêu dữ liệu của phân vùng bị ảnh hưởng và thực hiện sửa chữa bắt buộc trên hình ảnh thay vì phân vùng. Lợi ích của việc này là khả năng nhìn thấy thiệt hại đi kèm với việc sửa chữa bắt buộc trước khi thực hiện nó trên phân vùng.
Để làm điều này, bạn sẽ cần một USB có kích thước khá hoặc ổ cứng ngoài. Bắt đầu bằng cách gắn ổ USB - USB của tôi được đặt tại /dev/sdb1
, ổ của bạn có thể được đặt tên khác.
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Sau khi được gắn kết, hãy chạy xfs_metadump
để tạo một bản sao của siêu dữ liệu phân vùng vào USB - một lần nữa, phân vùng bị ảnh hưởng của bạn có thể khác. Trong trường hợp này, tôi đã có một phân vùng gốc bị hỏng nằm ở /dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
Tiếp theo, bạn sẽ muốn khôi phục siêu dữ liệu vào hình ảnh để chúng tôi có thể thực hiện sửa chữa và đo lường thiệt hại.
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
Tôi thấy rằng trong chế độ cứu hộ xfs_mdrestore
là không có sẵn, và thay vào đó bạn sẽ cần ở chế độ cứu hộ của một đĩa CD CentOS trực tiếp.
Cuối cùng, chúng ta có thể thực hiện sửa chữa trên hình ảnh:
xfs_repair -L /mnt/usb/centos-root.img
Sau khi sửa chữa hoàn tất và bạn đã đánh giá đầu ra và thiệt hại tiềm tàng, bạn có thể xác định xem bạn có muốn thực hiện sửa chữa đối với phân vùng hay không.
Để chạy sửa chữa đối với phân vùng, chỉ cần chạy:
xfs_repair -L /dev/mapper/centos-root
Đừng quên kiểm tra các phân vùng khác cho tham nhũng là tốt. Sau khi sửa chữa, khởi động lại hệ thống và bạn sẽ có thể khởi động thành công.
Hãy nhớ rằng -L
cờ nên được sử dụng như là phương sách cuối cùng, nơi không có lựa chọn nào khác có thể sửa chữa.
Tôi thấy rằng những bài viết trực tuyến này đã giúp: