Giám sát và khắc phục sự cố OneFS SmartQoS

Các bài viết trước trong loạt bài này đã đề cập đến kiến ​​trúc, cấu hình và quản lý SmartQoS. Bây giờ, chúng ta sẽ chuyển sự chú ý sang giám sát và khắc phục sự cố.

Bạn có thể sử dụng lệnh CLI ‘isi statistics workload’ để theo dõi hiệu suất của tập dữ liệu. Cột ‘Ops’ hiển thị các hoạt động giao thức hiện tại mỗi giây. Trong ví dụ sau, Ops ổn định ở mức khoảng 9,8, thấp hơn một chút so với giá trị giới hạn được cấu hình là 10 Ops.

# isi thống kê khối lượng công việc --dataset ds1 & dữ liệu

Tương tự như vậy, ví dụ tiếp theo từ SmartQoS WebUI cho thấy một quy trình làm việc NFS nhỏ thực hiện 497 Ops giao thức trong khối lượng công việc được ghim với giới hạn là 500 Ops:

Bạn có thể ghim nhiều đường dẫn và giao thức bằng cách chọn tùy chọn ‘Ghim khối lượng công việc’ cho một Bộ dữ liệu nhất định. Tại đây, bốn khối lượng công việc đường dẫn thư mục được cấu hình với các giới hạn Protocol Ops khác nhau:

Khi nói đến việc khắc phục sự cố SmartQoS, có một số khu vực đáng để kiểm tra ngay, bao gồm cấu hình giới hạn SmartQoS Ops, daemon isi_pp_d và isi_stats_d và dịch vụ giao thức.

  1. Đối với các sự cố cấu hình giới hạn Ops nghi ngờ, trước tiên hãy xác nhận rằng tính năng giới hạn SmartQoS đã được bật:

# isi thiết lập hiệu suất xem
Bộ sưu tập hàng đầu: 1024
Ngưỡng thời gian trong hàng đợi (ms): 10.0
Độ trễ đọc mục tiêu tính bằng micro giây: 12000.0
Độ trễ ghi mục tiêu tính bằng micro giây: 12000.0
Giới hạn hoạt động giao thức được bật: Có

Tiếp theo, hãy xác minh xem mức khối lượng công việc protocols_ops limit đã được cấu hình đúng chưa:

# isi hiệu suất khối lượng công việc xem <khối lượng công việc>

Kiểm tra xem có lỗi nào được báo cáo trong nhật ký cấu hình isi_tardis_d không:

# mèo /var/log/isi_tardis_d.log

  2. Để điều tra isi_pp_d, trước tiên hãy kiểm tra xem dịch vụ đã được bật chưa:

# dịch vụ isi –a isi_pp_d
Dịch vụ 'isi_pp_d' đã được bật.

Nếu cần, bạn có thể khởi động lại dịch vụ isi_pp_d như sau:

# dịch vụ isi isi_pp_d vô hiệu hóa
Dịch vụ 'isi_pp_d' đã bị vô hiệu hóa.
# dịch vụ isi isi_pp_d cho phép
Dịch vụ 'isi_pp_d' đã được bật.

Ngoài ra còn có một công cụ gỡ lỗi isi_pp_d có thể hữu ích trong trường hợp khẩn cấp:

# isi_pp_d -h
Cách sử dụng: isi_pp_d [-ldhs]
-l Chạy như một tiến trình dẫn đầu; nếu không, chạy như một tiến trình theo sau. Chỉ có một tiến trình dẫn đầu trên cụm sẽ hoạt động.
-d Chạy ở chế độ gỡ lỗi (không chạy daemon).
-s Hiển thị nút pp_leader (devid và lnn)
-h Hiển thị trợ giúp này.

Bạn có thể bật gỡ lỗi trên tệp nhật ký isi_pp_d bằng cú pháp lệnh sau:

# isi_ilog -a isi_pp_d -l gỡ lỗi, /var/log/isi_pp_d.log

Ví dụ, đoạn trích nhật ký sau đây hiển thị thông điệp giao tiếp isi_ppd_d.log điển hình giữa người dẫn đầu isi_pp_d và những người theo dõi isi_pp_d:

/ifs/.ifsvar/modules/pp/comm/SETTINGS
[090500b000000b80,08020000:0000bfddffffffff,09000100:ffbcff7cbb9779de,09000100:d8d2fee9ff9e3bfe,090001 00:0000000075f0dfdf]      
100,,,,20,1658854839 < theo định dạng <workload_id, cputime, disk_reads, disk_writes, protocol_ops, timestamp>

