容器挂载nfs_navicat备份数据库

容器挂载nfs_navicat备份数据库社区于上个月发布了 RadonDB MySQL Kubernetes v2.2.0,集群数据备份恢复的存储类型除了 S3,新增 NFS 存储。本文将为您演示如何进行 NFS 备份及恢复操作。 环境准备

容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据

社区于上个月发布了 RadonDB MySQL Kubernetes v2.2.0,集群数据备份恢复的存储类型除了 S3,新增 NFS 存储。本文将为您演示如何进行 NFS 备份及恢复操作。

环境准备

  • Kubernetes 集群
  • RadonDB MySQL 集群

过程略,详细请回顾《快速实现 MySQL 高可用集群部署》。

安装 NFS 服务与资源

方法一:使用 Helm 安装

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.createLocalPV=true

或者手动创建 PVC,再执行

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.specifiedPVC=XXXX

用该方法,可以在安装 Operator 时,也将 NFS 服务的 Pod 和 Service 安装到集群中。

方法二:使用 kubectl 安装

kubectl apply -f config/samples/nfs_pv.yaml 
kubectl apply -f config/samples/nfs_server.yaml

获取 nfsServerAddress

例如:

kubectl get svc nfs-server --template={{.spec.clusterIP}}
10.98.253.82

获取到 ClusterIP,即可以使用该地址进行 NFS 备份。这里 IP 地址为 10.96.253.82

创建 NFS 备份

配置 NFS 服务的地址

# 文件 config/samples/mysql_v1alpha1_backup.yaml
nfsServerAddress: "10.96.253.82"

创建备份

kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml

注意:备份自定义资源与 MySQL 集群自定义资源必须在同一个命名空间中。

验证备份

使用如下命令,可以发现名称格式为 <cluster name>_<timestamp> 的备份文件夹。

kubectl exec -it <pod name of nfs server> -- ls /exports
# 显示结果
index.html  initbackup  sample_2022419101946

备份恢复

从已有的 NFS 备份文件中恢复集群。配置 mysql_v1alpha1_cluster.yaml,将 nfsServerAddress 设置为 NFS 服务的地址。

...
restoreFrom: "sample_2022419101946"
nfsServerAddress: 10.96.253.82

注意:restoreFrom 是备份路径的名称,可以从 NFS 服务加载的路径中看到。然后从 NFS 备份副本恢复集群,如下:

kubectl apply -f config/samples/mysql_v1alpha1_cluster.yaml

恢复完成,已经从名为 sample_2022419101946 的 NFS 备份中恢复一个集群。

原文地址:https://www.cnblogs.com/radondb/archive/2022/08/04/16550913.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4925.html

(0)
上一篇 2023-05-30 11:30
下一篇 2023-05-30

相关推荐

  • 使用Python的StringIO创建标题

    使用Python的StringIO创建标题在python中,可以使用StringIO模块来创建一个类文件对象。类文件对象的作用与普通文件对象一样,都可以进行读写操作。使用StringIO模拟文件操作很常见,特别是在测试环境下。

    2024-06-06
    63
  • Python列表:快速删除元素的方法

    Python列表:快速删除元素的方法运行结果:

    2023-12-08
    117
  • Python技巧:如何让Matlab代码跨行继续

    Python技巧:如何让Matlab代码跨行继续在编写Matlab脚本的时候,有时候需要输入较长的语句,可能会超出每行的字符限制。这时候就需要在代码中进行跨行继续。本文将介绍使用Python的反斜杠符号实现跨行继续的方法。

    2024-04-02
    75
  • Python集成开发环境

    Python集成开发环境在过去的几年中,Python变得越来越流行。Python的易学性和广泛的应用范围使之成为了许多初学者的首选语言,同时也是许多经验丰富的开发人员的最爱。Python在许多领域中都有应用,如Web开发、数据科学、人工智能和机器学习等。随着Python使用的增加,更多的人开始使用Python集成开发环境(IDE)以提高他们的编程效率。

    2024-09-12
    23
  • hadoop 伪分布配置[亲测有效]

    hadoop 伪分布配置[亲测有效]配置 Hadoop 伪分布式 任务配置说明: VMware 15 Centos 6.5 java -jdk 1.8 hadoop-2.6.0-cdh5.14.0.tar.gz 第一步 自行安装虚拟机

    2023-02-21
    186
  • 用Python实现对数函数表达式的计算

    用Python实现对数函数表达式的计算对数函数是数学中一个重要的函数,经常被用于计算。使用Python语言可以轻松实现对数函数表达式的计算,方便了数学知识的应用。这篇文章将介绍如何用Python实现对数函数表达式的计算。

    2024-05-17
    62
  • 【Go】高效截取字符串的一些思考「终于解决」

    【Go】高效截取字符串的一些思考「终于解决」最近我在 Go Forum 中发现了 [SOLVED] String size of 20 character 的问题,“hollowaykeanho” 给出了相关的答案,而我从中发现了截取字符串的方案并非最理想的方法,因此做了一系列实验并获得高效截取字符串的方法,这篇文章将逐…

    2023-03-02
    150
  • Python使用with open实现文件操作

    Python使用with open实现文件操作Python中使用文件操作十分方便,通过打开文件、读取文件、写入文件及关闭文件等一系列操作,可以轻松地在Python中实现文件操作。with open语句是Python文件操作中的一种常用方法,它可以自动帮助我们关闭文件,避免频繁地使用close()方法而导致程序出错。

    2024-02-02
    97

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注