Cách kiểm tra tình trạng ổ đĩa trên Linux bằng smartctl
12 phút đọc - 18 tháng 5, 2026

Sử dụng smartctl và smartd để theo dõi tình trạng ổ đĩa, chạy các bài kiểm tra SMART và thiết lập cảnh báo tự động trên các máy chủ Linux. Thẻ: smartctl, smartmontools, SMART, tình trạng ổ đĩa, Linux, giám sát máy chủ, smartd, NVMe, SSD, HDD.
Cách kiểm tra tình trạng ổ đĩa trên Linux bằng smartctl
smartctl là một công cụ dòng lệnh để giám sát tình trạng ổ đĩa lưu trữ trên Linux. Công cụ này đọc dữ liệu S.M.A.R.T. (Công nghệ tự giám sát, phân tích và báo cáo) từ các ổ HDD, SSD và ổ NVMe, theo dõi các chỉ số như các sector được phân bổ lại, nhiệt độ và số lượng lỗi. Nếu một ổ đĩa sắp hỏng, smartctl công cụ này sẽ cung cấp các dấu hiệu cảnh báo trước khi bạn mất dữ liệu. Hướng dẫn này bao gồm cài đặt, thực hiện kiểm tra sức khỏe và tự kiểm tra, hiểu các thuộc tính SMART chính, và thiết lập giám sát tự động với smartd.
Cài đặt smartmontools
smartctl là một phần của gói smartmontools. Bạn cần quyền root hoặc sudo để cài đặt nó và để chạy hầu hết smartctl lệnh, vì chúng yêu cầu quyền truy cập trực tiếp vào phần cứng.
| Phân phối | Lệnh |
|---|---|
| Debian / Ubuntu / Linux Mint | sudo apt update && sudo apt install smartmontools -y |
| CentOS / RHEL / Rocky / Alma (8+) | sudo dnf install smartmontools -y |
| CentOS / RHEL 7 và các phiên bản cũ hơn | sudo yum install smartmontools -y |
| Arch Linux / Manjaro | sudo pacman -S smartmontools |
| Fedora | sudo dnf install smartmontools |
Xác nhận cài đặt bằng smartctl --version.
Xác định ổ đĩa và kích hoạt SMART
Trước khi kiểm tra bất kỳ điều gì, bạn cần biết máy chủ của mình có những ổ đĩa nào và liệu chúng có hỗ trợ SMART hay không.
Liệt kê tất cả các thiết bị khối:
lsblkQuét các ổ đĩa tương thích với SMART:
sudo smartctl --scanKết quả trả về tên thiết bị, loại và giao thức (ATA, SCSI, NVMe). Ổ đĩa SATA và SAS hiển thị dưới dạng /dev/sda, /dev/sdb, v.v. Ổ đĩa NVMe xuất hiện dưới dạng /dev/nvme0n1, /dev/nvme1n1.
Kiểm tra xem SMART có sẵn và đã được kích hoạt trên một ổ đĩa cụ thể hay không:
sudo smartctl -i /dev/sdaTìm kiếm "SMART support is: Available" và "SMART support is: Enabled" trong kết quả. Nếu SMART có sẵn nhưng chưa được kích hoạt, hãy bật nó lên:
sudo smartctl -s on /dev/sdaCài đặt này sẽ được duy trì sau khi khởi động lại.
Đối với các ổ đĩa nằm sau bộ điều khiển RAID, hãy sử dụng -d cờ để chỉ định loại bộ điều khiển. Đối với MegaRAID: -d megaraid,N. Đối với HP Smart Array: -d cciss,N. Nếu không có cờ này, smartctl bạn sẽ không thấy các ổ đĩa vật lý riêng lẻ.
Chức năng giám sát SMART không khả dụng cho các đĩa ảo trong môi trường VPS hoặc hầu hết các ổ đĩa flash USB. Lớp ảo hóa hoặc vỏ USB chặn quyền truy cập vào dữ liệu đo từ xa phần cứng.
Chạy kiểm tra tình trạng và tự kiểm tra
Kiểm tra tình trạng nhanh sẽ truy vấn phần mềm cơ sở của ổ đĩa để tìm các lỗi nghiêm trọng:
sudo smartctl -H /dev/sdaKết quả PASSED (ĐẠT) có nghĩa là ổ đĩa chưa vượt quá ngưỡng lỗi nội bộ. Kết quả FAILED (THẤT BẠI) có nghĩa là ổ đĩa dự kiến sẽ sớm hỏng. Hãy sao lưu dữ liệu của bạn ngay lập tức.
Để có dữ liệu SMART đầy đủ, bao gồm tất cả các thuộc tính và nhật ký lỗi:
sudo smartctl -a /dev/sdaTự kiểm tra
smartctl có thể thực hiện ba loại tự kiểm tra, tất cả đều diễn ra ở chế độ nền trong khi hệ thống vẫn hoạt động bình thường:
- Kiểm tra ngắn (1-5 phút): kiểm tra các thành phần điện và cơ khí.
sudo smartctl -t short /dev/sda - Kiểm tra dài (vài giờ): quét từng sector trên ổ đĩa.
sudo smartctl -t long /dev/sda - Kiểm tra vận chuyển (~5 phút): phát hiện hư hỏng vật lý do vận chuyển.
sudo smartctl -t conveyance /dev/sda
Kiểm tra thời gian hoàn thành dự kiến trước khi bắt đầu kiểm tra dài:
sudo smartctl -c /dev/sdaXem kết quả kiểm tra:
sudo smartctl -l selftest /dev/sdaBạn muốn thấy thông báo "Hoàn thành mà không có lỗi." Nếu kiểm tra thất bại, kết quả sẽ hiển thị LBA_of_first_error, chỉ ra chính xác vị trí hư hỏng trên đĩa.
Các thuộc tính SMART quan trọng cần theo dõi
Kiểm tra tình trạng hoạt động (pass/fail) rất hữu ích nhưng có giới hạn. Một ổ đĩa có thể báo PASSED trong khi các thuộc tính riêng lẻ đang có xu hướng xấu. Đây là những thuộc tính quan trọng nhất:
- Số lượng sector được phân bổ lại (ID 5): Các sector hỏng mà ổ đĩa đã thay thế bằng các sector dự phòng. Bất kỳ giá trị nào khác 0 đều có nghĩa là ổ đĩa đã bị hao mòn về mặt vật lý. Một sector được phân bổ lại trên một ổ đĩa cũ không nhất thiết là vấn đề khẩn cấp, nhưng số lượng ngày càng tăng là một cảnh báo rõ ràng.
- Số lượng sector đang chờ xử lý hiện tại (ID 197): Các sector mà ổ đĩa không thể đọc hoặc ghi, đang chờ được ánh xạ lại. Nếu con số này tiếp tục tăng, ổ đĩa đang xuống cấp.
- Lỗi không thể sửa chữa ngoại tuyến (ID 198): Các lỗi không thể sửa chữa được phát hiện trong quá trình quét nền. Cho thấy bề mặt bị hư hỏng.
- Số lượng lỗi UDMA CRC (ID 199): Lỗi truyền dữ liệu. Điều này thường chỉ ra cáp SATA bị lỗi hoặc đầu nối lỏng lẻo, không phải ổ đĩa bị hỏng. Hãy kiểm tra cáp của bạn trước tiên.
Đối với ổ SSD và ổ NVMe, hãy theo dõi Dung lượng dự phòng và Tỷ lệ sử dụng thay thế. Khi Tỷ lệ sử dụng gần đạt 100%, ổ đĩa đã đạt đến giới hạn độ bền ghi.
Nhiệt độ cũng rất quan trọng. Ổ cứng HDD sẽ không còn đáng tin cậy khi nhiệt độ vượt quá 50°C. Ổ SSD có thể chịu nhiệt tốt hơn nhưng nên duy trì dưới 70°C. Xem tất cả các thuộc tính cụ thể của nhà sản xuất với smartctl -A /dev/sda, hoặc kiểm tra các lỗi lệnh gần đây bằng smartctl -l error /dev/sda.
Tự động hóa giám sát với smartd
Kiểm tra ổ đĩa thủ công là phù hợp cho chẩn đoán một lần. Để giám sát liên tục, hãy sử dụng smartd, daemon đi kèm với smartmontools. Theo mặc định, nó sẽ kiểm tra các ổ đĩa của bạn cứ sau 30 phút và ghi lại các thay đổi thuộc tính vào syslog.
Chỉnh sửa tệp cấu hình tại /etc/smartd.conf (hoặc /etc/smartmontools/smartd.conf trên RHEL/CentOS). Thay vì dựa vào DEVICESCAN tự động phát hiện mọi thứ, hãy liệt kê các ổ đĩa của bạn một cách rõ ràng. Điều này giúp tránh tình trạng treo máy do các thiết bị không tương thích.
Ví dụ cấu hình:
/dev/sda -a -m [email protected] -s (S/../.././02|L/../../6/03) -W 4,45,55
/dev/sdb -a -m [email protected] -n standby,qCác tùy chọn có chức năng như sau:
-a: giám sát tất cả các thuộc tính SMART-m: gửi cảnh báo qua email khi xảy ra lỗi-s: lên lịch kiểm tra ngắn hàng ngày vào lúc 2:00 sáng và kiểm tra dài vào mỗi thứ Bảy lúc 3:00 sáng-W 4,45,55: ghi lại sự thay đổi nhiệt độ 4°C, cảnh báo khi đạt 45°C, cảnh báo nghiêm trọng khi đạt 55°C-n standby,q: bỏ qua việc kiểm tra các ổ đĩa ở chế độ chờ để tránh việc khởi động không cần thiết
Đối với các ổ đĩa phía sau bộ điều khiển RAID, chỉ định loại cho từng ổ đĩa:
/dev/sda -d megaraid,0 -a -m [email protected]
/dev/sda -d megaraid,1 -a -m [email protected]Kích hoạt và khởi động dịch vụ:
sudo systemctl enable --now smartdTrên các hệ thống dựa trên Debian, cũng bỏ chú thích start_smartd=yes trong /etc/default/smartmontools.
Để kiểm tra cảnh báo email, thêm -M test vào một dòng cấu hình, khởi động lại smartd, sau đó xóa nó đi. Tải lại các thay đổi cấu hình mà không cần khởi động lại dịch vụ bằng killall -HUP smartd.
Một bài kiểm tra ngắn hàng ngày mất 1-2 phút và phát hiện hầu hết các lỗi bề mặt. Một bài kiểm tra dài hàng tuần bao quát mọi phân vùng. Kết hợp với cảnh báo qua email, điều này mang lại cho bạn cảnh báo sớm đáng tin cậy trước khi ổ cứng hỏng hoàn toàn.

Bạn đã chán ngán với việc triển khai chậm chạp hoặc giới hạn băng thông? FDC Servers cung cấp nguồn điện chuyên dụng ngay lập tức, phạm vi toàn cầu và các gói linh hoạt được thiết kế cho mọi quy mô.
Nâng cấp ngay
Các quy trình zombie trong Linux: Tìm kiếm, loại bỏ và ngăn chặn
Tìm hiểu cách xác định, loại bỏ và ngăn chặn các tiến trình zombie trong Linux. Các lệnh, cách sửa lỗi mã và mẹo giám sát dành cho quản trị viên máy chủ.
15 phút đọc - 19 tháng 5, 2026
Danh sách kiểm tra tăng cường bảo mật máy chủ Linux
15 phút đọc - 8 tháng 5, 2026

Bạn có thắc mắc hoặc cần giải pháp tùy chỉnh?
Các tùy chọn linh hoạt
Phạm vi toàn cầu
Triển khai ngay lập tức
Các tùy chọn linh hoạt
Phạm vi toàn cầu
Triển khai ngay lập tức