iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0

遠端部署是 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 的時間。

接下來我們用官方佈署圖型進行說明

  1. 代理程式根據 PROLOG_FREQ 的頻率聯繫 OCS Inventory,該動作稱為 PROLOG。
  2. OCS Inventory 則根據 Teledeploy Configuration 回應,該動作稱為 PROLOG_RESPONSE。
  3. 代理程式根據 Teledeploy Configuration 的設定,下載套件的 INFO 與更新代理程式的 ini 配置。Period Length 為 4 代表每個 Period 會有 4 個 Cycle,當 Cycle 的號碼能夠被 Priority 整除時便會開始執行動作。
  4. Cycle 2 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 1。
  5. Cycle 4 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 2。
  6. 開始新一輪的 Period 計算
  7. Cycle 2 能被 Priority 2 整除,代理程式開始跟 Deployment Server 下載套件的分段 3。根據套件的 INFO 可以得知 FRAGMENT 為 3,代理程式便知道套件已經下載完成。
  8. 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 應用程式,敬請期待。

參考文件

  1. https://wiki.ocsinventory-ng.org/05.Deployment/Configuration
  2. https://wiki.ocsinventory-ng.org/05.Deployment/Deploying-packages-or-executing-commands-on-client-hosts

上一篇
如何建立 GPO 軟體派送封裝好的代理程式
下一篇
如何使用 OCS Inventory 代理程式遠端部署 MSI 應用程式
系列文
OCS Inventory:開源資產管理解決方案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言