暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Elasticsearch快照索引与还原

运维笔谈 2025-03-03
254
Elasticsearch 快照功能(snapshot)允许用户将集群中的索引备份到外部存储系统中,一个完整索引的副本。这个功能主要用于数据备份和恢复。
  • 数据备份:定期对重要数据进行快照备份,防止数据因意外删除、系统故障或灾难等原因丢失。

  • 数据恢复:当数据丢失或集群出现故障时,可以通过快照快速恢复数据到指定的时间点。

  • 数据迁移:用于将数据从一个集群迁移到另一个集群,通过快照将数据备份导出,再导入目标集群。


以fs类型为例,列举几个简单的快照索引和还原的示例,抛砖引玉。若想存储在阿里云oss可以参考ES备份索引数据到阿里云OSS
1.创建快照仓库
    PUT _snapshot/my_backup
    {
      "type""fs",
      "settings": {
        "location""/mount/backups/my_backup"
      }
    }
    • my_backup:快照仓库的名称。

    • location:文件系统路径,Elasticsearch 将在这个路径下存储快照。


    2.创建快照

      PUT _snapshot/my_backup/snapshot_1
      {
        "indices""*",
        "ignore_unavailable"true,
        "include_global_state"false
      }
      • my_backup:快照仓库的名称。

      • snapshot_1:快照的名称。

      • indices:要备份的索引,* 表示所有索引。

      • ignore_unavailable:忽略不可用的索引。

      • include_global_state:是否包含集群的全局状态。


      3.查看快照

        GET _snapshot/my_backup/_all

        4.还原快照

          POST _snapshot/my_backup/snapshot_1/_restore
          {
            "indices""*",
            "ignore_unavailable"true,
            "include_global_state"false,
            "rename_pattern""index_(.+)",
            "rename_replacement""restored_index_$1"
          }
          • my_backup:快照仓库的名称。

          • snapshot_1:快照的名称。

          • indices:要还原的索引,* 表示所有索引。

          • ignore_unavailable:忽略不可用的索引。

          • include_global_state:是否包含集群的全局状态。

          • rename_pattern 和 rename_replacement:用于重命名还原的索引。


          5.删除快照

            DELETE _snapshot/my_backup/snapshot_1

            运维笔谈已经开通AI智能对话功能,解答有关运维日常工作中遇到的问题以及经验分享,感兴趣的大佬来和我聊聊吧!对话 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》pdf。

            文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论