在本系列的上一篇博文中,我們討論了 MinIO AIStor 的模型上下文協議 (MCP) 服務器的基本用戶級功能。我們學習了如何使用人類語言命令查看存儲桶的內容、分析對象并標記它們以便將來處理,以及如何通過 LLM(例如 Anthropic Claude)與集群進行簡單的交互。
在本博客中,我們將學習如何使用相同的方法來補充 AIStor 管理功能,例如獲取有關集群狀態和健康狀況的信息、分析數據分布以及其他任務。
經驗豐富的 MinIO 系統管理員不懼怕命令行。他們可以輕松地使用mc admin命令來管理集群。使用 LLM 和 MCP 服務器可以為他們帶來哪些經驗?LLM 擅長匯總大量信息,并且可以將我們從集群中獲取的信息格式化為易于理解的方式。
不太高級的用戶如果也需要有關集群狀態的信息,可以使用 LLM 功能來獲得問題的簡單答案,而不必致電管理員。
AIStor 集群管理員信息
當我們想要獲取集群的管理信息時,我們會運行mc admin命令。通常,它們會提供節點和磁盤的列表,以及它們的健康狀況和利用率信息。如果我們向 LLM 提出同樣的問題會怎樣?
以下是 MCP 服務器與 Claude 合作的總結。
現在,假設您是這個集群的管理員,而您的老板正在詢問您集群的狀態。與命令行輸出相比,您是否更愿意展示這份報告?
即使這些信息對你的老板來說太多了,你也可以要求一份更短的報告。只需一個提示即可。
答案是:
這在目前的命令行或 UI 工具中是難以想象的。擁有如此簡潔的集群健康狀況摘要至關重要。我們甚至得到了 Claude 的推薦。
除了健康狀態之外,我們還要詢問可用空間和整體數據分布情況。當然,您可以通過分析命令的輸出來獲取這些信息mc admin info --json,但 LLM 或許也能做到?
哇,這太有用了!Claude 提供了每個桶的總大小、對象數量及其特征。你注意到它創建的漂亮表格了嗎?手動創建它得花上一整天的時間。
如果我們要求創建餅圖怎么辦?Claude 能做到嗎?
它確實做到了!
我們來求一下聚類圖吧。
對象版本控制
對象存儲生命周期管理的一項基本功能是版本控制,即每次寫入對象都會被存儲為一個唯一的對象。版本控制通常默認不啟用。假設您是一位數據科學家,不記得檢查存儲桶是否啟用版本控制的具體命令。您可以使用通俗易懂的語言來提問:
這很好地提醒了我們版本控制的重要性,尤其是對于缺乏經驗的集群管理員和權限較低的用戶來說。那么另一個存儲桶呢?
這又一次很好地解釋了為什么版本控制如此重要,以及為什么這個存儲桶可能禁用了版本控制。與其詢問集群管理員,不如也為這個存儲桶啟用版本控制。我們不記得具體命令了,但應該沒問題。
我們沒有指定要在哪個存儲桶上啟用版本控制,但 Claude 記住了對話的上下文并采取了正確的行動。
信息生命周期管理 (ILM)
您還可以使用人類語言請求來獲取有關生命周期管理配置的信息,例如保留對象版本的規則和刪除限制。
以下是摘要。
再次強調,Claude 不僅提供了基本信息(也就是我們期望從命令行或 UI 工具中獲取的信息),還解釋了其含義。這正是 MCP 服務器作為傳統命令行管理的補充所展現的亮點——它提供了上下文和指導,從而簡化和加速任務的執行。
安全注意事項
安全性通常是關于 MCP 服務器的首要問題之一。如果我們允許它們訪問我們的文件系統、數據庫和對象存儲,該如何控制它們的功能?
我們在 AIStor MCP 服務器的多個層面上實現了這一點。首先,服務器默認以只讀模式啟動。其次,我們為 MCP 服務器添加了特殊標志,以賦予其更多功能。用戶可以添加以下標志:–allow-write、–allow-delete和–allow-admin。如果沒有這些標志,某些功能甚至對 LLM 都無法顯示。LLM 甚至不知道服務器可以刪除對象或獲取集群信息。
此外,所有對象存儲權限均適用。我們建議為此服務器創建一個單獨的帳戶,并創建一個僅允許必要操作的安全配置文件。我們建議首先以只讀模式使用該服務器,主要用于匯總存儲桶和對象。如果需要管理員級別的信息,請使用diagnostics每個集群中默認存在的配置文件。
結論
與 LLM 功能結合使用時,MCP 服務器將為 AIStor 的管理和用戶體驗增添新功能。它將復雜的命令行輸出轉換為人性化的摘要,為集群狀態查詢提供簡潔的答案,并生成餅圖和圖表等可視化輔助工具。這種方法使管理員和普通用戶能夠快速、直觀地了解其集群的運行狀況、數據分布和對象管理。
此外,整合法學碩士 (LLM) 是一種有價值的學習工具,可以在提供信息檢索的同時提供解釋和背景。
安全性通過多層級設計實現,包括默認只讀模式和用于授予額外功能的特定標志,確保對管理功能的訪問控制和安全。因此,MCP 服務器提供了一種強大且直觀的方式來管理和理解 AIStor 集群,使其成為任何組織的寶貴資產。