Ansiable 사용 자동 배포 Veeam 백업 및 복제 9.5U4b
머리말
푸른, AWS : CMP (파이프 클라우드 플랫폼) 파트너 만들어진 요구에 여행 지난 주 동안 같은 지난 해에 등록 된 국가의 공공 클라우드 플랫폼, 다른 후 VBR 무인 인해 Veeeam를 설치합니다 Veeam 자신의 숙제를의 텐센트 구름, 알리 간다 ... 그 전에, 내가 설치를 무인. 하여 형제와 이야기하고 동안이, 나는 이렇게하고, 자동화 기능의 대부분이 Ansible 달성하는 CMP 환경으로 DRaaS 및 CMP,이 프로모션은의 Veeam CMP 파트너의 미래에있을 것입니다 사용하는 경우 이 부스터 앞서 갔다.
주요 내용
- 1 Ansible 소개
- 이 전제 조건 : Veeam 자동 설치 모드
- 배포 환경을 준비하기 위해 3 Ansiable 자동화 환경 준비
- 자동화 엔진 3.1 - 서버 배포 Ansible
- 3.2 실행 개체 - Windows 배포 서버
- 3.3의 WinRM 및 계정 인증 모드
- 자동화 엔진 3.1 - 서버 배포 Ansible
- 4 연결 테스트, 윈 - 핑
- 5 프로세스 오케스트레이션 Asible 각본을 쓰기
- 6 자동 배포 Asible 각본 수행
- 참고 도서 및 권장 읽기
- 원본 기사 링크
1 Ansiable 소개
세계 흐린 관리에서, 우리는 종종 자동화 된 배포 문제에 대해 설명합니다. 그리고 한이 Windows 서버에 온다, 필연적으로 한숨된다. Windows 지원을위한 많은 도구는 대부분의 경우에, 아주 좋은 아니기 때문에, 우리는 Windows 도구와 환경의 별도의 세트에 참여해야합니다. 그리고 우리 모두가 같은 ansible 이유는 운영 및 자동화 도구의 유지 보수가 다양한 시스템의 넓은 범위를 지원하는 것입니다, 물론, 가장 중요한 점은 윈도우를 지원한다는 것입니다 ;-)
Ansible 실행, 그것은 흡수하고, 파이썬에서 개발, 뛰어난 운영 및 자동화 도구의 유지 보수입니다 전송, 시스템 구성의 다양한 하나의 장점 관리 도구 (꼭두각시, 요리사, FUNC, 패브릭 ...)를 결합 및 대량 배포를 얻을 수 있습니다 명령 기능. 그래서 좋은, 그래서 2015 년 레드햇 소득 팔이었다. Ansible은 모듈 자체의 작업을 기반으로하는 자동화 된 엔진으로, 우리는 일반적으로 자동화 된 언어는 작업의 종류의 각본으로 실행됩니다 정의합니다. 인기 말하기, Ansible는 자동 연주 피아노처럼, 그리고 각본, 음악, 그리고 Ansible 타워는 다음과 같이 인터페이스 UI와 평안한 API의, Ansible 아키텍처를 제공하는 것입니다 :
또한 언제든지 환영하고 내가 논의 "Ansible 마스터"이 권장 제시 키팅 위대한 하나님에 대한 자세한 내용을 보려면.
제시 키팅에 의해 "마스터 Ansible"
https://www.ansible.com/resources/ebooks/mastering-ansible
이 전제 조건 : Veeam 자동 설치 모드
Ansible 플레이 북은 내가 설치 (여기서 우리는 윈도우 A를 VBR 서버로 서버 2019을 사용) 및 Ansible의 구현에 자동 설치 Veeam 백업 및 복제 서버를 사용, Veeam 백업 및 복제 서버 9.5 업데이트 4B를 배포, 윈도우 서버 생성.
Veeam도 매우입니다 아주 좋은 자동 설치 모드, 사용자가 무인의 경우, 대량의 설치를 사용자 정의하려고 할 수 있습니다 거의 모든 구성 요소는 재해 복구 자동화, 자동으로 설치 될 수있다 도움이됩니다.
安装的顺序与模块如下,详情请参考,Veeam的官方文档。
User Guide for VMware vSphere > Deployment > Installing Veeam Backup & Replication in Unattended Mode
[《Veeam 静默安装 》] (https://helpcenter.veeam.com/docs/backup/vsphere/silent_mode.html?ver=95u4)
- Veeam Backup Catalog
- Veeam Backup & Replication Server
- Veeam Backup & Replication Console
- Veeam Explorers:
- Veeam Explorer for Active Directory
- Veeam Explorer for Exchange
- Veeam Explorer for Oracle
- Veeam Explorer for SharePoint
- Veeam Explorer for Microsoft SQL
- Veeam Update 4b
目前在云管理模式下, Veeam Backup Enterprise Manager 和 Cloud Connect Portal 都自定义部署,而且通常是多对一模式,在此我们没有涉及。
3 Ansiable 自动化部署环境准备
3.1 自动化引擎--Ansible 服务器的部署
Linux 版本与 扩展库配置
此处我们使用CentOS 7.7 做为Ansible 服务器,版本如下,我们只需要进行OS的最小化安装即可
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@localhost ~]#
先为Yum库配置epel源,再安装Ansible
yum install -y epel-release
yum update -y
yum install -y ansible git vim htop
安装Python PiP 与 pywinrm
yum install -y python-pip
pip install --upgrade pip # optional
pip install pywinrm
配置Inventory文件,定义hosts
此处为了简便,我们使用Ansible默认的inventory文件,/etc/ansible/hosts
[VBR]
172.16.60.133
[VBR:vars]
ansible_connection=winrm
ansible_user="Administrator"
#ansible_ssh_pass=!vault | $ANSIBLE_VAULT;1.1;AES256
ansible_ssh_port=5985
ansible_winrm_server_cert_validation=ignore
ansible_winrm_transport=ntlm
执行对象--Windows 服务器的部署
在我们的环境中,Windows是我们自动化安装VBR的服务器。 为了使 Windows Server 准备授予 WinRM 访问权限,我使用了以下脚本使我们环境可以快速的Ready!
ConfigureRemotingForAnsible.ps1 脚本,您可以前往Ansible社区的Github下载,脚本执行如下
ConfigureRemotingForAnsible.ps1
PS C:\Users\Administrator\Desktop\code> .\ConfigRemotingForAnsiable.ps1 -Verbose
VERBOSE: Verifying WinRM service.
VERBOSE: PS Remoting is already enabled.
VERBOSE: SSL listener is already active.
VERBOSE: Basic auth is already enabled.
VERBOSE: Firewall rule already exists to allow WinRM HTTPS.
VERBOSE: HTTP: Enabled | HTTPS: Enabled
VERBOSE: PS Remoting has been successfully configured for Ansible.
PS C:\Users\Administrator\Desktop\code>
WinRM 及 帐户身份验证模式
Ansible 从1.7之后的版本支持 Windows服务的管理,管理机仍然需要一台Linux服务器,通信方式为PowerShell,为了与Windows通信管理机还须要安装WinRm模块,方可和远程Windows主机正常通信。
WinRM使用帐户身份验证时,可以使用几种不同的选项,在这里我选择了 NTLM + Ansiable 加密模块 的方式作为 WinRM 帐户身份验证。
注意:在本文中使用的密码方式,是通过Ansible 加密做为密码传递基础的,您可以使用不同的选项,如明文密码。此方法在Hosts文件定义主机时,和在YAML文件中定义Playbook的方法相同。Ansible 加密方法不是本文讨论的重点,如关心此处请查看Ansible 手册
选项 | 本地账户 | AD账户 | 凭据委托 | HTTP 加密 |
---|---|---|---|---|
Basic | 是 | 否 | 否 | 否 |
Certificate | 是 | 否 | 否 | 否 |
Kerberos | 否 | 是 | 是 | 是 |
NTLM | 是 | 是 | 否 | 是 |
CredSSP | 是 | 是 | 是 | 是 |
4 连通性测试,win-ping
ansible 有一个非常好的工具win-ping,专门用来测试与Windows的Host定义是不是可以联通。详情可以参照,Asiable的手册。
[《Ansible 用户手册》] (https://https://docs.ansible.com/ansible/2.5/user_guide/quickstart.html)
[root@localhost ~]# ansible VBR -m win_ping --vault-password-file vault_pass.txt
172.16.60.133 | SUCCESS => {
"changed": false,
"ping": "pong"
}
5 쓰기 Asible 플레이 북 자동화 된 오케스트레이션
모든 사전 정의 된 응답이, 우리의 서버가 VBR에 대해 정의 된 매뉴얼 Veeam을 참조하시기 바랍니다 플레이 북에도이 솔루션은 실제 호스트 이름이, 각본은 자동으로 필요한 매개 변수를 처리 할 수있는 win_package Ansible 모듈을 상속 대부분의 탈출했다. 소프트웨어 소스의 정의에서, 내가 가장 간단한 경로를 제공, 당신은 수요의 측면에서 정의 할 수 있습니다.
- name: VBR Community Edition Setup
hosts: VBR
gather_facts: yes
vars:
vbr_source: "D:\\"
sql_username: "svc_sql"
sql_userpassword: !vault|
$ANSIBLE_VAULT;1.1;AES256
sql_sapassword: !vault |
$ANSIBLE_VAULT;1.1;AES256
tasks:
- name: Pre - Install 2012 System CLR Types
win_package:
path: "{{ vbr_source }}Redistr\\x64\\SQLSysClrTypes.msi"
state: present
tags: pre
- name: Pre - Install 2012 Shared management objects
win_package:
path: "{{ vbr_source }}Redistr\\x64\\SharedManagementObjects.msi"
state: present
tags: pre
- name: SQL - Create Local SQL User
win_user:
name: "{{ sql_username }}"
password: "{{ sql_userpassword }}"
password_never_expires: yes
state: present
groups:
- Users
tags: pre
- name: SQL - Install SQL 2016 Express
win_package:
path: "{{ vbr_source }}Redistr\\x64\\SqlExpress\\2016SP1\\SQLEXPR_x64_ENU.exe"
product_id: SQL 2016 Express
arguments:
- '/q'
- '/ACTION=Install'
- '/IACCEPTSQLSERVERLICENSETERMS'
- '/FEATURES=SQL'
- '/INSTANCENAME=VEEAMSQL2016'
- '/SQLSVCACCOUNT={{ sql_username }}'
- '/SQLSVCPASSWORD={{ sql_userpassword }}'
- '/SECURITYMODE=SQL'
- '/SAPWD={{ sql_sapassword }}'
- '/ADDCURRENTUSERASSQLADMIN'
- '/UPDATEENABLED=0'
- '/TCPENABLED=1'
- '/NPENABLED=1'
tags: sql
- name: Install VBR Catalog
win_package:
path: "{{ vbr_source }}Catalog\\VeeamBackupCatalog64.msi"
state: present
arguments:
- 'VBRC_SERVICE_ACCOUNT_TYPE=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Server
win_package:
path: "{{ vbr_source }}Backup\\Server.x64.msi"
state: present
arguments: "VBR_SERVICE_ACCOUNT_TYPE=1 VBR_SQLSERVER_AUTHENTICATION=1 VBR_SQLSERVER_SERVER=(local)\\VEEAMSQL2016 VBR_SQLSERVER_USERNAME=sa VBR_SQLSERVER_PASSWORD={{ sql_sapassword }} ACCEPT_THIRDPARTY_LICENSES=1 ACCEPTEULA=YES"
tags: vbr
- name: Install VBR Console
win_package:
path: "{{ vbr_source }}Backup\\Shell.x64.msi"
state: present
arguments:
- 'ACCEPTEULA=YES'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Explorer for ActiveDirectory
win_package:
path: "{{ vbr_source }}Explorers\\VeeamExplorerForActiveDirectory.msi"
state: present
arguments:
- 'ACCEPT_EULA=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Explorer for Exchange
win_package:
path: "{{ vbr_source }}Explorers\\VeeamExplorerForExchange.msi"
state: present
arguments:
- 'ACCEPT_EULA=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Explorer for Oracle
win_package:
path: "{{ vbr_source }}Explorers\\VeeamExplorerForOracle.msi"
state: present
arguments:
- 'ACCEPT_EULA=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Explorer for SharePoint
win_package:
path: "{{ vbr_source }}Explorers\\VeeamExplorerForSharePoint.msi"
state: present
arguments:
- 'ACCEPT_EULA=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Explorer for SQL
win_package:
path: "{{ vbr_source }}Explorers\\VeeamExplorerForSQL.msi"
state: present
arguments:
- 'ACCEPT_EULA=1'
- 'ACCEPT_THIRDPARTY_LICENSES=1'
tags: vbr
- name: Install VBR Update 4b
win_package:
path: "{{ vbr_source }}Updates\\veeam_backup_9.5.4.2866.update4b_setup.exe"
product_id: VBR Update 4b
arguments: "/silent /noreboot VBR_AUTO_UPGRADE=1"
tags: update
실행 Asible 플레이 북의 설치를 자동화
[root@localhost ~]# ansible-playbook ./Veeam_setup.yml --vault-password-file vault_pass.txt
PLAY [VBR Community Edition Setup] *******************************************************************************
TASK [Gathering Facts] *******************************************************************************************
ok: [172.16.60.133]
TASK [Pre - Install 2012 System CLR Types] ***********************************************************************
changed: [172.16.60.133]
TASK [Pre - Install 2012 Shared management objects] **************************************************************
changed: [172.16.60.133]
TASK [SQL - Create Local SQL User] *******************************************************************************
ok: [172.16.60.133]
TASK [SQL - Install SQL 2016 Express] ****************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Catalog] ***************************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Server] ****************************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Console] ***************************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Explorer for ActiveDirectory] ******************************************************************
changed: [172.16.60.133]
TASK [Install VBR Explorer for Exchange] *************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Explorer for Oracle] ***************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Explorer for SharePoint] ***********************************************************************
changed: [172.16.60.133]
TASK [Install VBR Explorer for SQL] ******************************************************************************
changed: [172.16.60.133]
TASK [Install VBR Update 4b] *************************************************************************************
changed: [172.16.60.133]
PLAY RECAP *******************************************************************************************************
172.16.60.133 : ok=14 changed=12 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
이 시점에서 우리가 시작된해야하는 서버 서비스를 볼 수 있습니다
PS C:\Users\Administrator> Get-service Veeam*
Status Name DisplayName
------ ---- -----------
Running VeeamBackupSvc Veeam Backup Service
Running VeeamBrokerSvc Veeam Broker Service
Running VeeamCatalogSvc Veeam Guest Catalog Service
Running VeeamCloudSvc Veeam Cloud Connect Service
Running VeeamDeploySvc Veeam Installer Service
Running VeeamDistributi... Veeam Distribution Service
Running VeeamMountSvc Veeam Mount Service
Running VeeamNFSSvc Veeam vPower NFS Service
Running VeeamTransportSvc Veeam Data Mover Service
PS C:\Users\Administrator> Get-service SQL*
Status Name DisplayName
------ ---- -----------
Stopped SQLAgent$VEEAMS... SQL Server Agent (VEEAMSQL2016)
Running SQLBrowser SQL Server Browser
Running SQLTELEMETRY$VE... SQL Server CEIP service (VEEAMSQL2016)
Running SQLWriter SQL Server VSS Writer
참고 도서 및 권장 읽기
[1 'Veeam 자동 설치 "(https://helpcenter.veeam.com/docs/backup/vsphere/silent_mode.html?ver=95u4)
https://helpcenter.veeam.com/docs/backup/vsphere/ ? silent_mode.html 버전 = 95u4
[2. "Ansible 사용자 설명서"] (HTTPS : // HTTPS : //docs.ansible.com/ansible/2.5/user_guide/quickstart.html)
https://www.ansible.com / 자원 / 전자 책 / 마스터 - ansible
3. "ansible 마스터"제시 키팅에 의해
https://www.ansible.com/resources/ebooks/mastering-ansible