Bài viết trước phác thảo quá trình điều tra và khắc phục sự cố OneFS deadlock và hang-dump đã tạo ra một số câu hỏi về việc thu thập tệp nhật ký OneFS. Vì vậy, có vẻ như đây là một chủ đề phù hợp để khám phá trong một bài viết.
Tiện ích ‘isi_gather_info’ của OneFS từ lâu đã là một công cụ chính của cụm để thu thập và đối chiếu ngữ cảnh và cấu hình, chủ yếu hỗ trợ hỗ trợ trong việc xác định và giải quyết lỗi và sự cố. Do đó, có thể nói đây là công cụ hỗ trợ chính của OneFS và về mặt chức năng thực tế, nó thực hiện các vai trò sau:
- Thực hiện nhiều lệnh, tập lệnh và tiện ích trên cụm và lưu kết quả của chúng
- Thu thập tất cả các tập tin này thành một gói ‘gzipped’ duy nhất.
- Truyền gói dữ liệu thu thập được trở lại Dell bằng một số phương pháp vận chuyển tùy chọn.
Theo mặc định, tệp tarfile thu thập nhật ký được ghi vào thư mục /ifs/data/Isilon_Support/pkg/. Tệp này cũng có thể được tải lên Dell bằng các phương tiện sau:
| Cơ chế vận chuyển | Sự miêu tả | Cổng TCP |
| ESRS | Sử dụng Dell EMC Secure Remote Support (ESRS) để thu thập dữ liệu tải lên. | 443/8443 |
| FTP | Sử dụng FTP để tải lên bản thu thập đã hoàn tất. | 21 |
| Giao thức HTTP | Sử dụng HTTP để tải lên dữ liệu thu thập. | 80/443 |
Cụ thể hơn, cú pháp lệnh CLI ‘isi_gather_info’ bao gồm các tùy chọn sau:
| Lựa chọn | Sự miêu tả |
| –tải lên <boolean> | Cho phép thu thập và tải lên. |
| –esrs <boolean> | Sử dụng ESRS để thu thập dữ liệu tải lên. |
| –gather-mode (tăng dần | đầy đủ) | Kiểu thu thập: gia tăng hoặc đầy đủ. |
| –http-insecure-upload <boolean> | Cho phép tải lên HTTP không an toàn khi thu thập xong. |
| –http-upload-host <chuỗi> | Máy chủ HTTP dùng để tải lên HTTP. |
| –http-upload-path <chuỗi> | Đường dẫn trên máy chủ HTTP để sử dụng cho việc tải lên HTTP. |
| –http-upload-proxy <chuỗi> | Máy chủ proxy dùng để tải lên HTTP. |
| –http-upload-proxy-port <số nguyên> | Cổng máy chủ proxy dùng để tải lên HTTP. |
| –clear-http-upload-proxy-port | Xóa cổng máy chủ proxy để sử dụng cho việc tải lên HTTP. |
| –ftp-upload <boolean> | Cho phép tải lên FTP khi hoàn tất thu thập. |
| –ftp-upload-host <chuỗi> | Máy chủ FTP dùng để tải lên FTP. |
| –ftp-upload-path <chuỗi> | Đường dẫn trên máy chủ FTP để sử dụng cho việc tải lên FTP. |
| –ftp-upload-proxy <chuỗi> | Máy chủ proxy dùng để tải lên FTP. |
| –ftp-upload-proxy-port <số nguyên> | Cổng máy chủ proxy dùng để tải lên FTP. |
| –xóa-cổng-proxy-tải-lên-ftp | Xóa cổng máy chủ proxy để sử dụng cho việc tải lên FTP. |
| –ftp-upload-user <chuỗi> | Người dùng FTP sử dụng để tải lên FTP. |
| –ftp-upload-ssl-cert <chuỗi> | Chỉ định chứng chỉ SSL sử dụng trong kết nối FTPS. |
| –ftp-upload-insecure <boolean> | Có nên thử tải lên FTP văn bản thuần túy không. |
| –ftp-upload-pass <chuỗi> | Người dùng FTP sử dụng mật khẩu tải lên FTP. |
| –set-ftp-upload-pass | Chỉ định mật khẩu tải lên FTP một cách tương tác. |
Khi dữ liệu được chuyển đến Dell, quy trình hỗ trợ sẽ tự động giải nén dữ liệu và phân tích dữ liệu bằng công cụ ‘logviewer’.
Bên dưới mui xe, có hai thành phần chính chịu trách nhiệm vận hành một cuộc tụ họp. Đó là:
| Thành phần | Sự miêu tả |
| Chúa tể | Quy trình quản lý, được kích hoạt bởi người dùng, giám sát tất cả các tác vụ isi_gather_info được thực thi trên một nút duy nhất. |
| Thương yêu | Tiến trình công nhân chạy một loạt lệnh (do chủ thể chỉ định) trên một nút cụ thể. |
Tiện ích ‘isi_gather_info’ chủ yếu được viết bằng Python, với cấu hình nằm trong phạm vi của MCP và các dịch vụ RPC do daemon isi_rpc_d cung cấp.
Ví dụ:
# isi_gather_info& # ps -auxw | grep -i thu thập root 91620 4.4 0.1 125024 79028 1 I+ 16:23 0:02.12 python /usr/bin/isi_gather_info (python3.8) gốc 91629 3.2 0.0 91020 39728 - S 16:23 0:01.89 isi_rpc_d: isi.gather.minion.minion.GatherManager (isi_rpc_d) root 93231 0.0 0.0 11148 2692 0 D+ 16:23 0:00.01 grep -i thu thập
Overlord sử dụng isi_rdo (trình nền thực thi lệnh từ xa OneFS) để khởi động các tiến trình minion và thông báo cho chúng về các lệnh sẽ được thực thi bởi tệp XML tạm thời, thường được lưu trữ tại /ifs/.ifsvar/run/<uuid>-gather_commands.xml. Sau đó, minion sẽ khởi chạy một trình thực thi và một lệnh cho mỗi mục trong tệp XML.
Trình thực thi quy trình song song (mặc định để sử dụng) hoạt động như một nhóm, kích hoạt các lệnh chạy song song cho đến khi một số lệnh được chỉ định chạy song song. Bản thân các lệnh đảm nhiệm việc chạy và xử lý kết quả, thường xuyên kiểm tra để đảm bảo ngưỡng thời gian chờ chưa bị vượt quá.
Executor cũng theo dõi những lệnh nào hiện đang chạy và có bao nhiêu lệnh đã hoàn tất, và ghi chúng vào một tệp để tiến trình overlord có thể hiển thị thông tin hữu ích. Khi hoàn tất, executor trả về thông tin thời gian chạy cho minion, minion này sẽ ghi lại tệp chuẩn. Executor cũng sẽ tự tắt an toàn nếu tệp khóa isi_gather_info biến mất, chẳng hạn như nếu tiến trình isi_gather_info bị giết.
Trong quá trình thu thập, minion không trả lại bất cứ thứ gì cho tiến trình overlord vì đầu ra công việc của nó được ghi vào đĩa.
Về mặt kiến trúc, quy trình ‘thu thập’ bao gồm quy trình làm việc gồm tám giai đoạn:

