# Dell EMC PowerProtect DDVE - Part 1: 佈署安裝 ###### tags: `dellemc` `ddve` [toc] **PowerProtect DD Virtual Edition** 是虛擬化重複資料刪除應用裝置,可在企業環境中提供資料保護與災難回復能力。**DDVE 一律須搭配備份軟體使用**。 > DD 應為 Data Domain **DDVE系統架構** ![](https://i.imgur.com/2aKdgOb.png) # 準備安裝 ## 下載 DDVE [下載連結](https://www.dell.com/support/home/zh-tw/product-support/product/dd-virtual-edition/drivers)(需要有效帳號登入) 基本上瀏覽 Dell 官方網站,選擇**支援** > **驅動程式與下載項目**,在搜尋欄位輸入 **data domain virtual edition**,選擇所需產品名稱。 ![](https://i.imgur.com/werbgOt.png) **關鍵字**搜尋欄位輸入 **LTS**。這裡就先選擇**長期支援版本(LTS)**作為下載測試使用。 ![](https://i.imgur.com/c17uIkd.png) 分別在要下載的版本資訊右側點選**下載**。 ![](https://i.imgur.com/e1wZr39.png) 將會**開啟 EULA 文件**,請詳細閱讀內容後,點擊 **I Accept**。 <img width=480 src='https://i.imgur.com/DBu4tEE.png'> 將會跳轉**下載列表**,還是需要詳細閱讀內容,並根據佈署平台下載 DDVE 佈署檔。這裡就以 **vSphere** 作為測試平台囉。 <img width=480 src='https://i.imgur.com/kn4Nk3q.png'><br><br> :::info **下載資訊** | 版本 | EULA 文件 | 下載列表 | vSphere 佈署 zip 檔 | SHA356 驗證碼 | | --- | --- | --- | --- | --- | | 7.7.4 | [連結](https://dl.dell.com/downloads/MP6RH_PowerProtect-DD-Virtual-Edition-7.7.4.0-LTS.pdf) | [連結](https://dl.dell.com/downloads/HG76H) | [ddve-vsphere-7.7.4.0-1017976.zip](https://dl.dell.com/downloads/9JFK2) | 8513744a2b59941c7ee6d5e1b37b4ca619dd1ad93270ff866ceb4ad7290b4ffd | | 7.7.3 | [連結](https://dl.dell.com/downloads/FNW34_PowerProtect-DD-Virtual-Edition-7.7.3.0-LTS.pdf) | [連結](https://dl.dell.com/downloads/DLD3123) | [ddve-vsphere-7.7.3.0-1011963.zip](https://dl.dell.com/downloads/DLD3116) | 9a5293a9e3e7931acc0a50e7c59bbed890ec1342e6bb805e22b2f4d9706412b2 | ::: ## 檔案驗證 使用以下命令確認 sha256sum 驗證碼是否相符(**務必確認**)。 ```bash $ sha256sum ddve-vsphere-7.7.4.0-1017976.zip ``` 將檔案解壓,並確認包含 **DDVE OVA 檔**及**讀我檔案**。 ```bash $ unzip ddve-vsphere-7.7.4.0-1017976.zip Archive: ddve-vsphere-7.7.4.0-1017976.zip extracting: ddve-7.7.4.0-1017976.ova inflating: ddve-vsphere-readme.txt ``` > 其中**讀我檔案**提供 **PowerProtect 和 Data Domain 核心文件**,由 Dell Information Design and Development (IDD) 團隊製作的核心文件。[[連結]](https://www.dell.com/support/kbdoc/en-us/000126375/powerprotect-and-data-domain-core-documents) ## OVFTool 工具探索 使用 OVFTool 工具可快速探索及了解 OVA 檔案。輸入以下命令檢視 OVA 檔案內容。 ```bash $ ovftool --hideEula --X:enableHiddenProperties --disableVerification --allowExtraConfig ddve-7.7.4.0-1017976.ova ``` **輸出內容** ```bash OVF version: 1.0 VirtualApp: false Name: Data Domain Virtual Edition Version: 7.7.4.0 Full Version: 7.7.4.0-1017976 Vendor: EMC Product URL: http://www.emc.com/data-protection/data-domain/index.htm Vendor URL: http://www.emc.com/data-protection/data-domain/index.htm Annotation: Data Domain Virtual Edition (DD VE): Software only data protection storage appliance Download Size: 3.49 GB Deployment Sizes: Flat disks: 260.00 GB Sparse disks: 1.87 GB Networks: Name: VM Network 1 Description: The VM Network 1 network Name: VM Network 2 Description: The VM Network 2 network Virtual Machines: Name: ddve-7.7.4.0-1017976 Operating System: otherguest64 Virtual Hardware: Families: vmx-10 Number of CPUs: 2 Cores per socket: 2 Memory: 8.00 GB Disks: Index: 0 Instance ID: 14 Capacity: 250.00 GB Disk Types: SCSI-VirtualSCSI Index: 1 Instance ID: 15 Capacity: 10.00 GB Disk Types: SCSI-VirtualSCSI NICs: Adapter Type: VmxNet3 Connection: VM Network 1 Adapter Type: VmxNet3 Connection: VM Network 2 Deployment Options: Id: 8TB (default) Label: 8TB Configuration - 2CPUs, 8GB Memory Description: 8TB configuration refers to the resource reservation of 1 socket with 2 cores and 8GB memory. This configuration is able to support 0.5TB up to 8TB Data Domain Filesystem (DDFS) capacity. Id: 16TB Label: 16TB Configuration - 4CPUs, 16GB Memory Description: 16TB configuration refers to the resource reservation of 1 socket with 4 cores and 16GB memory. This configuration is able to support 0.5TB up to 16TB Data Domain Filesystem (DDFS) capacity. Id: 32TB Label: 32TB Configuration - 4CPUs, 24GB Memory Description: 32TB configuration refers to the resource reservation of 1 socket with 4 cores and 24GB memory. This configuration is able to support 0.5TB up to 32TB Data Domain Filesystem (DDFS) capacity. Id: 48TB Label: 48TB Configuration - 4CPUs, 36GB Memory Description: 48TB configuration refers to the resource reservation of 1 socket with 4 cores and 36GB memory. This configuration is able to support 0.5TB up to 48TB Data Domain Filesystem (DDFS) capacity. Id: 64TB Label: 64TB Configuration - 8CPUs, 48GB Memory Description: 64TB configuration refers to the resource reservation of 1 socket with 8 cores and 48GB memory. This configuration is able to support 0.5TB up to 64TB Data Domain Filesystem (DDFS) capacity. Id: 96TB Label: 96TB Configuration - 8CPUs, 64GB Memory Description: 96TB configuration refers to the resource reservation of 1 socket with 8 cores and 64GB memory. This configuration is able to support 0.5TB up to 96TB Data Domain Filesystem (DDFS) capacity. Id: Cloud16TB Label: Cloud16TB Configuration - 4CPUs, 32GB Memory Description: Cloud16TB configuration refers to the resource reservation of 1 socket with 4 cores and 32GB memory. This configuration supports cloud feature. It supports Data Domain Filesystem (DDFS) capacity up to 16TB for active tier and up to 32TB for cloud tier. Id: Cloud64TB Label: Cloud64TB Configuration - 8CPUs, 60GB Memory Description: Cloud64TB configuration refers to the resource reservation of 1 socket with 8 cores and 60GB memory. This configuration supports cloud feature. It supports Data Domain Filesystem (DDFS) capacity up to 64TB for active tier and up to 128TB for cloud tier. Id: Cloud96TB Label: Cloud96TB Configuration - 8CPUs, 80GB Memory Description: Cloud96TB configuration refers to the resource reservation of 1 socket with 8 cores and 80GB memory. This configuration supports cloud feature. It supports Data Domain Filesystem (DDFS) capacity up to 96TB for active tier and up to 192TB for cloud tier. IP Allocation Policy: Schemes: ovfenv dhcp Protocols: IPv4 IPv6 References: File: ddve-7.7.4.0-1017976-disk1.vmdk ``` 從以上內容大致可以得到以下資訊: - DDVE 提供**佈署選項(Deployment Option)** 有 **8TB(預設)**, **16TB**, **32TB**, **48TB**, **64TB**, **96TB**, **Cloud16TB**, **Cloud64TB**. **Cloud96TB**。 - 虛擬主機預設提供 **250GB(System Disk)** 和 **10GB(vNVRAM Disk)** - 預設配置 **2 組 VmxNet3 虛擬網路介面卡**。 - 安裝時 **IP Allocation Policy - Schemes** 僅有提供 **ovfenv** 和 **dhcp** 模式。實際佈署時除了可以**設定 DHCP 取得 IP 位址**外,<font color=red>**安裝過程並沒有配置 靜態 IP 位址的功能選項**</font>。 ## 虛擬機配置條件 虛擬機平台**以 VMware vSphere 作為主要測試環境**,其他支援平台請參考官方文件說明。 ### CPU 和記憶體資源需求 ![](https://i.imgur.com/nKNDr9o.png) ### NIC 預設配置 **2 組 VMXNET3 網路介面卡**,可根據實際需求新增至最多 **8 組 VMXNET3 網路介面卡**。 - 新增的 NIC **只能是 VMXNET3**。對於 **VMXNET2 和 E1000(E) 類型的 NIC 雖然可新增至虛擬機,但卻無法顯示或使用。 - **不支援熱插拔(hot add/hot remove)**,DDVE 虛擬機**需要重新啟動** ### 容量配置 - 對於較小容量配置,DDVE 要求至少佈署 **460GiB 可用存儲**: - 系統磁碟: 250 GiB - vNVRAM 磁碟: 10 GiB - **第一個資料磁碟: 200 GiB** - 對於以下容量配置的 DDVE,部署要求至少 **760 GiB 可用存儲**: - 64TB - Cloud 64TB - 96TB - Cloud 96TB > 其中 96TB,第一個資料磁碟最少容量則須為 500 GiB ### 時間同步 - 若將 DDVE 加入 Active Directory 網域,可忽略此步驟。 - 完成 DDVE 佈署後,可透過配置精靈完成 NTP 設定。 - 使用命令 **`ntp enable`** 啟用 NTP,則會停用虛擬機器同步為 ESXi 主機時間。若要重新啟用,執行命令 **`ntp disable`**。 # 動手安裝 安裝方式除了透過 **vCenter Web Client** 的 GUI 佈署外,當然也少不了 **Ansible** 的 CLI 佈署方式。測試環境需要反覆地安裝/刪除,使用 Ansible 的方式還是比較輕鬆寫意的。 ## 透過 vCenter Web Client 佈署 DDVE 基本上 DDVE OVA 佈署,能夠設定的項目不多,按照一般 OVA 佈署方式完成即可。 - 登入 vCenter Web Client,在 **Datacenter** 點選 **Deploy OVF Template** 進行佈署。 <img width=250 src='https://i.imgur.com/K9kEooF.png'> - 指定 DDVE OVA 檔案 <img width=720 src='https://i.imgur.com/hIHoxd2.png'> - 指定虛擬機器名稱及安裝路徑。 <img width=720 src='https://i.imgur.com/czTqNTY.png'> - 指定安裝的叢集或 ESXi 運算資源。 <img width=720 src='https://i.imgur.com/bYuIOpI.png'> - 檢視 DDVE OVA 檔案內容。 <img width=720 src='https://i.imgur.com/0BPbhLF.png'> - 選擇安裝規模,將會根據規模配置虛擬機器的運算資源。其中 **8TB** 為預設選項。 <img width=720 src='https://i.imgur.com/F8wtmFr.png'> - 指定資料存放區。官方建議採用 **Thick Provision Lazy Zeroed** 作為使用效能及佈署時間平衡的方式。 <img width=720 src='https://i.imgur.com/045N0ba.png'> - 指定網路。 <img width=720 src='https://i.imgur.com/zsSmK8E.png'> - 確認佈署資訊。 <img width=720 src='https://i.imgur.com/TtA3r0D.png'> :::info - DDVE 佈署時實際可組態的項目極少,完成虛擬機器佈署後,請**手動開啟電源**完成後續系統組態。 - 佈署完成後但未開啟電源前,可以先配置硬碟空間作為資料存放碟。 - 以 **DDVE 8TB 佈署**為例,最少需要 **460GB** 資料存放空間,其中: - System Disk: 250 GiB (**系統預設**) - vNVRAM Disk: 10 GiB (**系統預設**) - First Data Disk: **200 GiB** 以上 ::: ## 透過 Ansible 佈署 DDVE 根據以往使用 Ansible 的經驗,透過簡單的 YAML 佈署檔就可以輕鬆完成佈署。不過,DDVE 可以設定的項目真的很少!至少**直接配置 IP 位址資訊就無法達成**。 :::info - 如果佈署環境能**採用 DHCP 方式**就用吧! - 配置參數 **`ipAllocationPolicy`** 請調整成 **`dhcpPolicy`**。 - DDVE 取得 IP 位址後,便可透過 **瀏覽器(GUI)** 或 **SSH(CLI)** 完成後續的系統設定。 ::: ### 環境配置檔 `ddve_config.yml` ```yaml= --- ovftool: "/usr/bin/ovftool" pod: "dellemc" owner: "Richard" # path to ova file ovapath: "/mnt/ovaPath/dellemc_ova" ovafile: "ddve-7.7.3.0-1011963.ova" # vCenter vc: ip: "10.7.155.1" vmname: "vcsa01" user: "administrator@vsphere.loca" pass: "password" datacenter: "Datacenter" cluster: "Cluster" datastore1: "datastore" # ESXi esxi01: ip: "10.7.155.2" hostname: "esxi01.vmware.lab" user: "root" password: "password" datastore: "datastore1" ## dns domain: "metaage.lab" dns_server01: "10.7.150.176" ## port group for storage storage_portgroup: "PG-STORAGE" storage_vswitch: "vSwitch0" storage_vlanid: 0 ## ddve configuration ddve: ## Please amend this vmname for your purpose vmname: "{{ owner }}-{{ pod }}-DDVE01" ip: "10.7.155.100" netmask: "255.255.255.0" gateway: "10.7.155.254" hostname: "ddve01" domain: "{{ domain }}" dns: "{{ dns_server01 }}" network: "{{ storage_portgroup }}" diskmode: "thin" datastore: "{{ vc.datastore1 }}" parentfolder: "{{ owner }}" folder: "Storage" poweron: false ## dhcpPolicy, transientPolicy, fixedPolicy, fixedAllocatedPolicy" ipAllocationPolicy: "fixedPolicy" ipProtocol: "IPv4" deploymentOption: "8TB" ``` ### 佈署配置檔 `ddve_deploy.yml` 透過以下佈署配置檔,依序完成 DDVE 環境佈署。 - 建立 Port Group - 建立存放 DDVE 資料夾 - 根據環境配置檔佈署 DDVE - 遷移 DDVE 至指定資料夾及 ESXi 主機 - 新增 250 GiB 資料存放碟(first data disk) - 注意配置**第一個資料碟的容量大小**,相關資訊請參考原廠文件。, ```yaml= --- - hosts: local gather_facts: false connection: local tasks: - name: '讀取預設參數' include_vars: ../00_config/ddve_config.yml - name: '建立儲存用連接埠群組 PG-STORAGE' community.vmware.vmware_portgroup: hostname: "{{ item.ip }}" username: "{{ item.user }}" password: "{{ item.pass }}" validate_certs: false hosts: "{{ item.ip }}" switch: "{{ storage_vswitch }}" portgroup: "{{ storage_portgroup }}" vlan_id: "{{ storage_vlanid | default(0) }}" state: present delegate_to: localhost with_items: "{{ esx_list }}" - name: '建立父系資料夾' community.vmware.vcenter_folder: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false datacenter_name: "{{ vc.datacenter }}" #parent_folder: "{{ ddve.parentfolder }}" folder_name: "{{ owner }}" folder_type: vm state: present register: vm_folder_creation_result delegate_to: localhost - name: '建立 VM 存放資料夾' community.vmware.vcenter_folder: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false datacenter_name: "{{ vc.datacenter }}" parent_folder: "{{ ddve.parentfolder }}" folder_name: "{{ ddve.folder }}" folder_type: vm state: present register: vm_folder_creation_result delegate_to: localhost - name: '佈署 DDVE' shell: > {{ ovftool }} '--name={{ ddve.vmname }}' --acceptAllEulas --allowExtraConfig --X:enableHiddenProperties --X:injectOvfEnv --noSSLVerify --overwrite '--datastore={{ ddve.datastore }}' '--diskMode={{ ddve.diskmode }}' '--ipAllocationPolicy={{ ddve.ipAllocationPolicy }}' '--ipProtocol={{ ddve.ipProtocol }}' '--deploymentOption={{ ddve.deploymentOption }}' '--net:VM Network 1={{ ddve.network }}' '--net:VM Network 2={{ ddve.network }}' '--powerOn={{ ddve.poweron | string }}' '{{ ovapath }}/{{ ovafile }}' 'vi://{{ vc.user | urlencode }}:{{ vc.pass | urlencode }}@{{ vc.ip }}/{{ vc.datacenter }}/host/{{ vc.cluster }}/{{ esxi02.hostname }}' - name: '遷移 VM 至指定資料夾' community.vmware.vmware_guest_move: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false datacenter: "{{ vc.datacenter }}" name: "{{ ddve.vmname }}" dest_folder: "/{{ vc.datacenter }}/vm/{{ ddve.parentfolder }}/{{ ddve.folder }}" delegate_to: localhost - name: 'vMotion 至指定 ESXi 主機' community.vmware.vmware_vmotion: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false destination_datacenter: "{{ vc.datacenter }}" vm_name: "{{ ddve.vmname }}" destination_host: "{{ esxi02.hostname }}" delegate_to: localhost - name: 'DDVE 添加磁碟空間' community.vmware.vmware_guest_disk: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false datacenter: "{{ vc.datacenter }}" name: "{{ ddve.vmname }}" disk: - size_gb: 250 type: thin state: present datastore: "{{ ddve.datastore }}" scsi_controller: 0 scsi_type: 'paravirtual' unit_number: 2 disk_mode: 'persistent' # - size_gb: 100 # type: thin # state: present # datastore: "{{ ddve.datastore }}" # scsi_controller: 0 # scsi_type: 'paravirtual' # unit_number: 3 # disk_mode: 'persistent' delegate_to: localhost register: disk_facts - name: 'DDVE 設備開啟電源' community.vmware.vmware_guest_powerstate: hostname: "{{ vc.ip }}" username: "{{ vc.user }}" password: "{{ vc.pass }}" validate_certs: false folder: "/{{ vc.datacenter }}/vm/{{ ddve.parentfolder }}/{{ ddve.folder }}" name: "{{ ddve.vmname }}" state: powered-on delegate_to: localhost register: deploy ``` 使用以下 Ansible 命令完成 DDVE 佈署測試作業,稍等一下下喔! ```bash $ ansible-playbook ddve_deploy.yml ``` ## 安裝驗證 為了驗證安裝狀態,登入 vCenter Web Client 檢視虛擬機器狀態資訊。看來佈署資訊與預計安裝相同。 <img width=480 src='https://i.imgur.com/OCFgSVw.png'> 選擇 **Configure** > **Settings - vApp Options**,也可檢視組態狀態和資訊。DDVE OVA 的**屬性(Properties)** 真的是很乾淨!所以指派 DDVE IP 資訊的相關動作必須等到登入系統才能完成。 <img width=720 src='https://i.imgur.com/NoBXQhV.png'> # 第一次登"陸" 完成 DDVE 主機佈署,電源開啟後會需要一些時間進行系統初始流程。請開啟 VMware Remote Console 檢視開機程序,當出現系統命令提示符號,代表初始化程序已經完成。 - 如果佈署時採用 DHCP 取得 IP 位址,此時便可透過瀏覽器或是 SSH 連線 DDVE 設備進行基本設定作業。 - 但如果沒有 IP 位址,則仍需要透過 VMware Remote Console 連線 DDVE。 ![](https://i.imgur.com/BQM9ZCq.png) :::info - 登入帳號使用 **`sysadmin`**。 - 密碼使用 **`changeme`** 作為首次登入密碼,後續配置作業可設定要求的密碼。 ::: # 待續 接著就要進行 **DDVE 系統設定**作業,暫時就留待下次吧! ![](https://i.imgur.com/qxAIE7e.png) 再次要請我的教官給予最大的相關指導吧! # 相關分享 - [Dell EMC Unity VSA - Part1: 佈署安裝](https://hackmd.io/@farmer87/unityVSA_installation_01)