遠端部署是 OCS Inventory 中一個重要的功能,它可以協助管理者在遠端的計算機上部署軟體、更新驅動程式、設定系統參數等等。
遠端部署的主要功能如下
- 遠端安裝與移除 MSI 應用程式
- 遠端執行 Windows 執行檔
- 遠端更新 OCS Inventory 代理程式
- 遠端執行 PowerShell 或批次腳本
- 遠端複製檔案到資料夾
必要條件
預設需要啟用 HTTPS,若 OCS Inventory 未配置 HTTPS,則不會發送部署套件。請先參閱之前的文章,替您的 OCS Inventory 配置 SSL 憑證。
請注意,OCS Inventory 使用的憑證 CN 名稱與代理程式使用的完整網域名稱必須相同。
系統配置
到 Configuration 點選 General Configuration
點選 Deployment,將 DOWNLOAD 參數設置為 ON 來啟用 OCS Inventory 部署功能。
部署原理
為了讓大家更好的理解部署的參數,我們先進行部署原理的講解。
OCS Inventory 透過 PROLOG_FREQ 來控制 Windows 代理程式運行的頻率,預設代理程式將每隔 24 小時與 OCS Inventory 聯繫一次。
若您想要套件早點生效以進行部署,建議縮短 PROLOG_FREQ 的時間。
接下來我們用官方佈署圖型進行說明
- 代理程式根據 PROLOG_FREQ 的頻率聯繫 OCS Inventory,該動作稱為 PROLOG。
- OCS Inventory 則根據 Teledeploy Configuration 回應,該動作稱為 PROLOG_RESPONSE。
- 代理程式根據 Teledeploy Configuration 的設定,下載套件的 INFO 與更新代理程式的 ini 配置。Period Length 為 4 代表每個 Period 會有 4 個 Cycle,當 Cycle 的號碼能夠被 Priority 整除時便會開始執行動作。
- Cycle 2 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 1。
- Cycle 4 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 2。
- 開始新一輪的 Period 計算
- Cycle 2 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 3。根據套件的 INFO 可以得知 FRAGMENT 為 3,代理程式便知道套件已經下載完成。
- Cycle 4 能被 Priority 2 整除,代理程式開始執行指令安裝套件並回傳狀態結果。
補充一下 Period 與 Cycle 延遲時間的示意圖如下
關於 Cycle 與 Priority 之間的關聯,我已經幫大家整理好。
假設 Period 有 10 個 Cycle 數量
警告:Priority 0 是一個特殊級別。
除了擁有最高優先下載的權力,如果下載失敗,代理程式將重試下載而不檢查其他 Priority 的套件。
Priority 1 將會分別於 Cycle 執行,共 10 次。
Priority 2 將會分別於 Cycle 2, 4, 6, 8, 10 執行,共 5 次。
Priority 3 將會分別於 Cycle 3, 6, 9 執行,共 3 次。
Priority 4 將會分別於 Cycle 4, 8 執行,共 2 次。
Priority 5 將會分別於 Cycle 5, 10 執行,共 2 次。
Priority 6 以上只會執行 1 次
OCS Inventory 透過設定套件的 Priority 以及 Cycle 的延遲時間,不但讓下載的網路流量進行分散,也讓重要的套件可以優先進行安裝。
部署參數
相信在說明完部署原理之後,再回來看這些參數設定就比較能理解了。
- DOWNLOAD_CYCLE_LATENCY:每個 Cycle 下載所有片段之後的延遲時間,預設為 60 秒。
- DOWNLOAD_FRAG_LATENCY:每個片段下載之後的延遲時間,預設為 10 秒。
- DOWNLOAD_PERIOD_LATENCY:每個 Period 結束之後的延遲時間,預設為 1 秒。
- DOWNLOAD_TIMEOUT:設定套件部署的有效期間,預設為 30 天。若超過,則回傳 ERR_TIMEOUT 到 OCS Inventory。
- DOWNLOAD_PERIOD_LENGTH:每個 Period 的 Cycle 數量,預設為 10 個。
您可以透過減少 Cycle 數量來停止下載 Priority 高於此值的套件。例如 Cycle 設定為 5,則 Priority 6 以上的套件將會停止部署。
- DOWNLOAD_URI_FRAG:指定套件分段的所在位置
- DOWNLOAD_URI_INFO:指定套件 INFO 文件的所在位置
以下 3 個參數僅在 OCS Inventory 2.9 之後可用
- DOWNLOAD_ACTIVATE_FRAG:如果要將安裝套件切割成多個片段,請設置為 ON。
- DOWNLOAD_RATIO_FRAG:設定切割的大小,請依據企業的網路速度決定。如果您設定為 5MB,若套件大小約 20MB,則套件將自動切割成 4 個片段。
- DOWNLOAD_AUTO_ACTIVATE:若要在套件創建後直接啟用它,而無需手動操作,請設置為 ON。
今天的簡單地闡述 OCS Inventory 遠端部署的系統配置與運作原理,下一篇文章將教大家如何使用 OCS Inventory 代理程式遠端安裝與移除 MSI 應用程式,敬請期待。
參考文件
-
https://wiki.ocsinventory-ng.org/05.Deployment/Configuration
-
https://wiki.ocsinventory-ng.org/05.Deployment/Deploying-packages-or-executing-commands-on-client-hosts