Khắc phục sự cố máy chủ Linux trong 5 bước | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Khắc phục sự cố máy chủ Linux trong 5 bước

Chia sẻ kiến thức 03/05/2022

Khôi phục và chạy máy chủ Linux của bạn trong vài phút với các mẹo khắc phục sự cố sau đây. 

Nếu máy chủ Linux của bạn không hoạt động hết khả năng của nó, có thể nó gặp một vấn đề nào đó cần được giải quyết. Làm theo năm bước đơn giản sau đây để khắc phục sự cố máy chủ Linux và giảm downtime (thời gian website ngừng hoạt động) xuống mức tối thiểu.

1. Kiểm tra phần cứng

Điều bạn cần làm trước tiên là kiểm tra phần cứng. Điều này có nghĩa là kiểm tra xem có cáp nào bị lỏng hoặc mất điện hay không.

Ngoài ra, hãy nhập lệnh sau:

$ sudo ethtool eth0

Nếu nó trả về yes, bạn biết rằng cổng của bạn đang kết nối với mạng.

Để kiểm tra báo cáo phần cứng BIOS/UEFI của máy chủ, hãy sử dụng lệnh sau:

$ sudo dmidecode --type memory

Nếu phản hồi có vẻ tốt, đó cũng không phải là vấn đề. Nếu bạn nghi ngờ có vấn đề về bộ nhớ, hãy chạy lệnh sau:

$ sudo modprobe edac_core

Nếu không có kết quả sau khi chạy lệnh nói trên, hãy nhập như sau:

$ sudo grep "[0-9]" /sys/devices/system/etc/mc/mc*/csrow*/ch*_ce_count

Nó sẽ hiển thị cho bạn danh sách các hàng của bộ điều khiển bộ nhớ cùng với số lỗi. Khi một đầu ra được kết hợp với dữ liệu dmidecode trên kênh bộ nhớ, số bộ phận và khe cắm, bạn có thể tìm thấy thẻ nhớ bị hỏng.

2. Xác định chính xác vấn đề

Trước khi bắt đầu sử dụng các công cụ của bạn, điều cần thiết là phải xác định vấn đề chính xác là gì. Ví dụ: nếu người dùng của bạn gặp sự cố với ứng dụng máy chủ, bạn cần đảm bảo rằng vấn đề không phải do phía khách hàng.

Thứ hai, bạn cần xác định xem vấn đề nằm ở máy chủ hay ứng dụng máy chủ. Ví dụ, một chương trình máy chủ có thể hoạt động bất thường trong khi bản thân máy chủ vẫn hoạt động tốt.

Để kiểm tra xem một ứng dụng có chạy trơn tru hay không, hãy nhập như sau:

$ sudo ps -ef | grep apache2
$ sudo netstat -plunt | grep apache2

Nếu máy chủ không phản hồi, bạn có thể bật máy chủ Apache bằng cách sử dụng:

$ sudo service apache2 start

Tóm lại, hãy tìm ra vấn đề chính xác sẽ giúp bạn tìm ra giải pháp phù hợp.

3. Sử dụng hàm top

Top là một trong những hàm gỡ lỗi tốt nhất của Linux, vì nó tải giá trị trung bình, hoán đổi và danh sách các quy trình sử dụng tài nguyên của hệ thống.

Nhưng lần đầu tiên bạn sử dụng nó, bạn có thể thấy nó khó hiểu. Đây là bảng giải thích nhanh về top. 

Dòng 1:

  • Thời gian
  • Máy tính đã chạy được bao lâu?
  • Số lượng người dùng
  • Trung bình tải (thời gian tải của hệ thống trong phút cuối cùng, 5 phút vừa qua và 15 phút vừa qua)

Dòng 2:

  • Tổng số tác vụ
  • Số lượng tác vụ đang chạy
  • Số lượng tác vụ ngủ
  • Số lượng tác vụ đã dừng
  • Số lượng tác vụ zombie