Chi tiết của từng giai đoạn như sau:
| Giai đoạn | Sự miêu tả |
| 1. Thiết lập | Đọc từ các đối số được truyền vào và từ bất kỳ tệp cấu hình nào trên đĩa và thiết lập từ điển cấu hình, sẽ được sử dụng trong toàn bộ cơ sở mã còn lại. Hầu hết mã cho bước này nằm trong isilon/lib/python/gather/igi_config/configuration.py. Đây cũng là bước mà chương trình có nhiều khả năng thoát nhất, nếu một số đối số cấu hình cuối cùng không hợp lệ. |
| 2. Chạy cục bộ | Thực thi tất cả các lệnh cụm, được chạy trên cùng một nút đang bắt đầu thu thập. Tất cả các lệnh này chạy song song (lên đến giá trị song song hiện tại). Đây thường là giai đoạn chạy dài thứ hai. |
| 3. Chạy các nút | Thực thi các lệnh nút trên tất cả các nút của cụm. Lệnh này chạy trên mỗi nút và trong khi các lệnh này chạy song song (lên đến giá trị song song hiện tại), chúng không chạy song song với bước cục bộ. |
| 4. Thu thập | Đảm bảo rằng tất cả kết quả đều nằm trên nút chủ (nút bắt đầu thu thập). Nếu thu thập sử dụng /ifs, nó sẽ rất nhanh, nhưng nếu không, nó cần SCP tất cả kết quả nút đến một nút duy nhất. |
| 5. Tạo các tập tin bổ sung | Tạo nodes_info và package_info.xml. Hai tệp này có trong mọi lần thu thập và cho chúng ta biết một số siêu dữ liệu quan trọng về cụm. |
| 6. Đóng gói | Gói (tars và gzips) tất cả các kết quả. Đây thường là giai đoạn chạy dài nhất, thường theo cấp số nhân. |
| 7. Tải lên | Vận chuyển gói tarfile đến đích đã chỉ định. Tùy thuộc vào vị trí địa lý, giai đoạn này cũng có thể kéo dài. |
| 8. Dọn dẹp | Dọn dẹp mọi tệp trung gian được tạo trên cụm. Giai đoạn này sẽ chạy ngay cả khi quá trình thu thập không thành công hoặc bị gián đoạn. |
Vì công cụ isi_gather_info chủ yếu dùng để khắc phục sự cố cụm có vấn đề nên nó chạy dưới dạng root (hoặc compadmin ở chế độ tuân thủ), vì nó cần có khả năng thực thi trong điều kiện xuống cấp (tức là không có GMP, trong quá trình nâng cấp và trong các cụm chia tách, v.v.). Với các yêu cầu không điển hình này, isi_gather_info được xây dựng như một tiện ích độc lập, thay vì sử dụng API nền tảng để thu thập dữ liệu.
Thời gian cần thiết để hoàn tất một lần thu thập thường được xác định bởi cấu hình cụm, chứ không phải kích thước. Ví dụ, một lần thu thập trên một cụm nhỏ với số lượng chia sẻ NFS lớn sẽ mất nhiều thời gian hơn đáng kể so với trên cụm lớn có cấu hình NFS tương tự. Không khuyến khích thu thập gia tăng, vì cơ sở cần kiểm tra trong kho lưu trữ nhật ký có thể bị xóa. Theo mặc định, các lần thu thập chỉ tồn tại trong hai tuần trong bộ xử lý nhật ký.
Khi hoàn tất việc thu thập, một logset được nén và tar được tạo ra và được đặt trong thư mục /ifs/data/IsilonSupport/pkg của cụm theo mặc định. Một tarfile thu thập chuẩn sẽ giải nén thành cấu trúc cấp cao nhất sau:
# du -sh * 536M IsilonLogs-powerscale-f900-cl1-20220816-172533-3983fba9-3fdc-446c-8d4b-21392d2c425d.tgz Điểm chuẩn 320K 24K celog_events.xml Dòng lệnh 24K 128K hoàn thành 449M địa phương 24K địa phương.log 24K nút_thông tin 24K chúa tể.log 83M powerscale-f900-cl1-1 24K powerscale-f900-cl1-1.log 119M powerscale-f900-cl1-2 24K powerscale-f900-cl1-2.log 134M powerscale-f900-cl1-3 24K powerscale-f900-cl1-3.log
Trong trường hợp này, đối với cụm F900 ba nút, tệp tarfile nén có kích thước 536 MB. Phần lớn dữ liệu, chủ yếu là đầu ra lệnh CLI, nhật ký và đầu ra sysctl, được chứa trong các thư mục nút ‘cục bộ’ và riêng lẻ (powerscale-f900-cl1-*). Mỗi thư mục nút chứa một tệp tarfile, varlog.tar, chứa tất cả các tệp nhật ký có liên quan cho nút đó.
Thư mục gốc của tệp tarfile bao gồm những nội dung sau:
| Mục | Sự miêu tả |
| chuẩn mực | § Thời gian chạy cho tất cả các lệnh được thực thi bởi gather. |
| celog_events.xml |
§ Tên cụm/nút § Số sê-ri nút § ID cấu hình § Thông tin phiên bản OneFS § Sự kiện |
| hoàn thành | § Danh sách các lệnh hoàn chỉnh chạy trên cụm và trên các nút riêng lẻ |
| địa phương |
|
| thông tin nút |
|
| overlord.log | § Thu thập nhật ký thực hiện và phát hành. |
| gói_thông_tin.xml | § Chi tiết phiên bản cụm, GUID, S/N và thông tin khách hàng (tên, số điện thoại, email, v.v.). |
| dòng lệnh |
|
Nội dung đáng chú ý của thư mục ‘local’ (tất cả các lệnh trên toàn cụm được thực thi trên nút chạy thu thập) bao gồm:
| Mục Nội dung Địa phương | Sự miêu tả |
| lịch sử cảnh báo isi
|
|
| danh sách việc làm |
|
| lịch trình công việc isi |
|
| isi_giấy_phép |
|
| giao diện mạng isi | § Trạng thái và cấu hình của tất cả các giao diện mạng của cụm. |
| isi_nfs_xuất khẩu | § Chi tiết cấu hình cho tất cả các xuất NFS của cụm. |
| dịch vụ isi | § Liệt kê tất cả các dịch vụ OneFS và liệu chúng được bật hay tắt. Cấu hình chi tiết hơn cho từng dịch vụ được chứa trong các tệp riêng biệt. Ví dụ, đối với SnapshotIQ:
|
| isi_smb | § Thông tin cấu hình chi tiết cho tất cả các xuất NFS của cụm. |
| isi_stat | § Trạng thái chung của cụm, bao gồm mạng, ổ đĩa, v.v. |
| isi_thống kê | § Thống kê IO của CPU, giao thức và đĩa. |
Nội dung của thư mục ‘node’ bao gồm:
| Mục Nội dung Nút | Sự miêu tả |
| df | Đầu ra của lệnh df |
| du |
|
| isi_alerts | Chứa danh sách các cảnh báo nổi bật trên nút |
| ps và ps_full | Danh sách tất cả các tiến trình đang chạy tại thời điểm isi_gather_info được thực thi. |
Khi lệnh isi_gather_info chạy, trạng thái sẽ được cung cấp trong phiên CLI tương tác:
# isi_gather_info Cấu hình HOÀN THÀNH chạy lệnh cục bộ ĐANG TIẾN HÀNH \ Tiến trình của địa phương [############################################################] 147/152 tập tin đã được ghi \ Một số lệnh đang hoạt động là: ifsvar_modules_jobengine_cp, isi_statistics_heat, ifsv mô-đun ar
Khi quá trình thu thập hoàn tất, vị trí của tarfile trên cụm được báo cáo như sau:
# isi_gather_info Cấu hình HOÀN THÀNH chạy lệnh cục bộ HOÀN THÀNH chạy lệnh nút HOÀN THÀNH thu thập các tập tin HOÀN THÀNH tạo package_info.xml HOÀN THÀNH thu thập hắc ín HOÀN THÀNH đang tải lên thu thập HOÀN THÀNH
Đường đi đến nơi thu gom nhựa đường là:
/ifs/data/Isilon_Support/pkg/IsilonLogs-h5001-20220830-122839-23af1154-779c-41e9-b0bd-d10a026c9214.tgz
Nếu dịch vụ thu thập dữ liệu tải lên không khả dụng, lỗi sẽ được hiển thị trên bảng điều khiển như hiển thị ở đây:
… đang tải lên thu thập THẤT BẠI ESRS không thành công - ESRS chưa được cung cấp FTP không thành công - lỗi pycurl: (28, 'Không kết nối được tới ftp.isilon.com cổng 21 sau 81630 ms: Hết thời gian hoạt động')
Tác giả : Nick Trimbee

Bài viết mới cập nhật
Dell Storage Engines: Tăng tốc suy luận AI với PowerScale và ObjectScale
Giải pháp chuyển tải bộ nhớ đệm KV của Dell cho ...
Bảo vệ Nhà máy AI
Áp dụng phương pháp tiếp cận kiến trúc để bảo mật ...
Tiến lên mạnh mẽ với Dell PowerMax: Vượt mặt Hitachi VSP 5000
Dell PowerMax mang lại khả năng phục hồi, hiệu suất và ...
Đẩy nhanh đổi mới AI: Sức mạnh của quyền truy cập mở
Từ các mô hình tiên tiến đến các ứng dụng cấp ...