跳到内容
标志
雷竞技下载官网MySQL的Percona操作符
备份和恢复
初始化搜索
    雷竞技下载官网percona / k8spxc-docs
    雷竞技下载官网percona / k8spxc-docs
    • 欢迎
      • 系统需求
      • 设计和架构
      • 与其他方案的比较
      • 与头盔一起安装
      • 使用kubectl安装
      • 安装在Minikube上
      • 安装在谷歌Kubernetes引擎(GKE)上
      • 安装在Amazon Elastic Kubernetes服务(AWS EKS)上
      • 安装到Microsoft Azure Kubernetes服务(AKS)
      • 安装在OpenShift上
      • 通用Kubernetes安装
      • 多集群、多区域部署
      • 应用和系统用户
      • 更改MySQL选项
      • 反亲和和容忍
      • 标签和注释
      • 本地存储支持
      • 定义环境变量
      • 使用HAProxy进行负载均衡
      • 使用ProxySQL进行负载平衡
      • 传输加密(TLS/SSL)
      • 静止数据加密
      • 遥测
      • 备份和恢复
        • 进行定时备份
          • 备份在Amazon S3或S3兼容的存储上
          • Microsoft Azure Blob存储上的备份
        • 按需备份
        • 存储二进制日志,用于时间点恢复
        • 将备份存储在持久卷上
        • 启用备份压缩
        • 从以前保存的备份恢复集群
          • 恢复备份
          • 使用时间点恢复恢复备份
        • 删除不需要的备份
        • 拷贝备份到本地机器
      • 升级数据库和操作员
      • 水平和垂直缩放
      • raybet雷竞技竞猜在线官网使用Percona监视和管雷竞技下载官网理(PMM)进行监视
      • 添加挎斗容器
      • 重新启动或暂停集群
      • 崩溃恢复
      • 初始故障排除
      • 将Exec放入容器
      • 检查日志
      • 特殊调试映像
      • 如何在多命名空间(集群范围)模雷竞技下载官网式下安装Percona XtraDB集群
      • 如何手动升级Percona X雷竞技下载官网traDB集群
      • 如何使用私有注册表
      • 自定义资源选项
      • 雷竞技下载官网经过Percona认证的图像
      • 运营商API
      • 常见问题
      • 旧版本(文档存档)
      • 发行说明索引
      • 雷竞技下载官网基于Percona XtraDB Cluster 1.12.0的Percona Operator for MySQL (2022-12-07)
      • 雷竞技下载官网基于Percona XtraDB Cluster 1.11.0的Percona Operator for MySQL (2022-06-03)
      • 雷竞技下载官网Percona Distribution for MySQL operator1.10.0 (21-11-24)
      • 雷竞技下载官网Percona Distribution for MySQL Operator 1.9.0 (21-08-09)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.8.0 (21-05-26)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.7.0 (21-02-02)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.6.0 (2020-09-09)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.5.0 (2020-07-21)
      • 雷竞技下载官网Percona XtraDB集群的Kubernetes操作符1.4.0 (2020-04-29)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona XtraDB Cluster 1.3.0 (2020-01-06)
      • 雷竞技下载官网Percona XtraDB集群Kubernetes操作符1.2.0 (2019-09-20)
      • 雷竞技下载官网Percona Kubernetes操作符for Percona XtraDB Cluster 1.1.0 (2019-07-15)
      • 雷竞技下载官网Percona XtraDB集群的Kubernetes操作符1.0.0 (2019-05-29)

    • 进行定时备份
      • 备份在Amazon S3或S3兼容的存储上
      • Microsoft Azure Blob存储上的备份
    • 按需备份
    • 存储二进制日志,用于时间点恢复
    • 将备份存储在持久卷上
    • 启用备份压缩
    • 从以前保存的备份恢复集群
      • 恢复备份
      • 使用时间点恢复恢复备份
    • 删除不需要的备份
    • 拷贝备份到本地机器

    提供备份¶

    操作员通常将Percona XtraDB集群备份存储在K雷竞技下载官网ubernetes集群之外Amazon S3或S3兼容的存储,或在Azure Blob存储:

    图像

    但是将备份存储在持久的卷在Kubernetes集群内部也可以:

    图像

    操作符允许以两种方式进行备份:

    定期备份在部署/ cr.yaml文件在适当的时间自动执行。按需备份可以在任何时候手动完成,并在部署/备份/ backup.yaml.

    进行定时备份¶

    备份计划定义在备份部份部署/ cr.yaml文件。本节包含以下小节:

    • 存储分段包含存储备份所需的数据和配置,
    • 时间表分段允许实际调度备份(调度以crontab格式指定)。

    备份在Amazon S3或S3兼容的存储上¶

    由于备份是单独存储在Amazon S3上的,因此AWS_ACCESS_KEY_ID而且AWS_SECRET_ACCESS_KEY应该出现在Kubernetes集群上。应该创建带有这些base64编码密钥的secrets文件:例如部署/备份/ backup-secret-s3.yaml文件内容如下:

    apiVersion:v1种类:秘密元数据:名字:my-cluster-name-backup-s3类型:不透明的数据:AWS_ACCESS_KEY_ID:UkVQTEFDRS1XSVRILUFXUy1BQ0NFU1MtS0VZAWS_SECRET_ACCESS_KEY:UkVQTEFDRS1XSVRILUFXUy1TRUNSRVQtS0VZ

    请注意

    下面的命令可以用来从一个纯文本字符串中获取一个base64编码的字符串:

    $回声- n“纯文本字符串”|base64——包装=0
    $回声- n“纯文本字符串”|base64

    的名字值是Kubernetes秘密将进一步使用的名称,以及AWS_ACCESS_KEY_ID而且AWS_SECRET_ACCESS_KEY是访问S3存储的键(显然,它们应该包含适当的值以使这种访问成为可能)。为了有效果,秘密文件应该应用适当的命令来创建秘密对象,例如。Kubectl apply -f deploy/backup/backup-secret-s3.yaml(Kubernetes)。

    请注意

    以防之前的备份尝试失败(由于临时网络问题等),备份任务首先尝试删除不成功的剩余备份,然后重试。因此,如果没有删除桶中对象的权限.同时,设置谷歌云存储保留期会引起类似的问题。

    访问s3兼容云以存储备份所需的所有数据(凭据、名称桶保存备份等)应放入backup.storages分段,backup.schedule分段实际上应该以与crontab兼容的方式调度备份。这里有一个例子部署/ cr.yaml使用Amazon S3存储进行备份:

    ...备份:...存储:s3-us-west:类型:s3s3:桶:S3-BACKUP-BUCKET-NAME-HERE地区:us-west-2credentialsSecret:my-cluster-name-backup-s3...时间表:-名字:“sat-night-backup”时间表:“00**6”保持:3.storageName:s3-us-west...

    如果您使用一些与S3兼容的存储而不是原始的Amazon S3,则endpointUrl在s3小节中需要,该小节指向用于备份的实际云,并且特定于云提供商。例如,使用谷歌云涉及到后endpointUrl:

    endpointUrl:https://storage.googleapis.com

    中进一步解释了这三个小节中的选项自定义资源选项.

    应该单独提到的一个选项是credentialsSecret这是一个Kubernetes秘密备份。此键的值应与用于创建秘密对象(my-cluster-name-backup-s3在最后一个例子中)。

    Microsoft Azure Blob存储上的备份¶

    因为备份是单独存储在Azure Blob存储,一个秘密AZURE_STORAGE_ACCOUNT_NAME而且AZURE_STORAGE_ACCOUNT_KEY应该出现在Kubernetes集群上。应该创建带有这些base64编码密钥的secrets文件:例如部署/备份/ backup-secret-azure.yaml包含以下内容的文件。

    apiVersion:v1种类:秘密元数据:名字:my-cluster-azure-secret类型:不透明的数据:AZURE_STORAGE_ACCOUNT_NAME:UkVQTEFDRS1XSVRILUFaVVJFLVNUT1JBR0UtQUNDT1VOVC1OQU1FAZURE_STORAGE_ACCOUNT_KEY:UkVQTEFDRS1XSVRILUFaVVJFLVNUT1JBR0UtQUNDT1VOVC1LRVk =

    请注意

    下面的命令可以用来从一个纯文本字符串中获取一个base64编码的字符串:

    $回声- n“纯文本字符串”|base64——包装=0
    $回声- n“纯文本字符串”|base64

    的名字值是Kubernetes秘密将进一步使用的名称。的AZURE_STORAGE_ACCOUNT_NAME而且AZURE_STORAGE_ACCOUNT_KEY凭据将用于访问存储(显然,它们应该包含适当的值以使这种访问成为可能)。为了产生效果,应该应用secrets文件和适当的命令来创建secrets对象,例如:Kubectl apply -f deploy/backup/backup-secret-azure.yaml(Kubernetes)。

    访问Azure Blob存储以存储备份所需的所有数据(凭据、名称容器保存备份等)应放入backup.storages分段,backup.schedule分段实际上应该以与crontab兼容的方式调度备份。这里有一个例子部署/ cr.yaml它使用Azure Blob存储进行备份:

    ...备份:启用:真正的...存储:azure-blob:类型:azureazure:credentialsSecret:my-cluster-azure-secret容器:< your-container-name >...时间表:-名字:“sat-night-backup”时间表:“00**6”保持:3.storageName:azure-blob...
    中进一步解释了这三个小节中的选项运营商自定义资源选项.

    应该单独提到的一个选项是credentialsSecret这是一个Kubernetes秘密备份。此键的值应与用于创建秘密对象(my-cluster-azure-secret在最后一个例子中)。

    按需备份¶

    如果要按需备份,用户应首先在backup.storages第部署/ cr.yaml配置文件,以与计划备份相同的方式完成。当部署/ cr.yaml文件包含正确配置的存储并应用于kubectl命令,使用一个特殊的备份配置YAML文件其内容如下:

    • 备份的名字在metadata.name键,

    • 雷竞技下载官网Percona XtraDB集群名称在spec.pxcCluster键,

    • 存储的名字从部署/ cr.yaml在spec.storageName键,

    • S3备份终结器由metadata.finalizers.delete-s3-backupkey(当手动或计划删除相应的备份对象时,它会触发从S3桶中实际删除备份文件)。

    备份配置文件的示例为部署/备份/ backup.yaml.

    当使用kubectl配置和应用备份目标时,应用-f deploy/cr. conf。Yaml命令,实际执行备份命令:

    $kubectl应用- f部署/备份/ backup.yaml

    请注意

    将备份设置存储在单独的文件中,可以通过将其内容传递给kubectl应用命令如下:

    $猫<apiVersion: pxc.雷竞技下载官网percona.com/v1: Perc雷竞技下载官网onaXtraDBClusterBackup元数据:终结器:——delete-s3-backup名称:backup1规范:pxcCluster: cluster1storageName: s3-us-westEOF

    存储二进制日志,用于时间点恢复¶

    时间点恢复功能允许用户将集群回滚到特定的事务、时间(在某些情况下甚至跳过事务)。从技术上讲,这个特性包括不断地将二进制日志更新保存到备份存储。在默认情况下,时间点恢复是关闭的,并且仅在8.0.21-12.1开始的Percona XtraDB集群版本中得到Operator的支持。雷竞技下载官网

    中设置多个键才能使用pitr第备份部份部署/ cr.yaml文件:

    • 启用键应设置为真正的,

    • storageName属性中已配置的存储的名称存储分段

      请注意

      binlog和完全备份都应该使用s3兼容的存储来进行时间点恢复!

    • timeBetweenUploadsKey指定运行binlog上传程序间隔的秒数。

    下面的示例显示如何pitr分段如下:

    备份:...pitr:启用:真正的storageName:s3-us-westtimeBetweenUploads:60

    请注意

    在没有任何基于集群的过滤的情况下,将对binlog进行时间点恢复。因此,建议使用单独的存储空间、桶或目录存放集群的binlog。此外,当您启用时间点恢复时,建议使用空桶/目录来保存binlog(没有binlog或来自以前尝试或其他集群的文件)。

    请注意

    清除binlogs在将其转移到备份存储之前,将中断时间点恢复。

    将备份存储在持久卷上¶

    这里有一个例子部署/ cr.yaml备份段片段,为文件系统类型的存储配置私有卷:

    ...备份:...存储:fs-pvc:类型:文件系统体积:persistentVolumeClaim:accessModes:[“ReadWriteOnce”]资源:请求:存储:6胃肠道...

    请注意

    请注意,本例中指定的6Gi存储大小可能不足以满足实际设置;考虑使用数十或数百gb。此外,您可以稍后编辑此选项,更改将在应用更新后生效部署/ cr.yaml文件,kubectl.

    启用备份压缩¶

    有使能的可能LZ4压缩备份。

    请注意

    此特性仅适用于Percona XtraDB Cluster 8.0,不适雷竞技下载官网用于Percona XtraDB Cluster 5.7。

    要启用压缩,请使用pxc.configuration输入部署/ cr.yaml配置文件为Percona XtraDB集群节点提供两个额外雷竞技下载官网的my.cnf在其(不锈钢)而且(xtrabackup)各节如下:

    pxc:图像:雷竞技下载官网percona / percona-xtradb-cluster: 8.0.19-10.1配置:|...(不锈钢)xbstream-opts =——减压(xtrabackup)压缩= lz4...

    启用后,压缩将用于备份和风场.

    从以前保存的备份恢复集群¶

    备份不仅可以在备份所在的Kubernetes集群上恢复,还可以在任何安装了Operator的基于Kubernetes的环境上恢复。

    备份无法恢复来emptyDir和hostPath卷,但可以从这样的存储(即从emptyDir/hostPath备份到S3)进行备份,然后将其恢复到持久的卷.

    请注意

    当恢复到一个新的基于kubernetes的环境时,确保它的Secrets对象具有与原始集群中相同的用户密码。更多关于秘密的细节可以在系统用户.

    恢复配置文件的示例为部署/备份/ restore.yaml.方法中描述了可以在其中使用的选项恢复选项参考.

    恢复以前保存的备份需要以下操作:

    • 确保集群正在运行。

    • 找出正确的名称备份和集群.可用的备份可以用下面的命令列出:

      $kubectl得到pxc-backup

    请注意

    显然,您只能在先前进行备份的同一集群上进行此检查。

    下面的命令将列出当前基于kubernetes的环境中现有的Percona XtraDB集群雷竞技下载官网名称:

    $kubectl得到pxc

    恢复备份¶

    当知道正确的备份名称和集群名称时,可以按照以下方式进行备份恢复。

    1. 中设置适当的键部署/备份/ restore.yaml文件。

      • 集spec.pxcCluster要在其上恢复备份的目标集群名称的键,

      • 上恢复备份相同用于保存此备份的基于kubernetes的集群,setspec.backupName你的后援名字的钥匙,

      • 如果您正在基于kubernetes的集群上恢复备份不同的从您用来保存此备份的一个,setspec.backupSource分段代替spec.backupName字段指向适当的PVC,或云存储:

        的backupSourcekey应该包含存储名称(应该在主CR中配置)和PVC name:

        ...backupSource:目的地:pvc / PVC_VOLUME_NAMEstorageName:聚氯乙烯...

        请注意

        如果你需要无头服务对于恢复Pod(即从租户网络中的持久卷恢复),请在metadata.annotations如下:

        注释:雷竞技下载官网percona.com/headless-service:“真正的”...

        的backupSource键应包含目的地key等于S3桶有一个特别的s3: / /前缀,后面跟着必要的S3配置键,与中的相同部署/ cr.yaml文件:

        ...backupSource:目的地:s3: / / S3-BUCKET-NAME / BACKUP-NAMEs3:桶:S3-BUCKET-NAMEcredentialsSecret:my-cluster-name-backup-s3地区:us-west-2endpointUrl:https://URL-OF-THE-S3-COMPATIBLE-STORAGE...

        的backupSource键应包含目的地键等于Azure Blob容器和备份名称,后面跟着必要的Azure配置键,与中的相同部署/ cr.yaml文件:

        ...backupSource:目的地:AZURE-CONTAINER-NAME / BACKUP-NAMEazure:容器:AZURE-CONTAINER-NAMEcredentialsSecret:my-cluster-azure-secret...
    2. 恢复完成后,可以按照如下步骤启动实际恢复流程。

      $kubectl应用- f部署/备份/ restore.yaml

      请注意

      将备份设置存储在单独的文件中,可以通过将其内容传递给kubectl应用命令如下:

      $猫<apiVersion:“pxc.p雷竞技下载官网ercona.com/v1”:“Perco雷竞技下载官网naXtraDBClusterRestore”元数据:名称:“restore1”规范:pxcCluster:“cluster1”backupName:“backup1”EOF

    使用时间点恢复恢复备份¶

    请注意

    在恢复现有集群上的备份之前,禁用该集群上的时间点功能,无论备份是使用时间点恢复还是不使用时间点恢复。

    如果启用了时间点恢复特性,则可以将其他恢复参数添加到restore.yaml文件pitr节进行最细粒度的恢复。

    • backupSource键应包含目的地Key等于s3桶的特殊值s3: / /前缀,后面跟着必要的S3配置键,与中的相同部署/ cr.yaml文件:s3: / / S3-BUCKET-NAME / BACKUP-NAME,

    • 类型Key可以等于以下选项之一,

      • 日期-回滚到指定日期,

      • 事务-回滚到特定事务(自Operator 1.8.0起可用),

      • 最新的-恢复到可能的最新交易,

      • 跳过-跳过一个特定的事务(自Operator 1.7.0起可用)。

    • 日期键与类型=日期选项,包含datetime格式的值,

    • gtidkey (Operator 1.8.0起可用)用于类型=事务选项,包含精确的GTID,

    • 如果您有必要的备份存储,请参见backup.storages第部署/ cr.yaml配置文件,你可以设置backupSource.storageName输入部署/备份/ restore.yaml文件到相应的存储名称,

    • 如果没有必要的备份存储部署/ cr.yaml,设置存储详细信息,而不是使用backupSource.storageName字段:

      ...backupSource:s3:桶:S3-BUCKET-NAMEcredentialsSecret:my-cluster-name-backup-s3endpointUrl:https://URL-OF-THE-S3-COMPATIBLE-STORAGE地区:us-west-2...

    由此产生的restore.yaml文件可能如下所示:

    apiVersion:pxc.雷竞技下载官网percona.com/v1种类:雷竞技下载官网PerconaXtraDBClusterRestore元数据:名字:restore1规范:pxcCluster:cluster1backupName:backup1pitr:类型:日期日期:“2020-12-3109:37:13”backupSource:storageName:“s3-us-west”

    实际恢复过程可以通过如下方式启动:

    $kubectl应用- f部署/备份/ restore.yaml

    请注意

    将备份设置存储在单独的文件中,可以通过将其内容传递给kubectl应用命令如下:

    $猫<apiVersion:“pxc.p雷竞技下载官网ercona.com/v1”:“Perco雷竞技下载官网naXtraDBClusterRestore”元数据:名称:“restore1”规范:pxcCluster:“cluster1”backupName:“backup1”pitr:类型:日期日期:“2020-12-31 09:37:13”backupSource:storageName:“s3-us-west”EOF

    考虑到,操作员监视binlog采集器检测到的binlog间隙(如果raybet雷竞技竞猜在线官网有的话)。如果备份包含这样的间隙,操作员将用一个新的条件字段标记最近一次成功备份的状态,表明备份不能保证一致的时间点恢复。该条件如下所示:

    apiVersion:pxc.雷竞技下载官网percona.com/v1种类:雷竞技下载官网PerconaXtraDBClusterBackup元数据:名字:backup1规范:pxcCluster:pitrstorageName:minio状态:完成:“2022 - 11 - 25 - t15:57:29z”条件:-lastTransitionTime:“2022 - 11 - 25 - t15:57:48z”消息:未找到GTID set e41eb219-6cd8-11ed-94c8-9ebf697d3d20:21-22的Binlog原因:BinlogGapDetected状态:“假”类型:PITRReady状态:成功

    尝试从这样的备份(条件值为“False”)进行时间点恢复将导致以下错误:

    备份并不能保证与PITR一致的恢复。用percona.雷竞技下载官网com/unsafe-pitr注释PerconaXtraDBClusterRestore来强制执行。

    您可以禁用此检查并通过注释它来强制恢复pxc.雷竞技下载官网percona.com/unsafe-pitr如下:

    apiVersion:pxc.雷竞技下载官网percona.com/v1种类:雷竞技下载官网PerconaXtraDBClusterRestore元数据:注释:雷竞技下载官网percona.com/unsafe-pitr:“真正的”名字:restore2规范:pxcCluster:pitrbackupName:backup1pitr:类型:最新的backupSource:storageName:“minio-binlogs”

    删除不需要的备份¶

    存储备份的最大数量由backup.schedule.keep选项(只计算成功的备份)。较旧的备份将自动删除,因此存储的备份数量不会超过此数量。设置保持= 0或将此选项从部署/ cr.yaml禁用自动删除备份功能。

    手动删除以前保存的备份只需要备份名。该名称可以从以下命令返回的可用备份列表中获取:

    $kubectl得到pxc-backup

    在已知备份名称的情况下,删除备份的操作如下:

    $kubectl删除pxc-backup / < backup-name >

    拷贝备份到本地机器¶

    为以前保存的备份创建本地副本只需要备份名。该名称可以从以下命令返回的可用备份列表中获取:

    $kubectl得到pxc-backup

    在已知备份名称的情况下,可以通过如下方式将备份文件下载到本地:

    $/ /备份/ copy-backup.sh部署< backup-name >路径/ / dir

    例如,这个下载的备份可以恢复到本地安装的Percona Server:雷竞技下载官网

    $服务mysqld停止美元rm射频/var/lib/mysql/*美元猫xtrabackup.stream|xbstream- x- c/var/lib/mysql美元xtrabackup——准备——target-dir=/var/lib/mysql美元乔恩- rmysql: mysql/var/lib/mysql美元服务mysqld开始

    联系我们

    如需免费技术帮助,请访问Percona雷竞技下载官网社区论坛.

    要报告错误或提交功能请求,请打开JIRA票。

    付费支持而且管理或咨询服务,请联系雷竞技下载官网Percona销售.


    最近更新:2023-04-01
    雷竞技下载官网Percona LLC和/或其附属公司,©2009 - 2022
    用MkDocs材料

    饼干的同意

    我们使用cookie来识别您的重复访问和偏好,以及衡量我们文档的有效性,以及用户是否找到他们正在搜索的内容。在您的同意下,您正在帮助我们改进我们的文档。

    Baidu
    map