Notes
  • 简介
  • Linux
    • Ubuntu
      • Ubuntu 20.04 ARM64 修改PAGE_SIZE 64k
    • Samba
      • CentOS7安装Samba
      • 简单案例
      • 审计
      • 相关命令
    • Systemd
    • FPM 打包 nginx rpm 包
    • rpm 打包-从二进制文件进行打包
    • Centos7 重置密码
    • CentOS7搭建kvm并创建虚拟机
    • CentOS7-KVM 嵌套虚拟化
    • CentOS7 KVM GPU 穿透
    • Bonding
    • CentOS7 发送邮件
    • CentOS7 安装 OpenVPN
    • Linux 多线路由策略
    • Webmin 安装
    • NoVNC 安装
    • SRS-RTMP 服务部署
    • CentOS7 安装 MongoDB
    • confluence 安装
    • jira 安装
    • crowd 安装
    • ScriptRunner For Jira
    • ScriptRunner For Confluence
    • Ubuntu VNC
    • Ubuntu18.04-VNC 安装
    • deb 打包
    • iptables
    • debian 保持软件包一致
    • Ubuntu18.04 编译安装 grpc
    • CentOS7 安装 odoo13
    • Pacemaker 入门
    • Firewalld Rich Language
    • PHP Xdebug
    • CentOS7.3 编译安装 Python3.6
    • 葫芦儿打包
    • CentOS7 安装 Tomcat8
    • CentOS7 安装 JDK
    • GuacamoleServer 编译安装
    • FreeBSD7.0安装AMP
    • CentOS7 换源
    • deb下载并离线安装
    • pip下载并离线安装
  • Network
    • 案例一
  • AI
    • 微调Qwen2.5
    • Qwen2.5 VL AWQ量化
    • qwen2.5 填充权重
  • JavaScript
  • Zabbix
    • CentOS7 安装 Zabbix4.0 LTS
    • Zabbix 加密连接
    • Zabbix 主动和被动模式
    • Zabbix 配置邮件报警
    • Zabbix 监控 MySQL
  • 数据库
    • MySQL
      • CentOS7 Install MySQL5.7
      • MySql 主从配置
      • CentOS7 安装 Percona XtraDB Cluster
      • MySql 压力测试-sysbench
      • MariaDB Galera Cluster
      • 备份脚本
    • MongoDB
      • 启用账号密码登录
      • 备份脚本
  • Nginx
    • CentOS7 安装 Nginx
    • Nginx 配置
    • nginx-http-flv-module
    • Nginx-WebDAV
  • Docker
    • CentOS7 安装 Docker
    • Dockerfile
    • DockerSwarm 集群
    • Docker 安装 guacamole
  • Python
    • 虚拟环境
  • Windows
    • Windows 问题集合
    • 迅雷自动安装 Chrome 插件
    • RDP 注册表
    • Rdp File Setting
    • 本地组策略对象(LGPO)工具
    • 禁用应用联网
    • SQL Server 问题处理
    • SQL Server Trigger
    • NSIS 脚本
    • 使用QEMU运行ARM64 CentOS7
    • DOS 脚本
    • Windows 11 设置旧版右键菜单
    • 远程桌面二次验证
  • Apple
    • AppStore 应用开发及上架
    • Apple 打包 Golang WebDav 制作 pkg 安装包
  • Android
    • Android Studio创建具有root权限的虚拟机
    • Android读写挂载system
    • Android安卓CA至系统
  • 证书
    • 证书名称(主题)
    • 证书扩展
    • SSL 自签
    • 免费 https 证书申请
  • 树莓派
    • 树莓派系统烧录及系统打包制作
    • 树莓派基础操作
    • 树莓派安装 NextCloud
    • 树莓派安装 LNMP
    • 树莓派自定义开机界面和登录提示
    • 树莓派安装 HomeAssistant
    • HomeAssistant 配置
    • 树莓派自动挂载 U 盘
    • 树莓派安装 vsftpd
    • vsftpd 配置文件详解
  • ceph
    • ceph-deploy 部署 ceph nautilus 版本
    • ceph dashboard
  • OpenStack
    • OpenStack VM 配置 Virtual IP
    • OpenStack Glance 对接 Ceph RBD 存储
    • OpenStack Cinder Volumes 对接 Ceph RBD 存储
    • OpenStack 集群搭建
    • OpenStack Rocky 单节点部署
    • OpenStack Rocky 集群部署
    • OpenStack CentOS6 镜像制作
    • OpenStack-Ubuntu 镜像制作
    • Openstack-Windows 镜像制作
    • OpenStack-RBD 导入镜像
    • OpenStack-Rocky 灾备
    • rbd-mirror
  • FFmpeg
    • CentOS7 静态编译FFmpeg
    • MacOS10.12静态编译FFmpeg
    • CentOS7 Arm64静态编译FFmpeg
    • 使用NVIDIA显卡
    • 脚本
  • Other
    • 华为一碰传标签制作
    • 常用软件
    • wireguard
由 GitBook 提供支持
在本页
  • 环境
  • 部署灾备服务器
  • ceph 备份
  • MariaDB Galera Cluster 备份
  • MariaDB Galera Cluster 恢复
  1. OpenStack

OpenStack-Rocky 灾备

环境

  • 操作系统: CentOS7.6

  • OpenStack: Rocky

  • Ceph: luminous

  • 数据库集群:MariaDB Galera Cluster

为了便于区别 Openstack 集群和灾备服务器,将 OpenStack 集群服务器简称为 openstack,灾备服务器简称为 backup

部署灾备服务器