Dòng 3:

  • Mức sử dụng CPU của người dùng (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của hệ thống (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của các quy trình ưu tiên thấp (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của các quy trình nhàn rỗi (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của I/O đợi (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của phần cứng ngắt (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của phần mềm làm gián đoạn (theo tỷ lệ phần trăm)
  • Mức sử dụng CPU của steal time (theo tỷ lệ phần trăm)
  • Tổng bộ nhớ hệ thống
  • Bộ nhớ trống
  • Bộ nhớ được sử dụng
  • Bộ đệm đệm

Dòng 4:

  • Tổng số swap có sẵn
  • Tổng số swap trống
  • Tổng số swap đã sử dụng
  • Bộ nhớ khả dụng

Tiếp theo là một dòng cho mỗi ứng dụng đang chạy. Nó bao gồm:

  • ID quy trình
  • Người dùng
  • Ưu tiên
  • Nice level (xác định mức độ ưu tiên của quy trình. Giá trị càng cao, mức độ ưu tiên càng thấp)
  • Bộ nhớ ảo được sử dụng bởi quy trình
  • Bộ nhớ thường trú được sử dụng bởi quy trình
  • Bộ nhớ có thể chia sẻ
  • CPU được quy trình sử dụng dưới dạng tỷ lệ phần trăm
  • Bộ nhớ được quy trình sử dụng dưới dạng phần trăm
  • Quá trình thời gian đã được chạy
  • Yêu cầu

Để biết  quy trình nào đang tiêu tốn bộ nhớ cao nhất, trước tiên hãy sắp xếp quy trình bằng cách gõ M.

Để kiểm tra các quy trình sử dụng nhiều năng lượng CPU nhất, hãy nhấn P.

Để lọc các tùy chọn cụ thể, hãy nhấn O , thao tác này sẽ hiển thị các lệnh sau:

add filter #1 (ignoring case) as: [!]FLD?VAL

Hơn nữa, bạn có thể lọc trên một quy trình cụ thể, như

COMMAND=apache

Lệnh này sẽ lọc và chỉ hiển thị các quy trình Apache.

4. Theo dõi dung lượng đĩa

Máy chủ có thể hết dung lượng, dẫn đến vô số vấn đề. Trong các tình huống như vậy, hãy sử dụng lệnh df (hệ thống tệp đĩa) để lấy ra một bản tóm tắt đầy đủ về dung lượng đĩa trống / đã sử dụng.

Bạn có thể sử dụng nó theo ba cách sau:

$ sudo df -h
$ sudo df -i
$ sudo df -hT

Một lệnh hữu ích khác là  % use. Bất kỳ giá trị nào lớn hơn 60% hiệu suất sử dụng cho thấy hiệu suất lưu trữ kém. Giá trị gần 100% có nghĩa là ổ đĩa gần bão hòa.

5. Kiểm tra Nhật ký (log) xem có vấn đề gì không

Nhật ký cung cấp cho bạn rất nhiều thông tin hữu ích trong /var/log, một thư mục con dành riêng cho dịch vụ. 

Các log được phân chia theo chức năng của chúng. Một log ghi lại những gì xảy ra trên một hệ thống/chương trình, trong khi log khác ghi lại các thông báo lỗi của hệ thống/ứng dụng. Nhật ký thường là các tệp rất lớn, với số lượng thông tin mà chúng lưu trữ.

Các tệp dữ liệu nhật ký rất khó hiểu và tốt nhất bạn nên học cách điều khiển theo cách của mình.

Nếu bạn không chắc chắn, hãy sử dụng dmesg, hiển thị tất cả các thông báo của hạt nhân. Hàm tail hiển thị 10 tin nhắn đầu tiên theo mặc định.

$ dmesg | tail 

Kết hợp lệnh tail với từ khóa -f sẽ tiếp tục theo dõi tệp nhật ký hệ thống và in ra sự kiện tiếp theo trong nhật ký hệ thống.

$ dmesg | tail -f /var/log/syslog

Lệnh này sẽ tiếp tục quét qua các bản ghi và hiển thị các sự cố có thể xảy ra.

Khắc phục sự cố máy chủ Linux một cách hiệu quả

Nếu năm bước này không giúp bạn xác định và theo dõi vấn đề, có lẽ bạn nên nhờ đến sự trợ giúp của các chuyên gia. Tuy nhiên, trong hầu hết các trường hợp, một trong các bước ở trên sẽ giúp giải quyết sự cố ngay lập tức.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/fix-linux-server-server-issues-with-these-troubleshooting-steps/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!