Hướng dẫn kiểm tra lỗi phần cứng máy chủ

Khi sử dụng máy chủ, VPS có lúc máy chủ, VPS của bạn sẽ gặp tình trạng bị treo, chạy chậm v.v Lúc đó ngoài việc tối ưu máy chủ, bạn cũng cần phải nghĩa đến việc phần cứng máy chủ đang gặp phải vấn đề, đặc biệt là với các trường hợp chậm đột ngột.

I. Dấu hiệu:

1.Tốc độ server chậm bất thường:

Những nguyên nhân gây chậm thường bao gồm:

– RAM có vấn đề không nhận đủ dung lượng (hướng dẫn kiểm tra lỗi RAM bên dưới, riêng về dung lượng bạn có thể xem bằng lệnh free -m).

– HDD chậm dẫn đến việc không load dữ liệu kịp.

2. Server thường xuyên bị treo phải reboot:

Nguyên nhân có thể do RAM có vấn đề gây treo hoặc bộ nguồn có vấn đề không cung cấp đủ nguồn điện dẫn đến khi server load cao sẽ bị reboot.

II. Chuẩn đoán lỗi:

Sau khi nhận ra những dấu hiệu trên, việc đầu tiên cần làm là dùng các công cụ để đánh giá và chuẩn đoán xem lỗi thật sự có phải do phần cứng hay không hay là do các phần mềm trên server. Vinahost xin giới thiệu một số công cụ giúp bạn chuẩn đoán lỗi cho server của mình trên nền tảng Linux.
1. HDD:Để kiểm tra tốc độ HDD, bạn dùng lệnh dd để xem. Nếu tốc độ quá chậm nghĩa HDD của server đã có vấn đề, và trong bất kỳ trường hợp nào cũng cần phải được thay thế.dd if=/dev/zero of=test bs=1G count=1 oflag=direct

Ngoài ra, có thể dùng một công cụ khác là smartctl, công cụ này hoạt động dựa trên công nghệ tự theo dõi S.M.A.R.T của HDD. Để sử dụng công cụ này, đầu tiên các bạn cần phải khởi động dịch vụ smartd, dịch vụ này đi kèm sẵn trong các bản phân phối Linux nhưng thường không được kích hoạt sẵn.

service smartd start

Bạn có thể xem nhanh thông tin về smart bằng lệnh smartctl với tham số -H, lúc này smartctl sẽ chỉ hiện kết quả trả về về tình trạng ổ cứng mà không hiện chi tiết, bạn chỉ biết là Pass hoặc Fail thôi.

     smartctl -H /dev/sda

Để xem thông tin chi tiết về smart, bạn dùng tham số -a

     smartctl –a /dev/sda

2. RAM

Để kiểm tra bộ nhớ, bạn dùng công cụ memtester có sẵn trong linux, tuy nhiên nếu chưa có bạn có thể cài đặt bằng cách chạy yum install memtester

Tham số của memtester là memtester

Trong đó dung lượng là dung lượng bộ nhớ sẽ test, có thể thêm đơn vị M, K, G để nói rõ đơn vị. Số lần chính là số lần memtester sẽ chạy để tìm lỗi.

Ví dụ, server có 8G RAM, cho chạy memtester 1 lần để tìm lỗi trên cả 8G thì chạy lệnh

memtester 8G 1

Nếu tất cả kết quả trả về đều OK nghĩa là RAM vẫn ổn định, nếu không bạn nên nghĩ đến việc thay RAM để đảm bảo server hoạt động ổn định 24/7.

3. Nguồn và các linh kiện khác

Trong hầu hết các server đều có các cảm biến để theo dõi phần cứng, bao gồm nhiệt độ, tốc độ quạt, nguồn điện. Ở đây để theo dõi các thành phần này, đặc biệt là nguồn điện có bị sút áp hay không các bạn có thể dùng một gói ứng dụng tên là lm_sensors, gói này có sẵn trong repo của CentOS và bạn có thể cài đặt bằng lệnh:

     yum install lm_sensors

Sau khi cài đặt gói này, cần phải cho lm_sensors detect các sensor có trong server bằng cách chạy lệnh   sensors-detectvà chọn YES ở các câu hỏi để lm_sensors quét tìm các cảm biến.
     sensors-detect

Sau khi detect xong, các bạn khởi động dich vụ lm_sensors bằng lệnh

service lm_sensors start

Từ lúc này, để xem thông tin hoạt động của các linh kiện trong server, bạn dùng lệnh sensors. Nếu có gì đó bất thường cần phải có biện pháp xử lý ngay.

n

Ngoài ra, trên Linux còn có một dịch vụ chuyên theo dõi các thiết bị phần cứng theo thời gian thực tên là mcelog. Mcelog là dịch vụ có sẵn trong các phiên bản Linux server. Mcelog sẽ hoạt động ngầm trong hệ thống dưới dạng daemon và sẽ ghi nhận lại các thông tin khi có lỗi phần cứng xảy ra. Tất cả các log về phần cứng sẽ được ghi nhận lại tại file /var/log/mcelog.

Để khởi động mcelog, bạn dùng lệnh:
     service mcelogd start

Để xem các thông tin log của mcelog, bạn dùng lệnh
mcelog –client

Hoặc bạn cũng có thể xem trực tiếp file log của mcelog bằng lệnh
cat /var/log/mcelog

Với một số server đang dùng Software-RAID trong Linux, bạn có thể xem tình trạng RAID hiện tại bằng các dùng lệnh sau:
cat /proc/mdstat

Trên hình có thể thấy RAID 1 đang hoạt động bình thường với kết quả 2/2 [UU], trong trường hợp có một ổ đĩa bị lỗi, array sẽ trỡ thành 1/2 [_U] hoặc [U_] (với _ biểu hiện HDD lỗi)

Việc theo dõi phần cứng của server còn có thể thực hiện thông qua việc dùng IPMI. IPMI là một giao thức cho phép giao tiếp và theo dõi server ngay cả trong trường hợp có sự cố phần cứng (trừ khi sự cố bản thân IPMI controller). Tuy nhiên để dùng IPMI cần phải cắm dây mạng RJ45 vào port IPMI trên server và đặt IP cho nó, vì vậy trên thực tế việc này ít được sử dụng trừ khi đó là hệ thống lớn cần sự ổn định tuyệt đối.

Leave a Reply