Freezer - 备份云硬盘实现

这里freezer备份云硬盘实际上是调用了cinder-backup来实现的。

这里还要介绍下freezer依赖的几个基本库

freezer api底层的restful api框架是基于falcon实现的。falcon简介:https://falconframework.org/

freezer scheduler基于APScheduler来实现定时备份的功能

具体实现见:https://github.com/yaoice/freezer-api/commit/4c3d371c28bc4635049bef4c037b7d1d36e9c532

使用curl测试api(freezer api使用keystone v2)

# keystone v2获取token
curl -s -d ‘{"auth":{"passwordCredentials":{"username": "admin",
"password": "cloud"},"tenantName": "demo"}}‘ -H "Content-Type: application/json" http://192.168.141.6:5000/v2.0/tokens | python -m json.tool

# keystone v3获取token
curl -i   -H "Content-Type: application/json"   -d ‘
{ "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "admin",
          "domain": { "id": "default" },
          "password": "cloud"
        }
      }
    }
  }
}‘   http://localhost:5000/v3/auth/tokens ; echo

# 获取cinder所有的backups,纯属测试
curl -s -H "X-Auth-Token: fced5d5ae9e84009b3dca7972d7c5131"\ 
        -X GET        -H "Content-type: application/json"\ 
        http://192.168.141.6:8776/v2/b232965aeb9c4b3a883ce41b16394e3f/backups | python -m json.tool
        
# freezer获取backup list
curl -s -H "X-Auth-Token: fced5d5ae9e84009b3dca7972d7c5131" 
        -X GET 
        -H "Content-type: application/json" 
        http://192.168.141.6:9090/v1/cinderbackups | python -m json.tool

# freezer创建backup        
curl -s -H "X-Auth-Token: fd60f3b93b2841e893269b887572c26d" 
        -X POST 
        -H "Content-type: application/json" 
        -d ‘{"volume_id": "438de34e-ef9e-4f4f-b047-600ab6229cc0"}‘  
        http://192.168.141.6:9090/v1/cinderbackups

# freezer删除backup
curl -s -H "X-Auth-Token: 76744b82dd8c49c490eb7c0ca5f33824"
        -X DELETE
        -H "Content-type: application/json"
        http://192.168.141.6:9090/v1/cinderbackups/1ffe9901-43de-490e-b675-0bb92e50c4f4

# freezer还原备份,并创建一个新volume
curl -s -H "X-Auth-Token: 232685c229fd48d4b24629f7748bceda" 
        -X POST 
        -H "Content-type: application/json"  
        http://192.168.141.6:9090/v1/cinderrestores/ed3e05bd-c892-441c-b9c6-226bbb030794

# freezer针对某个volume备份还原
curl -s -H "X-Auth-Token: 232685c229fd48d4b2a629f7748bceda"
        -X POST 
        -H "Content-type: application/json" 
        -d ‘{"volume_id": "496a7db9-3197-4658-9cc6-ef496f2b0cd1"}‘  
        http://192.168.141.6:9090/v1/cinderrestores/da1b7290-5e56-43ff-b95f-a1c511b305d2

参考链接

http://blog.scottlowe.org/2014/02/19/using-curl-to-interact-with-a-restful-api/

时间: 2024-10-17 07:54:15

Freezer - 备份云硬盘实现的相关文章

Openstack之路(九)云硬盘服务Cinder

