

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 安裝生產授權
<a name="setting-up-production"></a>



本主題中的以下章節說明如何購買和使用生產授權 （永久授權或訂閱）。

**Topics**
+ [步驟 1：安裝 RLM 伺服器](#install-rlm)
+ [步驟 2：取得 RLM 伺服器的主機 ID](#hostid-rlm)
+ [步驟 3：購買永久授權或訂閱](#license-purchase)
+ [步驟 4：修改授權檔案](#setting-up-production-license-file)
+ [步驟 5：設定 RLM 伺服器](#setting-up-rlm-server)
+ [步驟 6：設定 Amazon DCV 伺服器](#setting-up-dcv-server)

## 步驟 1：安裝 RLM 伺服器
<a name="install-rlm"></a>

購買永久授權或訂閱時，您會獲得一個授權檔案，其中就定義授權條款。您必須將此授權檔案安裝在 Reprise License Manager (RLM) 伺服器。

如需有關 RLM 的詳細資訊，請參閱 [Reprise Software](https://reprisesoftware.com/products/reprise-license-manager-rlm/) 網站。

**Topics**
+ [在 Windows 上安裝 RLM 伺服器](#install-rlm-windows)
+ [在 Linux 上安裝 RLM 伺服器](#install-rlm-linux)

### 在 Windows 上安裝 RLM 伺服器
<a name="install-rlm-windows"></a>

**在 Windows 上安裝 RLM 伺服器**

1. 從 [Reprise Software 網站](https://reprisesoftware.com/support/admin/license-administration-bundle/)下載 RLM License Administration Bundle。
**注意**  
從 Amazon DCV 2022.1 版開始，需要 >= 14 的 RLM 伺服器。舊版需要 RLM >= 12。  
建議安裝 RLM 授權管理套件的最新穩定版本。

1. 將 RLM License Administration Bundle 安裝到 `C:\RLM`。

### 在 Linux 上安裝 RLM 伺服器
<a name="install-rlm-linux"></a>

**在 Linux 上安裝 RLM 伺服器**

1. 從 [Reprise Software 網站](https://reprisesoftware.com/support/admin/license-administration-bundle/)下載 RLM License Administration Bundle。
**注意**  
從 Amazon DCV 2022.1 版開始，需要 >= 14 的 RLM 伺服器。舊版需要 RLM >= 12。  
建議安裝 RLM 授權管理套件的最新穩定版本。

1. 建立使用者群組和 `rlm` 使用者。這可以是任何有效的使用者或服務帳戶。我們強烈建議您不要使用此值的根帳戶。

   ```
   $ groupadd -r rlm
   ```

   ```
   $ useradd -r -g rlm -d "/opt/nice/rlm" -s /sbin/nologin -c "RLM License Server" rlm
   ```

1. 建立 RLM 伺服器所需的 `/opt/nice/rlm` 和 `/opt/nice/rlm/license` 目錄。

   ```
   $ mkdir -p /opt/nice/rlm/license
   ```

1. 將 RLM License Administration Bundle 的內容解壓縮至 `/opt/nice/rlm/`，並確定檔案由 `rlm` 使用者所擁有。

   ```
   $ tar xvf x64_l1.admin.tar.gz -C /opt/nice/rlm/ --strip-components 1
   ```

   ```
   $ chown -R rlm:rlm /opt/nice/rlm
   ```

## 步驟 2：取得 RLM 伺服器的主機 ID
<a name="hostid-rlm"></a>

安裝 RLM 伺服器之後，您必須取得 RLM 伺服器的主機 ID。購買永久授權或訂閱時，您需要提供此主機 ID。

### 在 Windows 上取得 RLM 伺服器主機 ID
<a name="hostid-rlm-windows"></a>

**若要取得伺服器的主機 ID，請開啟命令提示字元，**  
導覽至 `C:\RLM\`，然後執行下列命令。

```
C:\> rlmutil.exe rlmhostid ether
```

命令會傳回 RLM 伺服器的主機 ID，如下所示。

```
Hostid of this machine: 06814example
```

請記下主機 ID。下一個步驟需要此值。

### 在 Linux 上取得 RLM 伺服器主機 ID
<a name="hostid-rlm-linux"></a>

**若要取得伺服器的主機 ID，請單一傳回**

1. 導覽至 `/opt/nice/rlm/`。

1. 執行以下命令：

   ```
   $ ./rlmutil rlmhostid ether
   ```

   命令會傳回每個網路界面的 RLM 伺服器主機 ID，如下所示。

1. 記錄主機 ID。下一個步驟需要此值。

**Example**  
已執行此程序，並傳回下列單一 ID：  

```
Hostid of this machine: 0a1b2c3d4e5f
```
然後會記錄此 ID，並將用來購買 DCV 的授權。

**若要取得伺服器的主機 ID，多個 會傳回**

1. 導覽至 `/opt/nice/rlm/`。

1. 執行以下命令：

   ```
   $ ./rlmutil rlmhostid ether
   ```

   多個 IDs 會在 IDs 清單中傳回。

1. 執行下列命令。

   ```
   iface=$(route -n | grep " UG " | tr -s " " | cut -d" " -f8)
   ip link show $iface | grep link/ether | tr -s " " | cut -d" " -f3 | tr -d ":"
   ```

   命令應傳回閘道網路界面的 RLM 伺服器主機 ID。

1. 記錄主機 ID。下一個步驟需要此值。

**Example**  
程序已執行，並在多個 IDs 的清單中傳回多個 ID：  

```
Hostid of this machine: 0a1b2c3d4e5f 1b2c3d4e5f6a 2c3d4e5f6a7b 3d4e5f6a7b8c
```
介面命令會執行並傳回下列 ID：  

```
Hostid of this machine: 0a1b2c3d4e5f
```
然後會記錄此 ID，並將用來購買 DCV 的授權。

## 步驟 3：購買永久授權或訂閱
<a name="license-purchase"></a>

如需有關如何購買 Amazon DCV 永久授權或訂閱的資訊，請參閱[如何在 Amazon DCV 網站上購買](https://www.nice-software.com/index.html#buy)，以及尋找您所在區域的 Amazon DCV 經銷商或經銷商。

您必須提供 RLM 伺服器的主機 ID。主機 ID 內嵌在 Amazon DCV 提供的授權檔案中。

## 步驟 4：修改授權檔案
<a name="setting-up-production-license-file"></a>

當您購買 Amazon DCV 永久授權或訂閱時，您會收到定義授權`license.lic`的檔案。`license.lic` 檔案包含下列資訊：
+ RLM 伺服器的主機名稱。
+ 您在購買授權時提供的 RLM 伺服器的主機 ID。
+ RLM 伺服器的 TCP 連接埠號碼。預設值為 `5053`。
+ ISV 連接埠號碼。這是選用連接埠，其中 RLM 伺服器會接聽 Amazon DCV 授權請求。如果未指定，RLM 會在啟動時挑選隨機連接埠。
+ 授權涵蓋的 Amazon DCV 產品，以及每個產品的下列詳細資訊：
  + 授權涵蓋的主要版本 （例如，`2017`適用於 2017 Amazon DCV 產品）。
  + 過期日期。 `Permanent`表示授權不會過期。
  + 並行工作階段數目上限 (例如，`10` 代表伺服器上 10 個並行工作階段)。
  + 授權檢查總和。
  + 授權簽章。

下列程式碼區塊顯示 `license.lic` 檔案的格式：

```
HOST {{RLM_server_hostname}} {{RLM_server_host_id}} {{RLM_server_port}}
ISV nice port={{port_number}}
LICENSE {{product_1}} {{major_version}} {{expiration_date}} {{concurrent_sessions}} share=hi _ck={{checksum}} sig="{{signature}}"
LICENSE {{product_2}} {{major_version}} {{expiration_date}} {{concurrent_sessions}} share=hi _ck={{checksum}} sig="{{signature}}"
```

下列程式碼區塊顯示的 `license.lic` 檔案範例已省略 ISV 連接埠。授權檔案包含兩個 Amazon DCV 產品的授權，即 DCV 和 dcv-gl。

```
HOST My-RLM-server abcdef123456 5053
ISV nice
LICENSE nice dcv 2017 permanent 10 share=hi _ck=456789098a sig="abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890ab"
LICENSE nice dcv-gl 2017 permanent 10 share=hi _ck=123454323x sig="1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz12"
```

**編輯 `license.lic` 檔案**

1. 在您偏好的文字編輯器中開啟檔案 。

1. 將 RLM 伺服器的主機名稱和 TCP 連接埠號碼新增至檔案的第一行，開頭為 `HOST`。
**警告**  
{{RLM\_server\_host\_id}} 是您在購買授權時提供的主機 ID。您無法編輯 {{RLM\_server\_host\_id}}。

1. （選用） 透過新增 ，在檔案中以 開頭的行中`ISV`新增 ISV 連接埠號碼`port={{port_number}}`。需要此連接埠才能啟用與 DCV 伺服器的通訊。

   如果您不想指定 ISV 連接埠，請省略 `port={{port_number}}`。如果您未指定 ISV 連接埠，則 RLM 會在每次啟動時使用隨機連接埠。
**警告**  
如果您有防火牆設定阻止使用隨機選取的連接埠，除了 `HOST`行中指定的 RLM 連接埠之外，還需要指定此連接埠並設定防火牆來啟用它。

1. 儲存並關閉檔案。

**警告**  
編輯授權檔案的其他任何部分會損毀檔案的簽章，並導致授權無效。

## 步驟 5：設定 RLM 伺服器
<a name="setting-up-rlm-server"></a>

修改授權檔案之後，您必須將其放在 RLM 伺服器上，然後啟動 RLM 服務。

**Topics**
+ [在 Windows 上設定 RLM 伺服器](#prep-windows)
+ [在 Linux 上設定 RLM 伺服器](#prep-linux)

### 在 Windows 上設定 RLM 伺服器
<a name="prep-windows"></a>

**在 Windows 上設定 RLM 伺服器**

1. 連線至 RLM 伺服器。

1. 將已編輯的 `license.lic` 檔案複製到 `C:\RLM\license\`。

1. 從 Amazon DCV 伺服器複製 `C:\Program Files\NICE\DCV\Server\license\nice.set` 檔案，並將其放在 RLM 伺服器的 `C:\RLM\` 資料夾中。

1. 安裝 RLM 伺服器做為 Windows 服務。

   ```
   C:\> rlm.exe -nows -dlog C:\RLM\rlm.log -c C:\RLM\license -install_service -service_name dcv-rlm
   ```

   如需 RLM 啟動選項的詳細資訊，請參閱 [Reprise Software License Manager (RLM)](https://reprisesoftware.com/products/reprise-license-manager-rlm/) 產品頁面。

1. 啟動 RLM 伺服器。

   ```
   C:\> net start dcv-rlm
   ```

1. 確認 RLM 伺服器正在執行。

   1. 使用您偏好的文字編輯器開啟 `C:\RLM\nice.dlog`，並確認出現下列這一行。

      ```
      {{date_time}} (nice) Server started on license1 (hostid: {{host_id}}) for: dcv dcv-gl
      ```
**注意**  
`rlm.log` 檔案的內容可能依 RLM 伺服器版本而略有不同。

   1. 執行下列命令。

      ```
      C:\RLM\rlmutil rlmstat -a -c {{rlm_server_hostname}}@5053
      ```

      命令會傳回 RLM 伺服器的相關資訊。

### 在 Linux 上設定 RLM 伺服器
<a name="prep-linux"></a>

**在 Linux 上設定 RLM 伺服器**

1. 將已編輯的 `license.lic` 檔案複製到 `/opt/nice/rlm/license/`。

1. 從 Amazon DCV 伺服器複製`/usr/share/dcv/license/nice.set`檔案，並將其放在 `/opt/nice/rlm` RLM 伺服器上。

1. 建立 RLM 伺服器服務，並確定會在啟動時自動啟動。

   1. 在 `dcv-rlm` 資料夾中建立名為 `/opt/nice/rlm/` 的檔案：

      ```
      $ touch /opt/nice/rlm/dcv-rlm
      ```

   1. 使用您偏好的文字編輯器開啟檔案，並在其中加入下列指令碼。儲存並關閉檔案。

      ```
      #! /bin/sh
      # chkconfig: 35 99 01
      # description: The Reprise License Manager daemon.
      # processname: dcv-rlm
      
      ### BEGIN INIT INFO
      # Provides: dcv-rlm
      # Required-Start: $local_fs $remote_fs $syslog
      # Required-Stop: $local_fs $remote_fs $syslog
      # Default-Start: 3 4 5
      # Default-Stop: 0 1 2 6
      # Short-Description: The Reprise License Manager daemon.
      # Description: A service that runs the Reprise License Manager daemon.
      ### END INIT INFO
      
      # user used to run the daemon
      RLM_USER="rlm"
      
      # root of rlm installation
      RLM_ROOT="/opt/nice/rlm"
      
      # license directory (license files should have .lic extension)
      RLM_LICENSE_DIR="/opt/nice/rlm/license"
      
      # log file
      RLM_LOG_FILE="/var/log/rlm.log"
      
      _getpid() {
          pidof -o $$ -o $PPID -o %PPID -x "$1"
      }
      
      start() {
          echo -n "Starting rlm: "
          touch ${RLM_LOG_FILE}
          chown "${RLM_USER}" ${RLM_LOG_FILE}
          su -p -s /bin/sh "${RLM_USER}" -c "${RLM_ROOT}/rlm -c ${RLM_LICENSE_DIR} \
              -nows -dlog +${RLM_LOG_FILE} &"
          if [ $? -ne 0 ]; then
              echo "FAILED"
              return 1
          fi
          echo "OK"
      }
      
      stop() {
          echo -n "Stopping rlm: "
          pid=`_getpid ${RLM_ROOT}/rlm`
          if [ -n "$pid" ]; then
              kill $pid >/dev/null 2>&1
              sleep 3
              if [ -d "/proc/$pid" ] ; then
                  echo "FAILED"
                  return 1
              fi
          fi
          echo "OK"
      }
      
      status() {
          pid=`_getpid ${RLM_ROOT}/rlm`
          if [ -z "$pid" ]; then
              echo "rlm is stopped"
              return 3
          fi
          echo "rlm (pid $pid) is running..."
          return 0
      }
      
      restart() {
          stop
          start
      }
      
      case "$1" in
          start)
              start
              ;;
          stop)
              stop
              ;;
          status)
              status
              ;;
          restart)
              restart
              ;;
          *)
              echo $"Usage: $0 {start|stop|status|restart}"
              exit 1
      esac
      
      exit $?
      
      # ex:ts=4:et:
      ```

   1. 將指令碼設為可執行檔，再複製到 `/etc/init.d/`，然後加入至 `chkconfig` 公用程式：

      ```
      chmod +x /opt/nice/rlm/dcv-rlm 
      ```

      ```
      cp -a /opt/nice/rlm/dcv-rlm /etc/init.d/
      ```

      ```
      chkconfig --add dcv-rlm
      ```

1. 啟動 RLM 伺服器：

   ```
   $ service dcv-rlm start
   ```

1. 確認 RLM 伺服器依預期在執行並且正常運作。使用您偏好的文字編輯器開啟 `var/log/rlm.log`，並確認出現下列一行：

   ```
   {{date_time}} (nice) Server started on license1 (hostid: {{host_id}}) for: dcv dcv-gl
   ```
**注意**  
`rlm.log` 檔案的內容可能依 RLM 伺服器版本而略有不同。

## 步驟 6：設定 Amazon DCV 伺服器
<a name="setting-up-dcv-server"></a>

將 Amazon DCV 伺服器設定為使用 RLM 伺服器。若要這樣做，您必須在 Amazon DCV 伺服器上設定`license-file`組態參數。

 `license-file` 參數必須以 RLM 伺服器的規格設定，格式為 `{{RLM_server_port}}@{{RLM_server}}`。RLM 伺服器可以指定為主機名稱或 IP 地址。如果未明確設定，則 RLM 伺服器連接埠預設為 `5053`。

 如果使用多個 RLM 伺服器，您可以指定多個 RLM 伺服器規格的清單，在 Linux `:`上由 分隔，在 Windows `;` 上由 分隔。然後，伺服器將嘗試依序連接到每個伺服器，直到可以與對應的 RLM 伺服器建立一個連線。例如，當使用 RLM 容錯移轉伺服器接管主要 RLM 伺服器無法連線時，這特別有用。在此情況下，您可以使用下列格式指定授權： `{{RLM_primary_server_port}}@{{RLM_primary_server}}:{{RLM_failover_server_port}}@{{RLM_failover_server}}`

**注意**  
如果 Amazon DCV Server 安裝在 Windows 上，您需要使用 分隔規格中的項目`;`。

**Topics**
+ [Windows Amazon DCV Server 組態](#config-win)
+ [Linux Amazon DCV 伺服器組態](#config-linux)

### Windows Amazon DCV Server 組態
<a name="config-win"></a>

**若要設定 Windows 伺服器的 `license-file` 組態參數**

1. 開啟 Windows 登錄編輯程式。

1. 導覽至 **HKEY\_USERS\\S-1-5-18\\Software\\GSettings\\com\\nicesoftware\\dcv\\license\\** 金鑰，然後選取 **license-file** 參數。

   如果登錄機碼中沒有 `license-file` 參數，則必須建立：

   1. 在左邊窗格中開啟 **license** 機碼的內容 (按右鍵) 功能表，並選擇**新增**、**字串值**。

   1. 在**名稱**中，輸入 `license-file`，然後按 **Enter**。

1. 開啟 **license-file** 參數。在**數值資料**中，以 `{{RLM_server_port}}@{{RLM_server}}` 格式輸入 RLM 伺服器的連接埠號碼和主機名稱。如果您需要設定與多個 RLM 伺服器的連線，請檢查上述備註。

1. 選擇 **OK (確定)** 並關閉 Windows 登錄編輯程式。

### Linux Amazon DCV 伺服器組態
<a name="config-linux"></a>

**若要設定 Linux 伺服器的 `license-file` 組態參數**

1. 導覽至 `/etc/dcv/`，然後使用您徧好的文字編輯器開啟 `dcv.conf`。

1. 在 `[license]` 區段中，找到 `license-file` 參數。然後，將現有路徑取代為`{{RLM_server_port}}@{{RLM_server}}`格式為 RLM 伺服器的連接埠和主機名稱。

   如果 `license-file` 區段中沒有 `[license]` 參數，請使用下列格式新增此參數：

   ```
   license-file = "{{RLM_server_port}}@{{RLM_server}}"
   ```

   如果您需要設定與多個 RLM 伺服器的連線，請檢查上述備註。

1. 儲存並關閉檔案。