1 2 3 4 5 6 7 作者:李晓辉 联系方式: 1. 微信:Lxh_Chat 2. 邮箱:939958092@qq.com
ReaR工具介绍 你知道红帽企业 Linux 有个超好用的备份恢复工具叫 ReaR 吗?全名是 Relax-and-Recover,听起来就很靠谱是不是!它是个用 Bash 写的程序,特别灵活,能通过各种网络方式把救援镜像或者备份文件传过去。最厉害的是,它能生成一个可引导的镜像,然后用这个镜像从备份里恢复系统,简直是救急神器,特别是用在红帽 OpenStack 平台的控制平面节点上,备份恢复超方便!而且这玩意儿支持的引导介质格式和传输协议超多
ReaR ⽀持下列引导介质格式:
ReaR 可以使⽤下列协议来传输⽂件:
HTTP/HTTPS SSH/SCP FTP/SFTP NFS CIFS (SMB) 备份undercloud 在workstation上打一下lab,帮我们准备好资料
1 2 3 4 5 6 7 [student@workstation ~]$ lab controlplane-backup start Setting up the Backup Node on utility: · Setting up NFS server on utility............................ SUCCESS · Creating playbooks for backup and restore on director....... SUCCESS
准备NFS服务器 将 utility 服务器配置为备份节点
1 [student@workstation ~]$ ssh stack@director
看看主机清单
1 2 3 (undercloud) [stack@director ~]$ cat nfs-inventory.ini [BACKUP_NODE] backup ansible_host=172.25.250.220 ansible_user=student ansible_become_password=student
这个IP就是utility机器
1 2 3 (undercloud) [stack@director ~]$ ping utility PING utility.lab.example.com (172.25.250.220) 56(84) bytes of data. 64 bytes from utility.lab.example.com (172.25.250.220): icmp_seq=1 ttl=64 time =0.554 ms
从下面ansible的--tags bar_setup_nfs_server
看,是部署了nfs服务器
1 2 3 4 [student@workstation ~]$ ansible-playbook -v -i ~/nfs-inventory.ini \ --extra="ansible_ssh_common_args='-o StrictHostKeyChecking=no'" \ --become --become-user root --tags bar_setup_nfs_server \ ~/bar_nfs_setup.yaml
输出内容
1 2 3 4 PLAY [Setup NFS server for ReaR] TASK [backup-and-restore : Reload the NFS service] TASK [backup-and-restore : Gather variables for each operating system] TASK [backup-and-restore : Gather variables for each operating system]
以上是在utility
上部署NFS服务器的步骤,用于将来备份的存放地
生成OpenStack集群的主机清单 这个清单中,将同时包含undercloud和overcloud的各种信息
1 2 3 (undercloud) [stack@director ~]$ tripleo-ansible-inventory \ --ansible_ssh_user heat-admin \ --static-yaml-inventory /home/stack/tripleo-inventory.yaml
看看里面的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ```bash (undercloud) [stack@director ~]$ head -n 30 tripleo-inventory.yaml Undercloud: hosts: undercloud: {} vars: ansible_connection: local ansible_host: localhost ansible_python_interpreter: /usr/bin/python3 ansible_remote_tmp: /tmp/ansible-${USER} auth_url: https://172.25.249.201:13000 cacert: null os_auth_token: gAAAAABn_07P5guHJEtflD6gOW9YZrNsUi3TFa4BiE3EFFgeRmKbFuM3F_LqdsBVJviakBHsRXdd8 overcloud_admin_password: redhat overcloud_horizon_url: http://172.25.250.50:80/dashboard overcloud_keystone_url: http://172.25.250.50:5000 plan: overcloud plans: [overcloud] project_name: admin undercloud_service_list: [tripleo_nova_compute, tripleo_heat_engine, tripleo_ironic_conductor, tripleo_swift_container_server, tripleo_swift_object_server, tripleo_mistral_engine] undercloud_swift_url: https://172.25.249.201:13808/v1/AUTH_90ef963f6dca474ba045e212c7afaa97 username: admin Controller: children: overcloud_Controller: {} overcloud_Controller: hosts: controller0: {ansible_host: 172.25.249.56, canonical_hostname: controller0.overcloud.example.com, ctlplane_hostname: controller0.ctlplane.overcloud.example.com, ctlplane_ip: 172.25.249.56, deploy_server_id: 6d712d0a-cb71-4cdc-93dc-f2d69ffc520b, external_hostname: controller0.external.overcloud.example.com, external_ip: 172.25.250.1, internal_api_hostname: controller0.internalapi.overcloud.example.com, ...
安装和配置 ReaR 需要备份谁,就在谁身上安装这个工具,我们要备份director,所以要在director上安装配置此工具
这里从ansible的tags能看出来是在安装rear工具
playbook记得用bar_rear_setup-undercloud.yaml
,将playbook的hosts限制为undercloud节点,不要搞错
如果你要在overcloud上安装,就应该用overcloud或者controller字眼的playbook
1 2 3 4 (undercloud) [stack@director ~]$ ansible-playbook -v -i ~/tripleo-inventory.yaml \ --extra="ansible_ssh_common_args='-o StrictHostKeyChecking=no'" \ --become --become-user root --tags bar_setup_rear \ ~/bar_rear_setup-undercloud.yaml
开始备份Director 这个备份可能需要很久,持续等待即可,预计时间需要30分钟左右,规模越大,用时越久
1 2 3 4 (undercloud) [stack@director ~]$ ansible-playbook -v -i ~/tripleo-inventory.yaml \ --extra="ansible_ssh_common_args='-o StrictHostKeyChecking=no'" \ --become --become-user root --tags bar_create_recover_image \ ~/bar_rear_create_restore_images-undercloud.yaml
观察备份进度 如果你想看到进度,就去utility这个机器上看一下备份数据是否源源不断的过来就行
看看utility把文件放哪儿了
1 2 3 [student@workstation ~]$ showmount -e utility Export list for utility: /ctl_plane_backups 172.25.250.0/24
登录utiilty看看这个目录的大小,在不断的变大即可