Tại đây, trích xuất từ ​​các tệp nhật ký /var/log/isi_pp_d.log từ các nút 1 và 2 của cụm minh họa các giai đoạn khác nhau của việc thực thi và sử dụng giới hạn Protocol Ops:

  3. Để điều tra isi_stats_d, trước tiên hãy xác nhận rằng dịch vụ isi_pp_d đã được bật:

# dịch vụ isi -a isi_stats_d
Dịch vụ 'isi_stats_d' đã được bật.

Nếu cần, bạn có thể khởi động lại dịch vụ isi_stats_d như sau:

# dịch vụ isi isi_stats_d vô hiệu hóa
# dịch vụ isi isi_stats_d cho phép

Bạn có thể xem số liệu thống kê mức khối lượng công việc bằng lệnh sau:

# isi thống kê danh sách khối lượng công việc --dataset=<tên>

Bạn có thể bật gỡ lỗi trên tệp nhật ký isi_stats_d bằng cú pháp lệnh sau:

# isi_stats_tool --hành động set_tracelevel --giá trị gỡ lỗi
# mèo /var/log/isi_stats_d.log

  4. Để điều tra các vấn đề về giao thức, các lệnh CLI ‘isi services’ và ‘lwsm’ có thể hữu ích. Ví dụ, để kiểm tra trạng thái của giao thức S3:

# /usr/likewise/bin/lwsm danh sách | grep -i giao thức
hdfs [giao thức] đã dừng
lwswift [giao thức] đang chạy (lwswift: 8393)
nfs [giao thức] đang chạy (nfs: 8396)
s3 [giao thức] đã dừng
srv [giao thức] đang chạy (lwio: 8096)
# /usr/likewise/bin/lwsm trạng thái s3
dừng lại
# /usr/likewise/bin/lwsm thông tin s3
Dịch vụ: s3
Mô tả: Máy chủ S3
Thể loại: giao thức
Đường dẫn: /usr/likewise/lib/lw-svcm/s3.so
Lập luận:
Phụ thuộc: lsass onefs_s3 AuditEnabled?flt_audit_s3
Thùng chứa: s3

Đầu ra CLI này xác nhận rằng giao thức S3 không hoạt động. Bạn có thể khởi động dịch vụ S3 như sau:

# dịch vụ isi -a | grep -i s3
S3 S3
Dịch vụ được kích hoạt

Tương tự như vậy, bạn có thể khởi động lại dịch vụ S3 như sau:

# /usr/likewise/bin/lwsm khởi động lại s3
Dừng dịch vụ: s3
Dịch vụ bắt đầu: s3

Để tìm hiểu thêm, bạn có thể tăng mức độ chi tiết của nhật ký giao thức. Ví dụ, để đặt nhật ký s3 thành ‘gỡ lỗi’:

# isi s3 chế độ xem cấp độ nhật ký
Mức ghi nhật ký hiện tại là 'thông tin'
# isi s3 log-level sửa đổi gỡ lỗi
# isi s3 chế độ xem cấp độ nhật ký
Mức ghi nhật ký hiện tại là 'gỡ lỗi'

Tiếp theo, hãy xem và theo dõi nhật ký giao thức thích hợp. Ví dụ, đối với giao thức S3:

# mèo /var/log/s3.log
# đuôi -f /var/log/s3.log

Ngoài những điều trên, bạn có thể theo dõi /var/log/messages để tìm lỗi liên quan, vì các mô-đun hiệu suất phân vùng chính (PP) ghi vào tệp này. Bạn có thể bật ghi nhật ký cấp gỡ lỗi cho các mô-đun PP khác nhau như sau.

Bộ dữ liệu:

# sysctl ilog.ifs.acct.raa.syslog=gỡ lỗi+
ilog.ifs.acct.raa.syslog: lỗi, cảnh báo, thông báo (thừa hưởng) -> lỗi, cảnh báo, thông báo, thông tin, gỡ lỗi

Khối lượng công việc:

# sysctl ilog.ifs.acct.rat.syslog=gỡ lỗi+
ilog.ifs.acct.rat.syslog: lỗi, cảnh báo, thông báo (thừa hưởng) -> lỗi, cảnh báo, thông báo, thông tin, gỡ lỗi

Công việc của diễn viên:

# sysctl ilog.ifs.acct.work.syslog=gỡ lỗi+
ilog.ifs.acct.work.syslog: lỗi, cảnh báo, thông báo (thừa hưởng) -> lỗi, cảnh báo, thông báo, thông tin, gỡ lỗi

Khi hoàn tất, bạn có thể khôi phục mức ghi nhật ký mặc định cho các mô-đun trên như sau:

# sysctl ilog.ifs.acct.raa.syslog=thông báo+
# sysctl ilog.ifs.acct.rat.syslog=thông báo+
# sysctl ilog.ifs.acct.work.syslog=thông báo+

Tác giả : Nick Trimbee