Liên hệProfile
Danh mục

Mục Lục

    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng

    Nguyễn Hưng

    Ngày đăng:

    14/04/2026

    Cập nhật lần cuối:

    14/04/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    14/04/2026

    Cập nhật lần cuối:

    14/04/2026

    Mục lục

    smartctl là một tiện ích dòng lệnh giúp quản lý và giám sát hệ thống S.M.A.R.T., từ đó theo dõi chi tiết sức khỏe ổ cứng HDD/SSD trong môi trường máy chủ lẫn máy trạm cá nhân. Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt, sử dụng các lệnh smartctl quan trọng và cách đọc các chỉ số SMART để phát hiện sớm rủi ro, bảo vệ dữ liệu hiệu quả hơn.

    Những điểm chính

    • Khái niệm: Hiểu rõ smartctl là công cụ dòng lệnh để giám sát sức khỏe ổ cứng, giúp chủ động phát hiện sớm rủi ro và bảo vệ dữ liệu.
    • Cài đặt và chuẩn bị: Nắm được cách cài đặt smartmontools và xác định đúng tên ổ đĩa, giúp chuẩn bị môi trường sẵn sàng để bắt đầu kiểm tra.
    • Kiểm tra cơ bản: Nắm vững các lệnh kiểm tra quan trọng như bật SMART, xem trạng thái tổng thể và lấy thông tin chi tiết, giúp nhanh chóng chẩn đoán ban đầu về tình trạng ổ cứng.
    • Phân tích chỉ số S.M.A.R.T.: Hiểu ý nghĩa các cột dữ liệu và các chỉ số quan trọng, giúp phân tích chi tiết tình trạng ổ cứng và nhận biết các dấu hiệu hỏng hóc tiềm ẩn.
    • Thực hiện bài kiểm tra tự động (Self-Test): Biết cách chạy các bài kiểm tra ngắn và dài, giúp chẩn đoán toàn diện ổ cứng và phát hiện các lỗi mà kiểm tra thông thường có thể bỏ sót.
    • Câu hỏi thường gặp: Được giải đáp các thắc mắc về dấu hiệu hỏng hóc, lỗi trên VPS và tần suất kiểm tra, giúp xử lý các tình huống thực tế và tự động hóa việc giám sát.

    Tổng quan về giám sát S.M.A.R.T.

    S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology) là công nghệ giám sát tự động được tích hợp sẵn trong hầu hết các ổ cứng HDDSSD hiện đại. Hệ thống này sử dụng controller để thu thập dữ liệu từ đa dạng cảm biến, theo dõi các chỉ số then chốt như số sector lỗi, thời gian hoạt động liên tục, nhiệt độ vận hành và hiệu suất tổng thể.

    Nhờ đó, quản trị viên có thể phát hiện sớm các dấu hiệu suy giảm hoặc lỗi tiềm ẩn, giúp dự đoán và ngăn chặn sự cố trước khi dữ liệu bị mất mát. Trong môi trường sản xuất nơi tính sẵn sàng lưu trữ quyết định sự ổn định dịch vụ, việc khai thác S.M.A.R.T. trở thành yếu tố thiết yếu để duy trì độ tin cậy cao.

    S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology) là công nghệ giám sát tự động được tích hợp sẵn trong hầu hết các ổ cứng HDD và SSD hiện đại
    S.M.A.R.T. là công nghệ giám sát tự động được tích hợp sẵn trong hầu hết các ổ cứng HDD và SSD hiện đại

    smartctl là gì?

    smartctl là một công cụ dòng lệnh dùng để quản lý và giám sát hệ thống S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology), đây là công nghệ tích hợp sẵn trong hầu hết ổ đĩa hiện đại như ATA/SATA, SCSI/SAS hay NVMe. smartctl giúp quản trị viên phát hiện sớm các dấu hiệu hỏng hóc phần cứng (như sector lỗi, nhiệt độ cao bất thường, lỗi đọc/ghi), từ đó lập kế hoạch thay thế kịp thời.

    smartctl là một công cụ dòng lệnh dùng để quản lý và giám sát hệ thống S.M.A.R.T.
    smartctl là một công cụ dòng lệnh dùng để quản lý và giám sát hệ thống S.M.A.R.T.

    Cách cài đặt smartctl trên Linux

    Gói phần mềm chứa smartctl có tên là smartmontools, đây là bộ công cụ toàn diện dành cho việc quản lý và giám sát hệ thống S.M.A.R.T. trên các ổ đĩa lưu trữ. Bạn có thể cài đặt dễ dàng trên các hệ điều hành Linux phổ biến sau đây:

    Trên Ubuntu/Debian

    sudo apt update
    sudo apt install smartmontools -y

    Trên RHEL/CentOS/AlmaLinux

    sudo yum install smartmontools -y

    Kiểm tra và kích hoạt dịch vụ Daemon (smartd)

    Dịch vụ smartd (smart daemon) được thiết kế để chạy ngầm liên tục, tự động quét và theo dõi tình trạng ổ cứng theo lịch trình định kỳ mà không cần can thiệp thủ công. Để khởi động và kích hoạt tự động thì bạn cần thực hiện câu lệnh sau:

    sudo systemctl start smartd
    sudo systemctl enable smartd

    Cách xác định tên ổ đĩa

    Trước khi chạy smartctl để kiểm tra, bạn cần xác định chính xác tên thiết bị ổ cứng đang sử dụng (ví dụ: /dev/sda cho ổ SATA hoặc /dev/nvme0n1 cho ổ NVMe). Bạn hãy sử dụng một trong các lệnh sau:

    lsblk

    Hoặc:

    sudo fdisk -l

    Theo kinh nghiệm của mình khi làm việc với VPS, bạn cần lưu ý rằng các công cụ như smartctl thường không hoạt động do bị lớp ảo hóa (Hypervisor) che giấu phần cứng vật lý. Vì vậy, nếu gặp lỗi như “Inappropriate ioctl for device”, bạn không cần quá lo lắng. Trong trường hợp này, mình khuyên bạn nên theo dõi tình trạng ổ đĩa thông qua hệ thống giám sát của nhà cung cấp VPS hoặc các công cụ monitoring ở cấp hệ điều hành thay vì phụ thuộc vào SMART như trên máy vật lý.

    Các lệnh kiểm tra cơ bản

    Trước khi bắt đầu, hãy giả sử ổ cứng vật lý bạn muốn kiểm tra có tên thiết bị là /dev/sda (thường là ổ chính). Nếu tên khác (như /dev/sdb hoặc /dev/nvme0n1), bạn chỉ cần thay thế tương ứng. Dưới đây là quy trình kiểm tra đầy đủ theo thứ tự:

    Bước 1: Kích hoạt tính năng SMART trên ổ cứng (Nếu chưa bật)

    Nhiều ổ cứng hiện đại đã bật SMART mặc định từ nhà sản xuất, nhưng một số trường hợp (đặc biệt ổ cũ hoặc cấu hình đặc biệt) cần kích hoạt thủ công. Lệnh này sẽ bật tính năng mà không ảnh hưởng dữ liệu:

    sudo smartctl -s on /dev/sda

    Kết quả sẽ được hiển thị là “SMART support is: Available - device has SMART capability“. Nếu đã bật sẵn, lệnh sẽ báo “SMART is already enabled“.

    Bước 2: Kiểm tra nhanh trạng thái tổng thể (Health Status)

    Đây là bước kiểm tra đầu tiên và quyết định nhất. Lệnh này sẽ quét toàn bộ các chỉ số S.M.A.R.T. và đưa ra phán quyết cuối cùng về tình trạng ổ cứng chỉ trong vài giây:

    sudo smartctl -H /dev/sda

    Kết quả có 2 khả năng duy nhất:

    • PASSED: Ổ cứng vẫn hoàn toàn ổn định, tất cả các chỉ số đều trong ngưỡng an toàn. Bạn có thể yên tâm tiếp tục sử dụng bình thường.
    • FAILED: Cảnh báo nghiêm trọng vì ít nhất một chỉ số S.M.A.R.T. đã vượt ngưỡng nguy hiểm. Ổ cứng đang trong quá trình hỏng hóc.

    Bước 3: Xem thông tin chi tiết toàn diện về ổ cứng

    Lệnh này giúp hiển thị tất cả thông tin (model, serial, firmware, nhiệt độ, giờ hoạt động và bảng chỉ số S.M.A.R.T.):

    sudo smartctl -a /dev/sda

    Ngoài ra, bạn có thể sử dụng lệnh sau đây chỉ hiển thị những thông tin quan trọng nhất:

    sudo smartctl -x /dev/sda

    Cách đọc chỉ số trong SMART

    Khi chạy lệnh smartctl -a, bạn cần tập trung vào bảng Vendor Specific SMART Attributes with Thresholds để đánh giá tình trạng ổ đĩa.

    Ví dụ cấu trúc một dòng:

     ID# ATTRIBUTE_NAME VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

    Giải thích ý nghĩa:

    • ID#: Mã số định danh của thuộc tính.
    • ATTRIBUTE_NAME: Tên của chỉ số (ví dụ: Reallocated_Sector_Ct).
    • VALUE (Current): Điểm sức khỏe hiện tại của chỉ số, thường bắt đầu ở mức cao (như 100 hoặc 200) và giảm dần theo thời gian sử dụng. Điểm càng cao càng tốt.
    • WORST: Điểm thấp nhất mà chỉ số này từng ghi nhận trong lịch sử hoạt động của ổ cứng.
    • THRESH(Threshold): Ngưỡng giới hạn do nhà sản xuất đặt ra. Nếu cột VALUE giảm xuống bằng hoặc thấp hơn con số này, ổ cứng sẽ bị coi là sắp hỏng (FAILED).
    • RAW_VALUE: Đây là con số thực tế mà cảm biến của ổ cứng đo được, và thường là thông tin quan trọng nhất bạn cần xem. Ví dụ, đối với Power_On_Hours, RAW_VALUE chính là tổng số giờ đã chạy. Đối với Reallocated_Sector_Ct, nó là số lượng sector lỗi thực tế.

    Các chỉ số SMART quan trọng cần theo dõi

    IDTên chỉ sốÝ nghĩaDấu hiệu nguy hiểm
    5Reallocated_Sector_CtSố bad sector (sector vật lý hỏng) đã được tự động thay thế bằng sector dự phòng.RAW_VALUE > 0 và tăng dần
    9Power_On_HoursTổng giờ hoạt động thực tế của ổ cứng từ lúc sản xuất.Chỉ mang tính tham khảo tuổi thọ (thường 30,000-50,000 giờ).
    187Reported_UncorrectSố lỗi không thể tự sửa được phát hiện bởi firmware ổ cứng.RAW_VALUE > 0 – Cực kỳ nguy hiểm, dữ liệu có thể mất ngay
    194Temperature_CelsiusNhiệt độ hiện tại (°C) bên trong ổ cứng.>60°C thường xuyên – giảm tuổi thọ nhanh chóng.
    197Current_Pending_SectorSố sector nghi ngờ hỏng đang chờ test lại để quyết định thay thế.RAW_VALUE > 0 – có thể chuyển thành bad sector bất cứ lúc nào.
    199UDMA_CRC_Error_CountSố lỗi CRC khi truyền dữ liệu qua cáp SATA (không phải lỗi ổ).Tăng dần – kiểm tra dây cáp lỏng/hỏng hoặc cổng SATA.

    Theo kinh nghiệm của mình khi làm việc với ổ SSD/NVMe, bạn nên đặc biệt chú ý đến các chỉ số liên quan đến độ bền của chip nhớ thay vì chỉ nhìn vào bad sector như ổ HDD. Những thông số như Media_Wearout_Indicator, Percentage_Used hay Wear_Leveling_Count sẽ phản ánh chính xác mức độ hao mòn của ổ. Ngoài ra, mỗi hãng sản xuất có cách định nghĩa chỉ số khác nhau, nên mình khuyên bạn nên tham khảo tài liệu chính thức từ nhà sản xuất để hiểu đúng và đánh giá chính xác tình trạng ổ đĩa.

    Thực hiện bài kiểm tra tự động

    Tính năng Self-Test cho phép ổ cứng tự chẩn đoán toàn diện mà không làm mất dữ liệu. Trong quá trình test, hiệu suất đọc/ghi có thể giảm nhẹ tạm thời do ổ cứng ưu tiên kiểm tra:

    Short Test – Kiểm tra nhanh:

    • Thời gian: Chỉ 1 – 2 phút.
    • Nội dung: Kiểm tra mạch điện tử, cơ cấu đầu đọc và các thành phần cơ bản.
    sudo smartctl -t short /dev/sda

    Long Test – Kiểm tra toàn diện:

    • Thời gian: 30 phút đến vài giờ (tùy dung lượng ổ).
    • Nội dung: Quét toàn bộ bề mặt để phát hiện bad sector và kiểm tra sâu từng sector.
    sudo smartctl -t long /dev/sda

    Xem kết quả Self-Test:

    Sau khi chờ test hoàn tất, bạn kiểm tra báo cáo chi tiết bằng lệnh:

    sudo smartctl -l selftest /dev/sda

    Kết quả sẽ hiển thị bao gồm thời gian test, loại test, trạng thái (Completed without error = tốt hoặc Failed = lỗi cụ thể).

    Một số tùy chọn thường dùng

    Tuỳ chọnChức năngVí dụ
    -iChỉ xem thông tin thiết bị (Model, Serial).smartctl -i /dev/sda
    -HKiểm tra nhanh trạng thái Health (Pass/Fail).smartctl -H /dev/sda
    -aHiển thị tất cả thông tin.smartctl -a /dev/sda
    -xHiển thị tất cả (kể cả thông tin mở rộng phi chuẩn).smartctl -x /dev/sda
    -AChỉ hiển thị bảng Attributes.smartctl -A /dev/sda
    -t <type>Chạy bài test (short, long, conveyance).smartctl -t short /dev/sda
    -l selftestXem log kết quả các bài test.smartctl -l selftest /dev/sda
    -l errorXem log các lỗi đã xảy ra.smartctl -l error /dev/sda

    Câu hỏi thường gặp

    Làm sao biết ổ cứng sắp hỏng khi dùng smartctl?

    Chạy sudo smartctl -H /dev/sdX – nếu kết quả FAILED (màu đỏ), ổ cứng đang hỏng. Kết hợp sudo smartctl -a /dev/sdX để xem chỉ số ID#5 (Reallocated Sectors) hoặc ID#197 (Pending Sectors) có RAW_VALUE > 0 và tăng dần không.

    Tại sao smartctl báo lỗi “Inappropriate ioctl for device” trên VPS?

    Vì VPS chạy trên ảo hóa (VMware, KVM, VirtualBox,…) che giấu phần cứng vật lý. smartctl chỉ hoạt động trên máy vật lý thật hoặc dedicated server có passthrough.

    Nên chạy Long Test bao lâu một lần?

    Bạn nên kiểm tra từ 3 – 6 tháng/lần cho ổ quan trọng. Bạn nên dùng Short Test hàng tháng (sudo smartctl -t short /dev/sdX). Để tự động hóa, bạn cấu hình smartd daemon trong /etc/smartd.conf với lịch cron.

    smartctl là một công cụ dòng lệnh nhỏ gọn nhưng vô cùng quan trọng giúp bạn chủ động theo dõi và chẩn đoán sức khỏe ổ cứng/SSD, thay vì chỉ xử lý khi sự cố đã xảy ra và dữ liệu gặp rủi ro. Khi hiểu và tận dụng đúng các tham số, báo cáo SMART mà smartctl cung cấp, bạn có thể sớm phát hiện bad sector, lỗi đọc/ghi, cảnh báo nhiệt độ,… để kịp sao lưu dữ liệu và lên kế hoạch thay thế thiết bị.

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux
    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux

    cryptsetup là tiện ích dòng lệnh nguồn mở trong Linux dùng để quản lý mã hóa đĩa dựa trên dm-crypt và chuẩn LUKS, hỗ trợ tạo volume an toàn với nhiều khóa và tương thích cao. Bài viết này hướng dẫn toàn diện về cryptsetup từ cài đặt, quy trình mã hóa, quản lý key…

    14/04/2026

    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux
    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux

    Aureport là công cụ dòng lệnh mạnh mẽ trong hệ thống auditd Linux, chuyên tạo báo cáo thống kê tóm tắt từ các tệp nhật ký kiểm toán. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng aureport để giám sát bảo mật và phân tích hoạt động hệ thống hiệu quả. Những…

    09/04/2026

    Auditctl là gì? Hướng dẫn sử dụng lệnh auditctl trong Linux để quản lý hệ thống Audit
    Auditctl là gì? Hướng dẫn sử dụng lệnh auditctl trong Linux để quản lý hệ thống Audit

    Auditctl là công cụ dòng lệnh quan trọng trong Linux, cho phép quản trị viên thiết lập và quản lý các quy tắc giám sát (audit) trực tiếp trên kernel. Thông qua auditctl, bạn có thể theo dõi chi tiết các hoạt động như truy cập file, thực thi syscall hay hành vi người dùng…

    09/04/2026

    Fail2ban là gì? Hướng dẫn sử dụng lệnh Fail2ban trên Linux
    Fail2ban là gì? Hướng dẫn sử dụng lệnh Fail2ban trên Linux

    Fail2ban là framework mã nguồn mở chuyên bảo vệ máy chủ Linux khỏi tấn công brute-force và DDoS bằng cách phân tích log và chặn IP tự động. Bài viết hướng dẫn chi tiết cách triển khai Fail2ban từ cài đặt, cấu hình jail SSH đến giám sát và quản lý IP bị cấm trên…

    09/04/2026

    linux

    lenh

    text