Chào mừng bạn đến với bài đăng đầu tiên trong loạt bài đăng trên blog tiết lộ một số mẹo và thủ thuật hữu ích khi hỗ trợ quy trình sản xuất phương tiện trên PowerScale OneFS.
OneFS có một bộ công cụ đáng kinh ngạc do người dùng điều khiển ẩn bên trong, có thể cấp cho bạn quyền truy cập vào dữ liệu có giá trị đối với quy trình làm việc của bạn đến nỗi bạn sẽ tự hỏi làm sao mình có thể sống mà không có nó.
Khi làm việc trên các sản phẩm trước đây, tôi đã chứng kiến và phải khắc phục nhiều sự cố phát sinh ở các phần khác nhau của quy trình. Thường thì những sự cố này nằm ở phần kết xuất của quy trình, đó là những gì tôi sẽ tập trung vào trong blog này.
Quy trình kết xuất thường khá đơn giản, nhưng chúng yêu cầu mọi thứ phải hoàn hảo để đảm bảo rằng bạn không làm thiếu hụt một nhóm tài nguyên nào đó. Nếu nhóm này là trung tâm của mọi hoạt động sản xuất, điều này có thể khiến toàn bộ studio ngừng hoạt động, ảnh hưởng đến hoạt động sáng tạo, mất doanh thu và gây ra sự chậm trễ không đáng có trong quá trình sản xuất.
Bạn có biết rằng bất kỳ lệnh nào chạy trên cụm OneFS đều là lệnh gọi API xuống API OneFS không? Bạn có thể quan sát thấy điều này nếu bạn thêm cờ –debug vào bất kỳ lệnh nào bạn chạy trên CLI. Như được hiển thị ở đây, lệnh này sẽ hiển thị thông tin lệnh gọi được gửi để thu thập thông tin được yêu cầu, điều này rất hữu ích nếu bạn đang tích hợp các công cụ quản trị của riêng mình vào đường ống của mình.
# isi --debug thống kê danh sách khách hàng 2023-06-22 10:24:41,086 GỠ LỖI rest.py:80: >>>GET ['3', 'thống kê', 'tóm tắt', 'khách hàng'] 2023-06-22 10:24:41,086 GỠ LỖI rest.py:81: args={'sort': 'operation_rate,in,out,time_avg,node,protocol,class,user.name,local_name,remote_name', 'degraded': 'False', 'timeout': '15'} thân={} 2023-06-22 10:24:41,212 GỠ LỖI rest.py:106: <<<(200, {'content-type': 'application/json', 'allow': 'GET, HEAD', 'status': '200 Ok'}, b'n{\n"client" : [ ]\n}\n')
Có rất nhiều ứng dụng tiềm năng cho các lệnh gọi API OneFS, từ việc theo dõi số liệu thống kê trên cụm cho đến việc sử dụng các công cụ của riêng bạn để tạo chia sẻ, v.v. (Chúng tôi sẽ đi sâu hơn vào API trong bài đăng sau!)
Khi chúng ta gặp phải các hoạt động dừng sản xuất trên một cụm, chúng thường do một quy trình bất thường bên ngoài môi trường OneFS gây ra mà chúng ta chưa biết, nghĩa là chúng ta phải tìm ra quy trình đó là gì và nó đang làm gì.
Trong số liệu thống kê là đi bộ .
Bằng cách sử dụng lệnh isi statistics , chúng ta có thể nhanh chóng xem những gì đang xảy ra trên một cụm tại bất kỳ thời điểm nào. Nó có thể cung cấp cho chúng ta báo cáo trực tiếp về người dùng hoặc kết nối nào đang gây ra sự cố, lượng I/O họ tạo ra cũng như IP của họ là gì, họ đang sử dụng giao thức nào để kết nối, v.v.
Nếu cụm đang gặp phải tình trạng chậm đột ngột (ví dụ như trong quá trình kết xuất), chúng ta có thể chạy một vài lệnh thống kê đơn giản để cho chúng ta biết cụm đang làm gì và ai đang tác động mạnh nhất đến cụm. Một số ví dụ về các lệnh này như sau:
hệ thống thống kê isi –n=tất cả –format=trên cùng
Hiển thị số liệu thống kê thời gian thực của tất cả các nút theo định dạng kiểu *NIX “top”:
# hệ thống thống kê isi --n=tất cả --format=trên cùng Nút CPU SMB FTP HTTP NFS HDFS S3 Tổng NetIn NetOut DiskIn DiskOut Tất cả 33,7% 0,0 0,0 0,0 0,0 0,0 0,0 401,6 215,6 0,0 0,0 1 33,7% 0,0 0,0 0,0 0,0 0,0 0,0 0,0 401,6 215,6 0,0 0,0
danh sách khách hàng thống kê isi –totalby=UserName –sort=Ops
Lệnh này hiển thị tất cả các máy khách được kết nối và hiển thị số liệu thống kê của chúng, bao gồm cả UserName mà chúng được kết nối. Lệnh này đặt những người dùng có tổng số Ops cao nhất lên đầu để bạn có thể theo dõi người dùng hoặc tài khoản đang sử dụng nhiều bộ nhớ nhất.
# isi statistics client --totalby=UserName --sort=Ops Ops Vào Ra Thời gianTrung bìnhNút Nguyên mẫu Lớp Tên người dùngTên cục bộTên từ xa -------------------------------------------------- -------------------------- 12.8 12.6M 1.1k 95495.8 * * * gốc * * -------------------------------------------------- --------------------------
isi statistics client –UserName=<tên người dùng> –sort=Ops
Lệnh này đi xa hơn một chút và chia nhỏ TẤT CẢ các Ops theo loại được người dùng đó yêu cầu. Nếu bạn biết giao thức mà người dùng bạn đang điều tra đang sử dụng, chúng ta cũng có thể thêm toán tử “–proto=<nfs/smb>” vào lệnh.
# isi thống kê máy khách --user-names=root --sort=Ops Ops In Out TimeAvg Node Proto Class UserName LocalName RemoteName -------------------------------------------------- -------------------------------------------- 5.8 6.1M 487.2 142450.6 1 smb2 ghi root 192.168.134.101 192.168.134.1 2.8 259.2 332.8 497.2 1 smb2 file_state gốc 192.168.134.101 192.168.134.1 2.6 985.6 549.8 10255.1 1 smb2 tạo root 192.168.134.101 192.168.134.1 2.6 275.0 570.6 3357.5 1 smb2 không gian tên_đọc gốc 192.168.134.101 192.168.134.1 0,4 85,6 28,0 3911,5 1 smb2 không gian tên_ghi gốc 192.168.134.101 192.168.134.1 -------------------------------------------------- --------------------------------------------
Lệnh hữu ích khác, đặc biệt khi khắc phục sự cố hiệu suất đột xuất, là isi statistics heat .
thống kê isi danh sách nhiệt –totalby=path –sort=Ops | head -12
Lệnh này hiển thị 10 đường dẫn tệp hàng đầu đang được xử lý bởi số lượng hoạt động I/O lớn nhất.
# isi thống kê danh sách nhiệt --totalby=path --sort=Ops | head -12 Đường dẫn lớp sự kiện Ops Node -------------------------------------------------- -------------------------------------------------- 141.7 * * * /nếu/ 127,8 * * * /ifs/.ifsvar 86.3 * * * /ifs/.ifsvar/modules 81.7 * * * HỆ THỐNG (0x0) 33.3 * * * /ifs/.ifsvar/modules/tardis 28.6 * * * /ifs/.ifsvar/modules/tardis/gconfig 28.3 * * * /ifs/.ifsvar/nâng cấp 13.1 * * * /ifs/.ifsvar/upgrade/logs/UpgradeLog-1.db 11.9 * * * /ifs/.ifsvar/modules/tardis/namespaces/healthcheck_schedules.sqlite 10,5 * * * /ifs/.ifsvar/modules/cloud
Khi bạn có tất cả thông tin này, giờ đây bạn có thể tìm thấy người dùng hoặc quy trình (dựa trên IP, UserName, v.v.) và tìm ra người dùng đó đang làm gì và nguyên nhân khiến kết xuất không thành công hoặc tạo ra I/O cao. Trong nhiều trường hợp, đó sẽ là một tài sản nằm trên một tầng hiệu suất thấp hơn của cụm hoặc, nếu bạn đang sử dụng bộ đệm kết xuất phía trước, một tài sản nằm ngoài đường dẫn được lưu trữ trước, do đó các trục chính trong cụm sẽ chịu tác động I/O.
Để biết thêm mẹo và thủ thuật có thể giúp bạn tiết kiệm thời gian quý báu, hãy tiếp tục kiểm tra lại. Trong thời gian chờ đợi, nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ và tôi sẽ cố gắng hết sức để giúp bạn!
Tác giả : Andy Copeland
Kiến trúc sư giải pháp truyền thông và giải trí
Bài viết mới cập nhật
Tăng tốc đổi mới và tính bền vững của AI: Dell PowerScale F910 mật độ cao, hiệu suất cao
Tăng tốc đổi mới và tính bền vững của AI: Dell ...
Khả năng hiển thị là điều bắt buộc tuyệt đối đối với an ninh
Tìm hiểu cách Dell và Absolute sử dụng dữ liệu từ ...
Dell Reconnect kỷ niệm 20 năm tái chế
Hãy kỷ niệm 20 năm Dell Reconnect và tái chế các ...
Nhật ký của một Kỹ sư Hệ thống VFX—Phần 1: Thống kê isi
Chào mừng bạn đến với bài đăng đầu tiên trong loạt ...