ceph 备份

  • backup 正常部署 ceph

  • ceph 开启日志功能

    RBD 需要启用exclusive-lock和journaling属性,可以手动创建时启用,也可以修改配置文件,创建时自动启用。

    [all]

    # 修改配置文件,开启自动启动功能
    crudini --set /etc/ceph/ceph.conf 'global' 'rbd default features' '125'
    systemctl restart ceph.target
  • backup 创建 pool

    [backup]

    ceph osd pool create images 64
    ceph osd pool create vms 64
    ceph osd pool create volumes 64
  • 拷贝配置文件和密钥到 backup

    [openstack]

    scp /etc/ceph/ceph.conf root@backup_ip:/etc/ceph/openstack.conf
    scp /etc/ceph/ceph.client.admin.keyring root@backup_ip:/etc/ceph/openstack.client.admin.keyring
  • 修改 ceph 配置文件所有者

    chown ceph:ceph /etc/ceph/
  • pool 启用 mirror

    [all]

    rbd mirror pool enable images pool
    rbd mirror pool enable vms pool
    rbd mirror pool enable volumes pool
  • 添加 peer

    [backup]

    rbd mirror pool peer add images client.admin@openstack
    rbd mirror pool peer add vms client.admin@openstack
    rbd mirror pool peer add volumes client.admin@openstack
  • 防火墙放行 backup IP

    [master]

    firewall-cmd --permanent --zone=trusted --add-source=192.168.2.10
    firewall-cmd --zone=trusted --add-source=192.168.2.10
  • 启动ceph-rbd-mirror服务

    [backup]

    yum install -y rbd-mirror
    systemctl start ceph-rbd-mirror@admin.service
    systemctl enable ceph-rbd-mirror@admin.service
    systemctl status ceph-rbd-mirror@admin.service
  • 查看同步状态

    rbd mirror pool status images
    rbd mirror pool status vms
    rbd mirror pool status volumes

MariaDB Galera Cluster 备份

  • 安装软包

    [backup]

    yum install -y centos-release-openstack-rocky
    yum install -y mariadb mariadb-galera-server mariadb-galera-common galera rsync
  • 修改配置文件

    [backup]

    cat > /etc/my.cnf.d/openstack.cnf << EOF
    [mysqld]
    bind-address = 0.0.0.0
    
    default-storage-engine = innodb
    innodb_file_per_table
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
    
    wsrep_provider = /usr/lib64/galera/libgalera_smm.so
    wsrep_cluster_address = "gcomm://controller1,controller2,controller3"
    wsrep_node_name = backup
    wsrep_node_address = 192.168.2.10
    
    EOF

    注意:根据环境修改 wsrep_cluster_address , wsrep_node_name , wsrep_node_address

  • 启动服务

    [backup]

    systemctl restart mariadb.service
    systemctl enabel mariadb.service
    systemctl status mariadb.service
  • 检查同步

    [backup]

    mysql -e 'SHOW STATUS LIKE "wsrep%";'

    灾备恢复

    根据之前的网络架构,重新部署 OpenStack 集群,再进行灾备恢复

    注意:不要上传任何镜像,创建虚拟机和卷

    ceph 恢复

  • 确认 images,vms,volumes 没有文件

    [openstack]

    rbd ls images
    rbd ls vms
    rbd ls volumes
  • 提升等级

    [backup]

    rbd mirror pool promote --force images
    rbd mirror pool promote --force vms
    rbd mirror pool promote --force volumes
  • 开启 ceph 日志功能

    [openstack]

    # 修改配置文件,开启自动启动功能
    crudini --set /etc/ceph/ceph.conf 'global' 'rbd default features' '125'
    systemctl restart ceph.target
  • 拷贝密钥和配置文件

    [backup]

    scp /etc/ceph/ceph.conf root@openstack_ip:/etc/ceph/backup.conf
    scp /etc/ceph/ceph.client.admin.keyring root@openstack_ip:/etc/ceph/backup.client.admin.keyring
    • 修改 ceph 配置文件所有者

      [openstack]

      chown ceph:ceph /etc/ceph/
    • pool 启用 mirror

      [openstack]

      rbd mirror pool enable images pool
      rbd mirror pool enable vms pool
      rbd mirror pool enable volumes pool
    • 添加 peer

      [openstack]

      rbd mirror pool peer add images client.admin@backup
      rbd mirror pool peer add vms client.admin@backup
      rbd mirror pool peer add volumes client.admin@backup
    • 启动ceph-rbd-mirror服务

      [openstack]

      yum install -y rbd-mirror
      systemctl start ceph-rbd-mirror@admin.service
      systemctl enable ceph-rbd-mirror@admin.service
      systemctl status ceph-rbd-mirror@admin.service
    • 查看同步状态

      [openstack]

      rbd mirror pool status images
      rbd mirror pool status vms
      rbd mirror pool status volumes

MariaDB Galera Cluster 恢复

  • 停止服务,以主节点方式启动

    [backup]

    systemctl stop mariadb.service
    galera_new_cluster
  • 导出数据库并拷贝到 openstack 集群服务器

    [backup]

    mysqldump --all-databases > ~/all.sql
    scp ~/all.sql root@openstack_ip:~/
    systemctl stop mariadb.service
  • 替换 sql 中的 ceph fsid

    [openstack]

    # 查看FSID
    ceph fsid
    # 替换FSID,将上条命令的结果,替换到FSID处
    sed -i 's/rbd:\/\/.\{36\}/rbd:\/\/FSID/g' ~/all.sql
  • 清空数据库

    [openstack]

    systemctl stop mariadb.service
    rm -rf /var/lib/mysql/*
  • 导入 sql

    [openstack]

    # 启动数据库
    galera_new_cluster
    # 登录数据库
    mysql
    # 导入sql
    source ~/all.sql
上一页OpenStack-RBD 导入镜像下一页rbd-mirror

最后更新于3年前