Cinder的概述 Openstack块存储服务(Cinder)为云主机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和Openstack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和卷类型的功能. Cinder的组件 Cinder-API 接收API请求,调用Cinder-Volume执行操作. Cinder-Volume 管理Volume的服务,与Volume Provider协调工作,管理Volume的生命周期.运行Cinder-Volume服务的节点被称作为存储节点.

Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的grub跟grub2,因为前阵子用ghost恢复windows的时候出现错误,导致分区表被破坏,无法进入系统.今天给大家介绍下如何备份跟还原我们的硬盘主引导扇区.首先我来介绍下这个硬盘主引导扇区,因为对于这个主引导记录MBR跟这个硬盘分区表DPT的关系,可能有的朋友还不是那么清晰. 硬盘主引导扇区(硬盘的

云硬盘error、error deleting、deleting状态(数据库基本操作小记)

起因是发现云硬盘显示删光了,但还是创建不了新的云硬盘,在api节点上用cinder list可以看到已经没有硬盘了,但是创建硬盘时,还是会提示配额满了,这是因为数据库里的记录没有更新,对数据库的操作记录如下,以便以后参考: 登录50数据库节点(需要登录主节点,可以在mysql数据库中输入show master status;或者show slave status;来查看,比如show master status;这个命令,如果返回了一个表,那么证明就是主了.目前L版中50.51.52都是主.)

openstack I版的搭建一十--基于glusterfs的云硬盘

计算节点和控制节点上都安装一下 cd /etc/yum.repos.d/ wget http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.3/CentOS/glusterfs-epel.repo yum install glusterfs-server 验证一下两个节点是否安装成功 [[email protected] ~]# glusterfs -V glusterfs 3.4.5 built on Jul 24 2014 19:1

Windows Server 2012 云硬盘如何挂载

那么首先科普一下,云服务器的数据盘(也就是我们买的云硬盘)默认是脱机状态,不自动挂载的.下面来教大家win2012环境如何挂载硬盘,其实和03.08的大同小异就是入口不同了. 点击“工具”中的“计算机管理” 选择“磁盘管理” 在磁盘1的按钮处右击,选择“联机” 联机之后再右击,选择“初始化磁盘” 点击“确定” 在未分配的空间处右击,选择“新建简单卷” 点击“下一步” 点击“下一步” 点击“下一步” 点击“下一步” 点击“完成” 再看一下我的电脑就发现云磁盘已经挂载成功了

OpenStack实践系列⑨云硬盘服务Cinder

OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统),MooserFS(缺点Metadata数据丢失,虚拟机就毁了) 11.2网络类型选择 对象存储:swift,S3 8.2 cinder控制节点的部署 安装cinder [[email protected] ~]# yum install openstack-cinder python-cinderc

openstack宿主机故障时从云硬盘恢复虚拟机

1.在web界面找到要恢复的虚拟机 2.查看虚拟机的云硬盘ID 3.列如:云硬盘的ID是 49a426c8-6a9c-4047-a100-8ad07885952c 4.从数据库cinder库中,卸载云硬盘和虚拟机的挂载 1).查看此云硬盘的信息 mysql> select * from volumes where id="49a426c8-6a9c-4047-a100-8ad07885952c"; +---------------------+------------------

EST云硬盘修复系统

硬盘云维修系统:硬盘经过长时间运行, 到达无故障运行峰值后, 将不可避免的出现各种故障, 例如常见的:读写故障(一般称为坏道), 电路板故障, 固件故障, 等等.EST硬盘云维修系统, 通过云端服务器强大的处理能力, 使用智能的在线判断故障范围, 针对性地下发维修指令, 尽可能把硬盘恢复到正常工作状态. EST硬盘云维修系统, 最高可同时对多达128个设备进行维修, 通过云端服务器的精准控制, 大大提高维修效率及成功率. 试用下载:http://www.hddup.com/

Linux下dd和od命令备份查看硬盘mbr,并用vim修改!

主引导记录(Master Boot Record,MBR),位于一个硬盘的0柱面.0盘面.1扇区,共512字节.具体划分依次为:引导代码区440字节.磁盘签名4字节.空白(Ox0000)2字节.MBR分区表(Disk Partition Table,DPT)64字节.结束标志(Ox55AA)2字节.其中的MBR分区表(DPT)区别于另一种“全局唯一标识分区表(GUID Partition Table,GPT)”.本文今天仅讨论MBR及DPT. 废话不多说了,下面先介绍如何备份.恢复MBR及DPT