🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质: CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥🎈支持我:可点赞👍、可收藏⭐️、可留言📝
📜官网:
https://docs.ansible.com/ansible-tower/3.8.1/html_zh/administration//backup_restore.html
📜14.3.1 备份Ansible Tower
手动备份和恢复Red Hat Ansible Tower安装的功能被集成到Ansible Tower的安装软件中。然后,您可以使用其他工具自动化备份过程,并确保备份文件存储在一个安全的位置,与Ansible Tower服务器分开。
该过程使用相同的setup.sh脚本和用于安装Ansible Tower的目录文件。
重要:如果您已经删除了原始的安装目录,您仍然可以通过解包包含您使用的同一版本Ansible Tower的安装程序的tar归档文件来设置备份。
您还需要编辑安装程序的目录文件,以包含Ansible Tower服务的当前密码(admin_password、pq_password和rabbitmq_password)。如果你在安装Ansible Tower之前对目录文件做过任何其他的编辑,你现在也必须做这些编辑。
实际备份是在Ansible Tower服务器的安装目录下以root用户运行 ./setup.sh -b 。这将在安装程序的目录中以tar存档的形式创建名为tower-backup-DATE.tar.gz备份。其中DATE的格式为date +%F-+%T。它还创建了一个符号链接,tower-backup-latest.tar.gz,指向目录中最新的备份归档文件。
备份归档文件包括以下文件和目录:
- tower.db: PostqreSQL数据库转储文件。
- ./conf: 配置目录,包含/etc/tower/目录下的文件。
- ./job_status: 作业输出文件的目录。
- ./projects: 手动项目的目录。
- ./static: 用于web UI定制的目录,例如定制logo。
与每个备份过程一样,您应该检查可用磁盘空间的数量,以确保有足够的空闲空间来存储备份。注意,这个过程备份的是Ansible Tower配置,但不是日志或由Ansible Tower安装程序安装的程序。
警告:使用 ./setup.sh -b的手动备份过程只会创建备份归档文件。您需要负责设置一个系统,定期运行该命令来创建备份并将备份归档文件存储在安全的地方。
备份过程
下面的过程为正在运行的Ansible Tower配置创建一个新的备份。
📑1. 作为根用户,找到Ansible Tower安装目录并切换到该目录。
[root@tower ~]# find / -name ansible*
/root/ansible-tower-setup-bundle-3.3.1-1.el7
[root@tower ~]# cd /root/ansible-tower-setup-bundle-3.3.1-1.el7
[root@tower ansible-tower-setup-bundle-3.3.1-1.el7]#
📑2. 作为根用户,运行setup.sh使用-b选项启动Ansible Tower配置和数据库备份进程。
[root@tower ansible-tower-setup-bundle-3.3.1-1.el7]# ./setup.sh -b
...output omitted...
RUNNING HANDLER [backup : Remove the backup tarball.] **************************
changed: [localhost] => {"changed": true, "path": "/var/backups/tower/towerbackup-
2017-03-29-08:34:43.tar.gz", "state": "absent"}
PLAY RECAP *********************************************************************
localhost : ok=24 changed=16 unreachable=0 failed=0
The setup process completed successfully.
Setup log saved to /var/log/tower/setup-2017-03-29-08:34:34.log
📑3. 列出当前目录,以确保备份归档文件已经创建并可访问。
[root@tower ansible-tower-setup-bundle-3.3.1-1.el7]# ls -l tower-*
-rw-r--r--. 1 root root 164317 03-29 08:34 towerbackup-
2017-03-29-08:34:43.tar.gz
lrwxrwxrwx. 1 root root 84 03-29 08:35 tower-backup-latest.tar.gz -> /root/
ansible-tower-setup-bundle-3.3.1-1.el7/tower-backup-2017-03-29-08:34:43.tar.gz
注意:注意符号链接tower-backup-latest.tar.gz指向最新创建的备份归档文件。默认情况下,此链接用于从备份中恢复Ansible Tower基础设施。
📜14.3.2 从备份中恢复Ansible Tower
setup.sh使用-r选项来从备份归档文件中恢复Ansible Tower。您需要备份、用于创建备份的同一版本Ansible Tower的安装程序,以及用于安装程序的清单文件。
如果您有多个可用的备份档案,请确保tower-backup.latest.tar.gz符号链接指向您想要从其还原的确切备份文件。如果需要使用旧的备份文件,请删除现有的tower-backup.latest.tar.gz符号链接,并创建一个指向正确的备份归档文件的新链接。
警告:在恢复备份时,请确保使用用于创建备份的相同版本的Ansible Tower。
📑恢复过程
下面的过程演示了如何从现有的备份归档中恢复Ansible Tower基础设施。
📑1. 作为根用户,找到Ansible Tower安装目录并切换到该目录。
[root@tower ~]# find / -name ansible*
/root/ansible-tower-setup-bundle-3.3.1-1.el7
[root@tower ~]# cd /root/ansible-tower-setup-bundle-3.3.1-1.el7
[root@tower ansible-tower-setup-bundle-3.3.1-1.el7]#
📑2. 确保备份归档文件位于该目录中。
[root@tower ansible-tower-setup-bundle-3.3.1-1.el7]# ls -l tower-*
-rw-r--r--. 1 root root 164317 03-29 08:34 towerbackup-
2017-03-29-08:34:43.tar.gz
lrwxrwxrwx. 1 root root 84 03-29 08:35 tower-backup-latest.tar.gz -> /root/
ansible-tower-setup-bundle-3.3.1-1.el7/tower-backup-2017-03-29-08:34:43.tar.gz
重要:符号链接tower-backup-latest.tar.gz指向最新的备份归档文件。此链接用于从备份恢复Ansible Tower基础设施。如果需要从较旧的存档中恢复,则必须通过指向正确的存档重新创建该链接。
📑3. 作为root用户,运行setup.sh -r开始恢复Ansible Tower配置和数据库。
重要:不要忘记-r选项。如果没有此选项,则Ansible Tower的安装将开始一个新的安装过程。如果发生这种情况,请等待安装过程结束,然后恢复备份。
📑4. 登录Ansible Tower web Ul,验证服务器已经从备份中正确恢复。
📜14.3.3 课本练习
[student@workstation ~]$ lab admin-recovery start
📑1. 登录到安装tower的机器。
[student@workstation ~]$ ssh root@tower
📑2. 列出根用户主目录的内容,以确保Ansible Tower的安装目录可用。
[root@tower ~]# ls /root
anaconda-ks.cfg ansible-tower-setup-bundle-3.5.0-1.el8 original-ks.cfg
📑3. 使用ansible-tower-service status命令确保Ansible Tower服务正在运行。
[root@tower ~]# ansible-tower-service status
📑4. 进去安装包目录。
[root@tower ~]# cd /root/ansible-tower-setup-bundle-3.5.0-1.el8
[root@tower ansible-tower-setup-bundle-3.5.0-1.el8]#
📑5. 使用setup.sh -b命令备份Ansible Tower配置和数据库。
[root@tower ansible-tower-setup-bundle-3.5.0-1.el8]# ./setup.sh -b
📑6. 通过发出ls命令,验证备份是在当前工作目录中创建的。
[root@tower ansible-tower-setup-bundle-3.5.0-1.el8]# ls -l
-rw-r--r--. 1 root root 143 May 29 2019 backup.yml
drwxr-xr-x. 3 root root 72 May 29 2019 bundle
drwxr-xr-x. 2 root root 17 May 29 2019 group_vars
-rw-r--r--. 1 root root 8931 May 29 2019 install.yml
-rw-r--r--. 1 root root 415 May 16 16:19 inventory
drwxr-xr-x. 3 root root 8192 May 29 2019 licenses
-rw-r--r--. 1 root root 2526 May 29 2019 README.md
-rw-r--r--. 1 root root 1393 May 29 2019 restore.yml
drwxr-xr-x. 20 root root 4096 May 29 2019 roles
-rwxr-xr-x. 1 root root 11535 May 29 2019 setup.sh
-rw-r--r--. 1 root root 577951 May 26 14:27 tower-backup-2021-05-26-14:27:25.tar.gz
lrwxrwxrwx. 1 root root 84 May 26 14:27 tower-backup-latest.tar.gz -> /root/ansible-tower-setup-bundle-3.5.0-1.el8/tower-backup-2021-05-26-14:27:25.tar.gz
📑7. 使用awx-manage命令将Ansible Tower管理员超级用户密码修改为redhat2
[root@tower ansible-tower-setup-bundle-3.5.0-1.el8]# awx-manage changepassword admin
Changing password for user 'admin'
Password: redhat2
Password (again): redhat2
Password changed successfully for user 'admin'
📑8. 测试登录是否正常,正常后,退出。
📑9. 回到塔服务器并从前面步骤中创建的文件恢复备份。
使用带有-r选项的setup.sh命令。恢复操作完成后,退出塔系统上的控制台会话。
[root@tower ansible-tower-setup-bundle-3.5.0-1.el8]# ./setup.sh -r
📑10. 测试登录是否正常,正常后,退出。
📑11. 清除实验。
[student@workstation ~]$ lab admin-recovery finish
💡总结
RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。
以上就是【金鱼哥】对 第十四章 Ansible Tower的维护和常规管理--备份和修复 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。
💾 红帽认证专栏系列:
RHCSA专栏: 戏说 RHCSA 认证
RHCE专栏: 戏说 RHCE 认证
此文章收录在RHCA专栏: RHCA 回忆录
如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。
如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!