VIII. FileSystem and Disk Administration
5. Checking filesystem integrity
Trong quá trình hoạt động hệ thống không tránh khỏi diễn ra trạng thái một ai đó đột ngột ngắt điện máy tính, hệ thống cấp điện cho máy bị mất, một ai đó nhấn nút reset .... các hiện tợng này sẽ dẫn đến hiện tợng thông tin trên hệ thống vẫn còn tồn tại mà cha đợc ghi ra đĩa. Khi xảy ra các lỗi này thì ta cần phải thực hiện việc kiểm tra tính toàn vẹn của hệ thống điều này là cần thiết nếu nh cấu trúc hệ thống là không còn đúng. Để thực hiện việc kiểm tra và sửa chữa các lỗi này dùng lệnh fsck. Lệnh fsck thự hiện theo nhiều giai đoạn. Mỗi giai đoạn thực hiện một nhiệm vụ riêng và các giai đoạn sau đều dựa vào kết quả thực hiện ở giai đoạn trớc đó.
fsck thực hiện duyệt bắt đầu từ superblock liên quan đến các vùng disk blocks, pathnames, directory connectivity, link reference counts, và vùng trống của blocks và inodes.
Các giai doạn kiểm tra của lệnh fsck:
Phase 1: Kiểm tra Block và Size giai đoạn này kiểm tra danh sách inode, tìm các inode bị vô hiệu. Lỗi này đợc thông báo nh sau:
UNKNOWN FILE TYPE I=inode number (CLEAR)
PARTIALLY TRUNCATED INODE I=inode number (SALVAGE) block BAD I=inode number
block DUP I=inode number
Phase 2: Kiểm tra đờng dẫn, giai đoạn này xoá bỏ các th mục từ các bad inodes đợc tìm thấy ở giai đoạn 1 và tiến hành kiểm tra th mục với các con trỏ inode mà bị vợt quá phạm vi hoặc con trỏ trỏ tới bad inode. Lỗi này đợc thông báo nh sau:
ROOT INODE NOT DIRECTORY (FIX?)
I=OUT OF RANGE I=inode number NAME=file name (REMOVE?)
UNALLOCATED I=inode number OWNER=O MODE=M SIZE=S MTIME=T TYPE=F
(REMOVE?)
BAD/DUP I=inode number OWNER=O MODE=M SIZE=S MTIME=T TYPE=F (REMOVE?)
Phase 3: Kiểm tra kết nối, giai đoạn này phát hiện lỗi ở các th mục không tham chiếu, bằng cách tạo th mục lost+found nếu cần và chuyển các phần không đúng vào th mục lost+found.
Phase 4: Kiểm tra đếm tham chiếu, giai đoạn này sử dụng thông tin trong giai đoạn 2 và 3 để kiểm tra các file không tham chiếu và đếm liên kết không đúng trên các file, directory, hoặc file đặc biệt. Thông báo nh sau:
UNREF FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T (RECONNECT?)
LINK COUNT FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T COUNT=X
(ADJUST?)
LINK COUNT DIR I=inode number OWNER=O MODE=M SIZE=S MTIME=T COUNT=X
(ADJUST?)
BAD/DUP FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T (CLEAR)
Phase 5: Kiểm tra Cylinder Groups, giai đoạn này kiểm tra các block tự do block và các inode cha sử dụng. Nó sẽ tự động sửa đổi lại danh sách các inode tự do cho đúng nếu cần thiết, tuy nhiên có các yêu cầu đòi ngời quản trị phải trả lời.
What Do I Do After fsck Finishes?
Lệnh fsck: