Leo Yeh's Blog

SAS Viya (7)

教學目標

初步了解如何建立 SAS Viya 3.2 安裝軟體的儲存體。

重點概念

首先 SAS Viya 3.2 的安裝部署與 SAS 9 安裝部署方式不一樣,主要透過 Ansible 工具進行自動部署,請參考下表。

SAS Viya 3.2 SAS 9
安裝工具 Ansible SAS Deployment Manager
安裝軟體 Repositories SAS Depot
安裝方式 Online Offline

接著我們若因為企業環境以需要離線 (Offline) 的方式安裝部署 SAS Viya 3.2 時,將能夠透過 Ansible 工具製作儲存體,並且儲存至本機端,總共五個操作步驟如下所示:

  1. 確認 Ansible 已安裝。
  2. 確認主機名稱和 IP 位置。
  3. 準備 repohosts 檔案。
  4. 確認 Ansible 存取和連線。
  5. 建立 SAS Viya 3.2 安裝軟體的儲存體。

再來我們開始進行上述五個操作步驟。

確認 Ansible 已安裝

輸入「ansible —version」指令確認版本是否為 2.2.1.0,若不是 2.2.1.0 安裝時可能會出錯。

1
2
$ ansible --version
ansible 2.2.1.0

確認主機名稱和 IP 位置

輸入「hostname -I && hostname -f」指令確認主機名稱和 IP 位置是否正確,準備 repohost 檔案會需要進行設定。

1
2
3
$ hostname -I && hostname -f
192.168.0.1
machine1.company.com

準備 repohosts 檔案

解壓縮訂單信件中的 SAS_Viya_playbook.tgz 檔案至 /sas/install/ 目錄中。

1
2
3
4
5
$ mkdir /sas
$ cd /sas
$ mkdir install
$ cd /sas/install
$ tar -zxvf SAS_Viya_playbook.tgz

編輯 repohosts 檔案。

1
$ vi /sas/install/sas_viya_playbook/repohosts

修改 lighthost 和 darkhost 的 ansible_ssh_host 為正確的主機名稱和 IP 位置。

1
2
lighthost ansible_ssh_host=machine1.compnay.com
darkhost ansible_ssh_host=machine1.compnay.com

確認 Ansible 存取和連線

輸入「ansible -i repohosts -m ping all」確認 Ansible 存取和連線是否正常。

1
2
3
4
5
6
7
8
9
$ ansible -i repohosts -m ping all
darkhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
lighthost | SUCCESS => {
"changed": false,
"ping": "pong"
}

建立 SAS Viya 3.2 安裝軟體的儲存體

輸入「ansible-playbook -i repohosts reposync.yml」開始建立儲存體 (Repositories)。

1
$ ansible-playbook -i repohosts reposync.yml

若出現下述類似訊息即代表建立 SAS Viya 3.2 安裝軟體的儲存體完成。

1
2
3
4
TASK [sending the log file] ****************************************************
skipping: [machine1.compnay.com]
PLAY RECAP *********************************************************************
machine1.compnay.com : ok=46 changed=0 unreachable=0 failed=0

其中 reposync.yml 檔案主要進行下述步驟:

  1. 從 SAS 官方提供網際網路的 yum 儲存體中下載 SAS 軟體的 RPM 套件檔案。
  2. 放置下載檔案至「/tmp/mirror/location」暫存目錄中。
  3. 建立 repo_override.txt 檔案至「/var/www/html/pulp/repos」儲存體目錄中。
  4. 複製暫存目錄「/tmp/mirror/location」的檔案至「/var/www/html/pulp/repos」儲存體目錄中。

最後當建立 SAS Viya 3.2 安裝軟體的儲存體完成時,我們就能夠透過「ansible-playbook -i hosts site.yml -e “@repo_override.txt”」指令透過儲存體離線安裝 SAS Viya 3.2 軟體,請注意要先確認三件事項,才能夠確保安裝順利進行,分別為:

  1. 確認前置作業和使用者是否已經建立完成。
  2. 確認 hosts 和 vars.yml 檔案是否已經設定正確。
  3. 確認 Ansible 工具連線所有相關主機是否正確。

總結我們可以透過 Ansible 工具建立 SAS Viya 3.2 安裝軟體的儲存體,以利進行離線安裝與部署,此外 SAS 官方文件則是提到多台主機建立 SAS Viya 3.2 安裝軟體的儲存體的方式,但是本篇先只以一台主機建立 SAS Viya 3.2 安裝軟體的儲存體為主。

相關資源

⬅️ Go back